/**
  * {@inheritDoc}
  */
 public function onFinish(ResultsCollection $results)
 {
     if ($results->getFailureCount() > 0 || $results->getWarningCount() > 0 || $results->getUnknownCount() > 0) {
         $body = '';
         foreach ($results as $check) {
             /* @var $check  CheckInterface */
             /* @var $result ResultInterface */
             $result = isset($results[$check]) ? $results[$check] : null;
             if ($result instanceof ResultInterface) {
                 $body .= sprintf("Check: %s\n", $check->getLabel());
                 $body .= sprintf("Message: %s\n\n", $result->getMessage());
             }
         }
         $message = Swift_Message::newInstance()->setSubject($this->subject)->setFrom($this->sender)->setTo($this->recipient)->setBody($body);
         $this->mailer->send($message);
     }
 }
 /**
  * @param Collection $results
  * @return array
  */
 protected function getResultCollectionToArray(Collection $results)
 {
     foreach ($results as $item) {
         $result = $results[$item];
         $data[$item->getLabel()] = array('result' => $this->getResultName($result), 'message' => $result->getMessage(), 'data' => $result->getData());
     }
     return array('details' => $data, 'success' => $results->getSuccessCount(), 'warning' => $results->getWarningCount(), 'failure' => $results->getFailureCount(), 'skip' => $results->getSkipCount(), 'unknown' => $results->getUnknownCount(), 'passed' => $results->getFailureCount() === 0);
 }
