createDatabaseInterface(); $GLOBALS['server'] = 1; $GLOBALS['db'] = 'PMA_db'; $GLOBALS['table'] = 'PMA_table'; $GLOBALS['lang'] = 'en'; $GLOBALS['text_dir'] = 'ltr'; $GLOBALS['cfg']['Server']['DisableIS'] = true; $GLOBALS['cfg']['Server']['tracking_default_statements'] = 'DELETE'; $_SESSION['relation'] = []; $_SESSION['relation'][$GLOBALS['server']] = RelationParameters::fromArray([ 'db' => 'pmadb', 'tracking' => 'tracking', 'trackingwork' => true, ])->toArray(); $template = new Template(); $this->tracking = new Tracking( new SqlQueryForm($template, $GLOBALS['dbi']), $template, new Relation($GLOBALS['dbi']), $GLOBALS['dbi'], $this->createStub(TrackingChecker::class), ); } /** * Tests for filter() method. */ public function testFilter(): void { $data = [ ['date' => '2012-01-01 12:34:56', 'username' => 'username1', 'statement' => 'statement1'], ['date' => '2013-01-01 12:34:56', 'username' => 'username2', 'statement' => 'statement2'], ]; $filterUsers = ['username1']; $ret = $this->tracking->filter( $data, $filterUsers, new DateTimeImmutable('2010-01-01 12:34:56'), new DateTimeImmutable('2020-01-01 12:34:56'), ); $this->assertEquals('username1', $ret[0]['username']); $this->assertEquals('statement1', $ret[0]['statement']); } public function testGetHtmlForMain(): void { $html = $this->tracking->getHtmlForMainPage('PMA_db', 'PMA_table', [], 'ltr'); $this->assertStringContainsString('PMA_db.PMA_table', $html); $this->assertStringContainsString('