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 testGeneralLog(): void { $value = ['sql_text' => 'insert sql_text', '#' => 10, 'argument' => 'argument argument2']; $value2 = ['sql_text' => 'update sql_text', '#' => 11, 'argument' => 'argument3 argument4']; $response = new ResponseRenderer(); $response->setAjax(true); $controller = new GeneralLogController( $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'], ['limitTypes', null, '1'], ]); $this->dummyDbi->addSelectDb('mysql'); $controller($request); $this->dummyDbi->assertAllSelectsConsumed(); $ret = $response->getJSONResult(); $resultRows = [$value, $value2]; $resultSum = ['argument' => 10, 'TOTAL' => 21, 'argument3' => 11]; $this->assertEquals(2, $ret['message']['numRows']); $this->assertEquals($resultRows, $ret['message']['rows']); $this->assertEquals($resultSum, $ret['message']['sum']); } }