removeDefaultResults(); $dummyDbi->addSelectDb('test_db'); $dummyDbi->addResult('SHOW TABLES FROM `test_db`;', [['test_table']], ['Tables_in_test_db']); $dummyDbi->addResult( 'SHOW TABLE STATUS FROM `test_db` WHERE `Name` IN (\'test_table\')', [['test_table', 'InnoDB', '10', 'Dynamic', '3', '10922', '32768', '0', '32768', '0', '7', '2023-05-29 14:53:55', '2023-05-29 14:53:55', null, 'utf8mb4_general_ci', null, '', '', '0', 'N']], ['Name', 'Engine', 'Version', 'Row_format', 'Rows', 'Avg_row_length', 'Data_length', 'Max_data_length', 'Index_length', 'Data_free', 'Auto_increment', 'Create_time', 'Update_time', 'Check_time', 'Collation', 'Checksum', 'Create_options', 'Comment', 'Max_index_length', 'Temporary'] ); $dummyDbi->addResult( 'SHOW EVENTS FROM `test_db`', [['test_db', 'test_event', 'definer@localhost', 'ONE TIME', 'ENABLED']], ['Db', 'Name', 'Definer', 'Type', 'Status'] ); $dummyDbi->addResult('SELECT CURRENT_USER();', [['definer@localhost']], ['CURRENT_USER()']); $dummyDbi->addResult( "SELECT `PRIVILEGE_TYPE` FROM `INFORMATION_SCHEMA`.`USER_PRIVILEGES` WHERE GRANTEE='''definer''@''localhost''' AND PRIVILEGE_TYPE='EVENT'", [['EVENT']], ['PRIVILEGE_TYPE'] ); $dummyDbi->addResult( 'SHOW GLOBAL VARIABLES LIKE \'event_scheduler\'', [['event_scheduler', 'OFF']], ['Variable_name', 'Value'] ); // phpcs:enable $dbi = DatabaseInterface::load($dummyDbi); $GLOBALS['dbi'] = $dbi; $response = new ResponseRenderer(); $template = new Template(); (new EventsController($response, $template, 'test_db', new Events($dbi, $template, $response), $dbi))(); $actual = $response->getHTMLResult(); // phpcs:disable Generic.Files.LineLength.TooLong $expected = <<<'HTML'
HTML; // phpcs:enable self::assertSame($expected, $actual); } public function testWithoutEvents(): void { $GLOBALS['server'] = 2; $GLOBALS['text_dir'] = 'ltr'; $GLOBALS['PMA_PHP_SELF'] = 'index.php'; $GLOBALS['db'] = 'test_db'; $GLOBALS['cfg']['Server']['DisableIS'] = true; $dummyDbi = new DbiDummy(); // phpcs:disable Generic.Files.LineLength.TooLong $dummyDbi->removeDefaultResults(); $dummyDbi->addSelectDb('test_db'); $dummyDbi->addResult('SHOW TABLES FROM `test_db`;', [['test_table']], ['Tables_in_test_db']); $dummyDbi->addResult( 'SHOW TABLE STATUS FROM `test_db` WHERE `Name` IN (\'test_table\')', [['test_table', 'InnoDB', '10', 'Dynamic', '3', '10922', '32768', '0', '32768', '0', '7', '2023-05-29 14:53:55', '2023-05-29 14:53:55', null, 'utf8mb4_general_ci', null, '', '', '0', 'N']], ['Name', 'Engine', 'Version', 'Row_format', 'Rows', 'Avg_row_length', 'Data_length', 'Max_data_length', 'Index_length', 'Data_free', 'Auto_increment', 'Create_time', 'Update_time', 'Check_time', 'Collation', 'Checksum', 'Create_options', 'Comment', 'Max_index_length', 'Temporary'] ); $dummyDbi->addResult( 'SHOW EVENTS FROM `test_db`', [], ['Db', 'Name', 'Definer', 'Type', 'Status'] ); $dummyDbi->addResult('SELECT CURRENT_USER();', [['definer@localhost']], ['CURRENT_USER()']); $dummyDbi->addResult( "SELECT `PRIVILEGE_TYPE` FROM `INFORMATION_SCHEMA`.`USER_PRIVILEGES` WHERE GRANTEE='''definer''@''localhost''' AND PRIVILEGE_TYPE='EVENT'", [['EVENT']], ['PRIVILEGE_TYPE'] ); $dummyDbi->addResult( 'SHOW GLOBAL VARIABLES LIKE \'event_scheduler\'', [['event_scheduler', 'OFF']], ['Variable_name', 'Value'] ); // phpcs:enable $dbi = DatabaseInterface::load($dummyDbi); $GLOBALS['dbi'] = $dbi; $response = new ResponseRenderer(); $template = new Template(); (new EventsController($response, $template, 'test_db', new Events($dbi, $template, $response), $dbi))(); $actual = $response->getHTMLResult(); // phpcs:disable Generic.Files.LineLength.TooLong $expected = <<<'HTML' HTML; // phpcs:enable self::assertSame($expected, $actual); } }