dummyDbi = $this->createDbiDummy(); $this->dbi = $this->createDatabaseInterface($this->dummyDbi); $GLOBALS['dbi'] = $this->dbi; parent::loadContainerBuilder(); parent::loadDbiIntoContainerBuilder(); $GLOBALS['server'] = 1; $GLOBALS['text_dir'] = 'ltr'; $GLOBALS['PMA_PHP_SELF'] = 'index.php'; parent::loadResponseIntoContainerBuilder(); } public function testGetEnumValuesError(): void { $this->dummyDbi->addResult('SHOW COLUMNS FROM `cvv`.`enums` LIKE \'set\'', false); $_POST = [ 'ajax_request' => true, 'db' => 'cvv', 'table' => 'enums', 'column' => 'set', 'curr_value' => 'b&c', ]; $GLOBALS['db'] = $_POST['db']; $GLOBALS['table'] = $_POST['table']; $GLOBALS['containerBuilder']->setParameter('db', $GLOBALS['db']); $GLOBALS['containerBuilder']->setParameter('table', $GLOBALS['table']); /** @var EnumValuesController $sqlController */ $sqlController = $GLOBALS['containerBuilder']->get(EnumValuesController::class); $sqlController($this->createStub(ServerRequest::class)); $this->assertResponseWasNotSuccessfull(); $this->assertSame( ['message' => 'Error in processing request'], $this->getResponseJsonResult() ); } public function testGetEnumValuesSuccess(): void { $this->dummyDbi->addResult( 'SHOW COLUMNS FROM `cvv`.`enums` LIKE \'set\'', [ [ 'set', 'set(\'\',\'a&b\',\'b&c\',\'vrai&\',\'\')', 'No', '', 'NULL', '', ], ], [ 'Field', 'Type', 'Null', 'Key', 'Default', 'Extra', ] ); $_POST = [ 'ajax_request' => true, 'db' => 'cvv', 'table' => 'enums', 'column' => 'set', 'curr_value' => 'b&c', ]; $GLOBALS['db'] = $_POST['db']; $GLOBALS['table'] = $_POST['table']; $GLOBALS['containerBuilder']->setParameter('db', $GLOBALS['db']); $GLOBALS['containerBuilder']->setParameter('table', $GLOBALS['table']); /** @var EnumValuesController $sqlController */ $sqlController = $GLOBALS['containerBuilder']->get(EnumValuesController::class); $sqlController($this->createStub(ServerRequest::class)); $this->assertResponseWasSuccessfull(); $this->assertSame( [ 'dropdown' => '' . "\n", ], $this->getResponseJsonResult() ); } }