function let(LdapManager $ldap) { $logger = new LdapProfilerLogger(); // Add some log data... $addOperation = (new AddOperation())->setAttributes(['username' => 'foo', 'unicodePwd' => 'bar']); $deleteOperation = new DeleteOperation('foo'); $addLog = new LogOperation($addOperation); $addLog->setDomain('foo.bar'); $addLog->setError('fail'); $deleteLog = new LogOperation($deleteOperation); $deleteLog->setDomain('example.local'); /** @var LogOperation $log */ foreach ([$addLog, $deleteLog] as $log) { $logger->start($log->start()); $logger->end($log->stop()); } $ldap->getDomains()->willReturn(['foo.bar', 'example.local']); $this->beConstructedWith($logger, $ldap); }
function it_should_call_the_logger_error_method_when_the_log_contains_an_error($logger) { $log = new LogOperation((new DeleteOperation('foo'))->setServer('bar')); $log->setError('foo'); $log->setDomain('foo.bar'); $log->start()->stop(); $logger->error('(foo.bar on bar) End Delete Operation - Error: foo, Completed in ' . round(($log->getStopTime() - $log->getStartTime()) * 1000) . " ms.")->shouldBeCalled(); $this->start($log); }
/** * @param LogOperation $log * @return string */ protected function getLogMessage(LogOperation $log) { $startOrStop = is_null($log->getStopTime()) ? 'Start' : 'End'; $message = "(" . $log->getDomain() . " on " . $log->getOperation()->getServer() . ") {$startOrStop} " . $log->getOperation()->getName() . " Operation - "; $params = []; if (is_null($log->getStopTime())) { foreach ($log->getOperation()->getLogArray() as $key => $value) { if ($key != "Server") { $params[] = "{$key}: {$value}"; } } } else { if (!is_null($log->getError())) { $params[] = "Error: " . $log->getError(); } $params[] = "Completed in " . round(($log->getStopTime() - $log->getStartTime()) * 1000) . " ms."; } $message .= implode(', ', $params); return $message; }
/** * {@inheritdoc} */ public function end(LogOperation $operation) { if (!is_null($operation->getError())) { $this->errors[] = $operation; } }
/** * @param LogOperation $operation */ public function end(LogOperation $operation) { throw new \InvalidArgumentException("End=" . $operation->getOperation()->getDn()); }