Example #3
0
 /**
  * This method is called when Runner has finished its run.
  *
  * @param  ResultsCollection $results Collection of Results for performed Checks.
  * @return void
  */
 public function onFinish(ResultsCollection $results)
 {
     $this->console->writeLine();
     // Display information that the check has been aborted.
     if ($this->stopped) {
         $this->console->writeLine('Diagnostics aborted because of a failure.', Color::RED);
     }
     // Display a summary line
     if ($results->getFailureCount() == 0 && $results->getWarningCount() == 0 && $results->getUnknownCount() == 0) {
         $line = 'OK (' . $this->total . ' diagnostic checks)';
         $this->console->writeLine(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::GREEN);
     } elseif ($results->getFailureCount() == 0) {
         $line = $results->getWarningCount() . ' warnings, ';
         $line .= $results->getSuccessCount() . ' successful checks';
         if ($results->getSkipCount() > 0) {
             $line .= ', ' . $results->getSkipCount() . ' skipped checks';
         }
         if ($results->getUnknownCount() > 0) {
             $line .= ', ' . $results->getUnknownCount() . ' unknown check results';
         }
         $line .= '.';
         $this->console->writeLine(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::YELLOW);
     } else {
         $line = $results->getFailureCount() . ' failures, ';
         $line .= $results->getWarningCount() . ' warnings, ';
         $line .= $results->getSuccessCount() . ' successful checks';
         if ($results->getSkipCount() > 0) {
             $line .= ', ' . $results->getSkipCount() . ' skipped checks';
         }
         if ($results->getUnknownCount() > 0) {
             $line .= ', ' . $results->getUnknownCount() . ' unknown check results';
         }
         $line .= '.';
         $this->console->writeLine(str_pad($line, $this->width, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::RED);
     }
     $this->console->writeLine();
 }
 public function testCounters()
 {
     $this->assertEquals(0, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(0, $this->collection->getFailureCount());
     $this->assertEquals(0, $this->collection->getUnknownCount());
     $success1 = new Success();
     $test1 = new AlwaysSuccess();
     $this->collection[$test1] = $success1;
     $this->assertEquals(1, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(0, $this->collection->getFailureCount());
     $this->assertEquals(0, $this->collection->getUnknownCount());
     $success2 = new Success();
     $test2 = new AlwaysSuccess();
     $this->collection[$test2] = $success2;
     $this->assertEquals(2, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(0, $this->collection->getFailureCount());
     $this->assertEquals(0, $this->collection->getUnknownCount());
     $failure1 = new Failure();
     $test3 = new AlwaysSuccess();
     $this->collection[$test3] = $failure1;
     $this->assertEquals(2, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(1, $this->collection->getFailureCount());
     $this->assertEquals(0, $this->collection->getUnknownCount());
     $warning1 = new Warning();
     $test4 = new AlwaysSuccess();
     $this->collection[$test4] = $warning1;
     $this->assertEquals(2, $this->collection->getSuccessCount());
     $this->assertEquals(1, $this->collection->getWarningCount());
     $this->assertEquals(1, $this->collection->getFailureCount());
     $this->assertEquals(0, $this->collection->getUnknownCount());
     $unknown = new Unknown();
     $test5 = new AlwaysSuccess();
     $this->collection[$test5] = $unknown;
     $this->assertEquals(2, $this->collection->getSuccessCount());
     $this->assertEquals(1, $this->collection->getWarningCount());
     $this->assertEquals(1, $this->collection->getFailureCount());
     $this->assertEquals(1, $this->collection->getUnknownCount());
     $failure2 = new Failure();
     $this->collection[$test2] = $failure2;
     $this->assertEquals(1, $this->collection->getSuccessCount());
     $this->assertEquals(1, $this->collection->getWarningCount());
     $this->assertEquals(2, $this->collection->getFailureCount());
     $this->assertEquals(1, $this->collection->getUnknownCount());
     unset($this->collection[$test4]);
     $this->assertEquals(1, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(2, $this->collection->getFailureCount());
     $this->assertEquals(1, $this->collection->getUnknownCount());
     unset($this->collection[$test2]);
     $this->assertEquals(1, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(1, $this->collection->getFailureCount());
     $this->assertEquals(1, $this->collection->getUnknownCount());
     unset($this->collection[$test5]);
     $this->assertEquals(1, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(1, $this->collection->getFailureCount());
     $this->assertEquals(0, $this->collection->getUnknownCount());
     $this->collection[$test1] = $unknown;
     $this->assertEquals(0, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(1, $this->collection->getFailureCount());
     $this->assertEquals(1, $this->collection->getUnknownCount());
     $this->collection[$test3] = $warning1;
     $this->assertEquals(0, $this->collection->getSuccessCount());
     $this->assertEquals(1, $this->collection->getWarningCount());
     $this->assertEquals(0, $this->collection->getFailureCount());
     $this->assertEquals(1, $this->collection->getUnknownCount());
     $this->collection[$test3] = $success1;
     $this->assertEquals(1, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(0, $this->collection->getFailureCount());
     $this->assertEquals(1, $this->collection->getUnknownCount());
     $this->collection[$test1] = $success2;
     $this->assertEquals(2, $this->collection->getSuccessCount());
     $this->assertEquals(0, $this->collection->getWarningCount());
     $this->assertEquals(0, $this->collection->getFailureCount());
     $this->assertEquals(0, $this->collection->getUnknownCount());
 }
Example #5
0
 /**
  * @see \ZendDiagnostics\Runner\Reporter\ReporterInterface
  * @param ResultsCollection $results
  */
 public function onFinish(ResultsCollection $results)
 {
     $this->consoleWriteLn();
     $this->consoleWriteLn();
     // Display a summary line
     if ($results->getFailureCount() == 0 && $results->getWarningCount() == 0 && $results->getUnknownCount() == 0 && $results->getSkipCount() == 0) {
         $line = 'OK (' . $this->total . ' diagnostic tests)';
         $this->consoleWrite(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT));
     } elseif ($results->getFailureCount() == 0) {
         $line = $results->getWarningCount() . ' warnings, ';
         $line .= $results->getSuccessCount() . ' successful tests';
         if ($results->getSkipCount() > 0) {
             $line .= ', ' . $results->getSkipCount() . ' skipped tests';
         }
         if ($results->getUnknownCount() > 0) {
             $line .= ', ' . $results->getUnknownCount() . ' unknown test results';
         }
         $line .= '.';
         $this->consoleWrite(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT));
     } else {
         $line = $results->getFailureCount() . ' failures, ';
         $line .= $results->getWarningCount() . ' warnings, ';
         $line .= $results->getSuccessCount() . ' successful tests';
         if ($results->getSkipCount() > 0) {
             $line .= ', ' . $results->getSkipCount() . ' skipped tests';
         }
         if ($results->getUnknownCount() > 0) {
             $line .= ', ' . $results->getUnknownCount() . ' unknown test results';
         }
         $line .= '.';
         $this->consoleWrite(str_pad($line, $this->width, ' ', STR_PAD_RIGHT));
     }
     $this->consoleWriteLn();
     $this->consoleWriteLn();
     // Display a list of failures and warnings
     foreach ($results as $check) {
         /* @var $check  \ZendDiagnostics\Check\CheckInterface */
         /* @var $result \ZendDiagnostics\Result\ResultInterface */
         $result = $results[$check];
         if ($result instanceof FailureInterface) {
             $this->consoleWriteLn('Failure: ' . $check->getLabel());
             $message = $result->getMessage();
             if ($message) {
                 $this->consoleWriteLn($message);
             }
             $this->consoleWriteLn();
         } elseif ($result instanceof WarningInterface) {
             $this->consoleWriteLn('Warning: ' . $check->getLabel());
             $message = $result->getMessage();
             if ($message) {
                 $this->consoleWriteLn($message);
             }
             $this->consoleWriteLn();
         } elseif (!$result instanceof SuccessInterface) {
             $this->consoleWriteLn('Unknown result ' . get_class($result) . ': ' . $check->getLabel());
             $message = $result->getMessage();
             if ($message) {
                 $this->consoleWriteLn($message);
             }
             $this->consoleWriteLn();
         }
     }
     // Display information that the test has been aborted.
     if ($this->stopped) {
         $this->consoleWriteLn('Diagnostics aborted because of a failure.');
     }
 }
Example #6
0
 /**
  * This method is called when Runner has finished its run.
  *
  * @param  ResultsCollection $results Collection of Results for performed Checks.
  * @return void
  */
 public function onFinish(ResultsCollection $results)
 {
     /* @var $results \ZendDiagnostics\Result\Collection */
     $this->console->writeLine();
     $this->console->writeLine();
     // Display a summary line
     if ($results->getFailureCount() == 0 && $results->getWarningCount() == 0 && $results->getUnknownCount() == 0 && $results->getSkipCount() == 0) {
         $line = 'OK (' . $this->total . ' diagnostic checks)';
         $this->console->writeLine(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::GREEN);
     } elseif ($results->getFailureCount() == 0) {
         $line = $results->getWarningCount() . ' warnings';
         if ($results->getSkipCount() > 0) {
             $line .= ', ' . $results->getSkipCount() . ' skipped checks';
         }
         if ($results->getUnknownCount() > 0) {
             $line .= ', ' . $results->getUnknownCount() . ' unknown check results';
         }
         $line .= ', ' . $results->getSuccessCount() . ' successful checks';
         $line .= '.';
         $this->console->writeLine(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::YELLOW);
     } else {
         $line = $results->getFailureCount() . ' failures, ';
         $line .= $results->getWarningCount() . ' warnings';
         if ($results->getSkipCount() > 0) {
             $line .= ', ' . $results->getSkipCount() . ' skipped checks';
         }
         if ($results->getUnknownCount() > 0) {
             $line .= ', ' . $results->getUnknownCount() . ' unknown check results';
         }
         $line .= ', ' . $results->getSuccessCount() . ' successful checks';
         $line .= '.';
         $this->console->writeLine(str_pad($line, $this->width, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::RED);
     }
     $this->console->writeLine();
     // Display a list of failures and warnings
     foreach ($results as $check) {
         /* @var $check CheckInterface */
         /* @var $result ResultInterface */
         $result = $results[$check];
         if ($result instanceof Failure) {
             $this->console->writeLine('Failure: ' . $check->getLabel(), Color::RED);
             $message = $result->getMessage();
             if ($message) {
                 $this->console->writeLine($message, Color::RED);
             }
             $this->console->writeLine();
         } elseif ($result instanceof Warning) {
             $this->console->writeLine('Warning: ' . $check->getLabel(), Color::YELLOW);
             $message = $result->getMessage();
             if ($message) {
                 $this->console->writeLine($message, Color::YELLOW);
             }
             $this->console->writeLine();
         } elseif ($result instanceof Skip) {
             $this->console->writeLine('Skipped: ' . $check->getLabel(), Color::YELLOW);
             $message = $result->getMessage();
             if ($message) {
                 $this->console->writeLine($message, Color::YELLOW);
             }
             $this->console->writeLine();
         } elseif (!$result instanceof Success) {
             $this->console->writeLine('Unknown result ' . get_class($result) . ': ' . $check->getLabel(), Color::YELLOW);
             $message = $result->getMessage();
             if ($message) {
                 $this->console->writeLine($message, Color::YELLOW);
             }
             $this->console->writeLine();
         }
     }
     // Display information that the check has been aborted.
     if ($this->stopped) {
         $this->console->writeLine('Diagnostics aborted because of a failure.', Color::RED);
     }
 }