Exemple #1
0
 public function finish()
 {
     $failures = 0;
     if ($this->retriever instanceof CrawlingRetriever) {
         $startPage = (string) $this->retriever->getStartPage();
     } else {
         $startPage = '';
     }
     $xUnitReport = new XUnitReport($startPage);
     foreach ($this->results as $result) {
         $testCase = new TestCase($result->getUrl(), $result->getUrl(), $result->getDuration());
         if ($result->isFailure()) {
             ++$failures;
             foreach ($result->getMessages() as $ruleName => $message) {
                 $testCase->addFailure(new Failure($ruleName, $message));
                 if ($this->retriever instanceof CrawlingRetriever) {
                     $stackTrace = $result->getUrl() . ' coming from ' . (string) $this->retriever->getComingFrom($result->getUrl()) . PHP_EOL;
                     $stackTrace .= '    - ' . $message . " [rule: {$ruleName}]";
                     $testCase->setSystemOut($stackTrace);
                 }
             }
         }
         $xUnitReport->addTestCase($testCase);
     }
     file_put_contents($this->filename, $xUnitReport->toXml());
     $this->output->writeln('    <info>Writing XUnit Output to file:</info> ' . $this->filename);
 }
Exemple #2
0
 protected function renderFailure(Result $result)
 {
     $this->output->writeln('   <error> ' . $result->getUrl() . ' </error> coming from ' . (string) $this->retriever->getComingFrom($result->getUrl()));
     foreach ($result->getMessages() as $ruleName => $message) {
         $this->output->writeln('    - ' . $message . " [rule: {$ruleName}]");
     }
     $this->output->writeln('');
 }
Exemple #3
0
 /**
  * @Event("Scanner.CheckResponse.isFiltered")
  */
 public function isFiltered(Event $event, $ruleName, Response $response)
 {
     $uri = (string) $this->retriever->getOriginUri($response->getUri());
     if ($this->currentModus === self::MODUS_FILTER) {
         $isFiltered = $this->isFilteredByFilter($ruleName, $uri);
     } else {
         $isFiltered = $this->isFilteredByExclusives($ruleName, $uri);
     }
     if ($isFiltered) {
         $event->setProcessed();
         return true;
     } else {
         return false;
     }
 }