Kernel : Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
Disable function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Safe mode : OFF
Host : diestoffstrasse.com | Server ip : 127.0.0.1 | Your ip : 127.0.0.1 | Time @ Server : 24 Aug 2025 15:11:04
MySQL : OFF | MSSQL : OFF | cURL : ON | Oracle : OFF | wget : ON | Perl : ON

/home/dev2.destoffenstraat.com/vendor-1/magento/framework/Indexer/Test/Unit/

HOME about upload exec mass file domain root vuln newfile newfolder kill me

File Path : /home/dev2.destoffenstraat.com/vendor-1/magento/framework/Indexer/Test/Unit/IndexStructureTest.php

<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Indexer\Test\Unit; use Magento\Framework\App\ResourceConnection; use Magento\Framework\DB\Adapter\AdapterInterface; use Magento\Framework\DB\Ddl\Table; use Magento\Framework\Indexer\IndexStructure; use Magento\Framework\Indexer\ScopeResolver\FlatScopeResolver; use Magento\Framework\Indexer\ScopeResolver\IndexScopeResolver; use Magento\Framework\Search\Request\Dimension; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager; use PHPUnit\Framework\MockObject\MockObject; use PHPUnit\Framework\TestCase; /** * Test for \Magento\Framework\Indexer\IndexStructure */ class IndexStructureTest extends TestCase { /** * @var IndexScopeResolver|MockObject */ private $indexScopeResolver; /** * @var FlatScopeResolver|MockObject */ private $flatScopeResolver; /** * @var ResourceConnection|MockObject */ private $resource; /** * @var AdapterInterface|MockObject */ private $connectionInterface; /** * @var IndexStructure */ private $target; protected function setUp(): void { $this->connectionInterface = $this->getMockBuilder(AdapterInterface::class) ->disableOriginalConstructor() ->getMockForAbstractClass(); $this->resource = $this->getMockBuilder(ResourceConnection::class) ->setMethods(['getConnection']) ->disableOriginalConstructor() ->getMock(); $this->resource->expects($this->atLeastOnce()) ->method('getConnection') ->willReturn($this->connectionInterface); $this->indexScopeResolver = $this->getMockBuilder( IndexScopeResolver::class ) ->setMethods(['resolve']) ->disableOriginalConstructor() ->getMock(); $this->flatScopeResolver = $this->getMockBuilder( FlatScopeResolver::class ) ->setMethods(['resolve']) ->disableOriginalConstructor() ->getMock(); $objectManager = new ObjectManager($this); $this->target = $objectManager->getObject( IndexStructure::class, [ 'resource' => $this->resource, 'indexScopeResolver' => $this->indexScopeResolver, 'flatScopeResolver' => $this->flatScopeResolver ] ); } /** * @param string $table * @param array $dimensions * @param bool $isTableExist */ public function testDelete() { $index = 'index_name'; $dimensions = [ 'index_name_scope_3' => $this->createDimensionMock('scope', 3), 'index_name_scope_5' => $this->createDimensionMock('scope', 5), 'index_name_scope_1' => $this->createDimensionMock('scope', 1), ]; $expectedTable = 'index_name_scope3_scope5_scope1'; $this->indexScopeResolver->expects($this->once()) ->method('resolve') ->with($index, $dimensions) ->willReturn($expectedTable); $this->flatScopeResolver->expects($this->once()) ->method('resolve') ->with($index, $dimensions) ->willReturn($index . '_flat'); $position = 0; $position = $this->mockDropTable($position, $expectedTable, true); $this->mockDropTable($position, $index . '_flat', true); $this->target->delete($index, $dimensions); } public function testCreateWithEmptyFields() { $fields = [ [ 'name' => 'fieldName1', 'type' => 'fieldType1', 'size' => 'fieldSize1', ], [ 'name' => 'fieldName2', 'type' => 'fieldType2', 'size' => 'fieldSize2', ], [ 'name' => 'fieldName3', 'type' => 'fieldType3', 'size' => 'fieldSize3', ], [ 'name' => 'fieldName3', 'dataType' => 'varchar', 'type' => 'text', 'size' => '255', ], [ 'name' => 'fieldName3', 'dataType' => 'mediumtext', 'type' => 'text', 'size' => '16777216', ], [ 'name' => 'fieldName3', 'dataType' => 'text', 'type' => 'text', 'size' => '65536', ] ]; $index = 'index_name'; $expectedTable = 'index_name_scope3_scope5_scope1'; $dimensions = [ 'index_name_scope_3' => $this->createDimensionMock('scope', 3), 'index_name_scope_5' => $this->createDimensionMock('scope', 5), 'index_name_scope_1' => $this->createDimensionMock('scope', 1), ]; $position = 0; $this->indexScopeResolver->expects($this->once()) ->method('resolve') ->with($index, $dimensions) ->willReturn($expectedTable); $this->flatScopeResolver->expects($this->once()) ->method('resolve') ->with($index, $dimensions) ->willReturn($index . '_flat'); $position = $this->mockFulltextTable($position, $expectedTable, true); $this->mockFlatTable($position, $index . '_flat'); $this->target->create($index, $fields, $dimensions); } /** * @param string $name * @param string $value * @return MockObject */ private function createDimensionMock($name, $value) { $dimension = $this->getMockBuilder(Dimension::class) ->setMethods(['getName', 'getValue']) ->disableOriginalConstructor() ->getMock(); $dimension->expects($this->any()) ->method('getName') ->willReturn($name); $dimension->expects($this->any()) ->method('getValue') ->willReturn($value); return $dimension; } /** * @param $callNumber * @param $tableName * @param $isTableExist * @return mixed */ private function mockDropTable($callNumber, $tableName, $isTableExist) { $this->connectionInterface->expects($this->at($callNumber++)) ->method('isTableExists') ->with($tableName) ->willReturn($isTableExist); if ($isTableExist) { $this->connectionInterface->expects($this->at($callNumber++)) ->method('dropTable') ->with($tableName) ->willReturn(true); } return $callNumber; } /** * @param $callNumber * @param $tableName * @return mixed */ private function mockFlatTable($callNumber, $tableName) { $table = $this->getMockBuilder(Table::class) ->setMethods(['addColumn', 'getColumns']) ->disableOriginalConstructor() ->getMock(); $table->expects($this->any()) ->method('addColumn') ->willReturnSelf(); $this->connectionInterface->expects($this->at($callNumber++)) ->method('newTable') ->with($tableName) ->willReturn($table); $this->connectionInterface->expects($this->at($callNumber++)) ->method('createTable') ->with($table) ->willReturnSelf(); return $callNumber; } /** * @param $callNumber * @param $tableName * @return mixed */ private function mockFulltextTable($callNumber, $tableName) { $table = $this->getMockBuilder(Table::class) ->setMethods(['addColumn', 'addIndex']) ->disableOriginalConstructor() ->getMock(); $table->expects($this->at(0)) ->method('addColumn') ->with( 'entity_id', Table::TYPE_INTEGER, 10, ['unsigned' => true, 'nullable' => false], 'Entity ID' )->willReturnSelf(); $table->expects($this->at(1)) ->method('addColumn') ->with( 'attribute_id', Table::TYPE_TEXT, 255, ['unsigned' => true, 'nullable' => true] )->willReturnSelf(); $table->expects($this->at(2)) ->method('addColumn') ->with( 'data_index', Table::TYPE_TEXT, '4g', ['nullable' => true], 'Data index' )->willReturnSelf(); $table->expects($this->at(3)) ->method('addIndex') ->with( 'idx_primary', ['entity_id', 'attribute_id'], ['type' => AdapterInterface::INDEX_TYPE_PRIMARY] )->willReturnSelf(); $table->expects($this->at(4)) ->method('addIndex') ->with( 'FTI_FULLTEXT_DATA_INDEX', ['data_index'], ['type' => AdapterInterface::INDEX_TYPE_FULLTEXT] )->willReturnSelf(); $this->connectionInterface->expects($this->at($callNumber++)) ->method('newTable') ->with($tableName) ->willReturn($table); $this->connectionInterface->expects($this->at($callNumber++)) ->method('createTable') ->with($table) ->willReturnSelf(); return $callNumber; } }