/**
  * @dataProvider errorRequestsProvider
  */
 public function testGetErrorRequests(array $logs, $expected)
 {
     $this->logAdapter->expects($this->once())->method('getLogs')->willReturn($logs);
     $this->requestFormatter->expects($this->atMost(count($logs)))->method('format');
     $this->responseFormatter->expects($this->atMost(count($logs)))->method('format');
     $response = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Response')->getMock();
     $request = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\Request')->getMock();
     $this->dataCollector->collect($request, $response);
     $this->assertCount($expected, $this->dataCollector->getErrorRequests());
 }
Exemplo n.º 2
0
 /**
  * @dataProvider logsProvider
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function testClearLogs(array $input, array $expected)
 {
     $this->assertCount(0, $this->logAdapter->getLogs());
     foreach ($input as $data) {
         call_user_func_array([$this->logAdapter, 'log'], $data);
     }
     $this->assertCount(count($input), $this->logAdapter->getLogs());
     $this->logAdapter->clearLogs();
     $this->assertCount(0, $this->logAdapter->getLogs());
 }
Exemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function collect(Request $request, Response $response, \Exception $exception = null)
 {
     foreach ($this->logAdapter->getLogs() as $log) {
         $requestId = spl_object_hash($log['extras']['request']);
         if (isset($this->data['requests'][$requestId])) {
             continue;
         }
         /** @var RequestInterface $guzzleRequest */
         $guzzleRequest = $log['extras']['request'];
         /** @var ResponseInterface $guzzleResponse */
         $guzzleResponse = $log['extras']['response'];
         $datum['message'] = $log['message'];
         $datum['time'] = $log['extras']['time'];
         $datum['request'] = $this->requestFormatter->format($guzzleRequest);
         $datum['response'] = $this->responseFormatter->format($guzzleRequest, $guzzleResponse);
         $datum['is_error'] = $this->isError($guzzleResponse);
         $datum['status_code'] = $guzzleResponse->getStatusCode();
         $datum['method'] = $guzzleRequest->getMethod();
         $this->data['requests'][$requestId] = $datum;
     }
 }