/** * Tests that the logged query object is passed to the built-in logger using * the correct scope * * @return void */ public function testLogFunction() { $logger = new QueryLogger(); $query = new LoggedQuery(); $query->query = 'SELECT a FROM b where a = ? AND b = ? AND c = ?'; $query->params = ['string', '3', null]; $engine = $this->getMock('\\Cake\\Log\\Engine\\BaseLog', ['log'], ['scopes' => ['queriesLog']]); Log::engine('queryLoggerTest', $engine); $engine2 = $this->getMock('\\Cake\\Log\\Engine\\BaseLog', ['log'], ['scopes' => ['foo']]); Log::engine('queryLoggerTest2', $engine2); $engine2->expects($this->never())->method('log'); $logger->log($query); }
/** * Wrapper function for the logger object, useful for unit testing * or for overriding in subclasses. * * @param \Cake\Database\Log\LoggedQuery $query to be written in log * @return void */ protected function _log($query) { $this->_logs[] = $query; parent::_log($query); }