dummyDbi = $this->createDbiDummy(); $this->dbi = $this->createDatabaseInterface($this->dummyDbi); $GLOBALS['dbi'] = $this->dbi; $GLOBALS['server'] = 1; $GLOBALS['db'] = 'db'; $GLOBALS['table'] = 'table'; $GLOBALS['cfg']['Server']['DisableIS'] = false; $GLOBALS['cfg']['Server']['host'] = 'localhost'; $this->data = new Data($this->dbi, $GLOBALS['config']); } public function testSlowLog(): void { $response = new ResponseRenderer(); $response->setAjax(true); $controller = new SlowLogController( $response, new Template(), $this->data, new Monitor($GLOBALS['dbi']), $GLOBALS['dbi'], ); $request = $this->createStub(ServerRequest::class); $request->method('getParsedBodyParam')->willReturnMap([ ['time_start', null, '0'], ['time_end', null, '10'], ]); $this->dummyDbi->addSelectDb('mysql'); $controller($request); $this->dummyDbi->assertAllSelectsConsumed(); $ret = $response->getJSONResult(); $resultRows = [ [ 'sql_text' => 'insert sql_text', '#' => 11, ], [ 'sql_text' => 'update sql_text', '#' => 10, ], ]; $resultSum = [ 'insert' => 11, 'TOTAL' => 21, 'update' => 10, ]; $this->assertEquals(2, $ret['message']['numRows']); $this->assertEquals($resultRows, $ret['message']['rows']); $this->assertEquals($resultSum, $ret['message']['sum']); } }