createDatabaseInterface(); } public function testQueryAnalyzer(): void { $config = Config::getInstance(); $config->selectedServer['DisableIS'] = false; $config->selectedServer['host'] = 'localhost'; SessionCache::set('profiling_supported', true); $value = ['sql_text' => 'insert sql_text', '#' => 10, 'argument' => 'argument argument2']; $response = new ResponseRenderer(); $dummyDbi = new DbiDummy(); $dbi = $this->createDatabaseInterface($dummyDbi); $dummyDbi->cachedAffectedRows = 123; $statusData = new Data($dbi, $config); $controller = new QueryAnalyzerController( $response, new Template($config), $statusData, new Monitor($dbi), $dbi, ); $request = ServerRequestFactory::create()->createServerRequest('POST', 'https://example.com/') ->withParsedBody([ 'ajax_request' => 'true', 'database' => 'database', 'query' => 'query', ]); $dummyDbi->addSelectDb('mysql'); $dummyDbi->addSelectDb('database'); $controller($request); $dummyDbi->assertAllSelectsConsumed(); $ret = $response->getJSONResult(); self::assertSame(123, $ret['message']['affectedRows']); self::assertSame( [], $ret['message']['profiling'], ); self::assertEquals( [$value], $ret['message']['explain'], ); } }