private function send($identifier, $system, $message, $status, $url = '', $value = 0, $tool = null) { if (is_null($tool)) { $tool = $this->tool; } $event = new Event($identifier, $system, $status, $tool, $message, $value); $this->reporter->sendEvent($event); }
public function suite() { $tool = 'Codeception'; $koalamonServer = 'http://monitor.koalamon.com'; if (array_key_exists('server', $this->config)) { $koalamonServer = $this->config['server']; } $reporter = new Reporter('', $this->getApiKey(), new Client(), $koalamonServer); $url = $this->getUrl(); if (array_key_exists('tool', $this->config)) { $tool = $this->config['tool']; } foreach ($this->testCollections as $testCollection => $testConfigs) { $failed = false; $message = "Failed running '" . $testCollection . "' in " . basename($testConfigs['file']) . "<ul>"; foreach ($testConfigs['tests'] as $testName) { $failed = true; $message .= '<li>' . $testName['name'] . " <br>Step: " . $testName['lastStep'] . ').</li>'; } $message .= '</ul>'; if ($failed) { $status = Event::STATUS_FAILURE; } else { $status = Event::STATUS_SUCCESS; $message = ''; } $system = $this->getSystem(); $eventIdentifier = $tool . '_' . $system . '_' . $testCollection; $event = new Event($eventIdentifier, $system, $status, $tool, $message, '', $url); $reporter->sendEvent($event); } }
/** * @param InputInterface $input * @param OutputInterface $output */ protected function execute(InputInterface $input, OutputInterface $output) { $output->writeln("\n <info>Checking " . $input->getArgument('url') . "</info>\n"); if ($input->getOption('retriever') === 'chrome') { $errorRetriever = new ChromeErrorRetriever($input->getOption('selenium_server'), $input->getOption('selenium_server_port')); } else { $errorRetriever = new PhantomErrorRetriever($input->getOption('phantomjs_exec')); } /** @var ErrorRetriever $errorRetriever */ $errors = $errorRetriever->getErrors(new Uri($input->getArgument('url'))); $ignoredFiles = []; if ($input->getOption('options')) { $optionArray = json_decode($input->getOption('options'), true); if (is_array($optionArray)) { if (array_key_exists('excludedFiles', $optionArray)) { foreach ($optionArray['excludedFiles'] as $excludedFile) { $ignoredFiles[] = $excludedFile['filename']; } } } } $errorFound = false; $status = Event::STATUS_FAILURE; if (count($errors) > 0) { $errorMsg = 'JavaScript errors (' . count($errors) . ') were found on ' . $input->getArgument('url') . '<ul>'; foreach ($errors as $error) { $ignored = false; foreach ($ignoredFiles as $ignoredFile) { if (preg_match('^' . $ignoredFile . '^', $error)) { $ignored = true; } } if (!$ignored) { $output->writeln(' - ' . $error); $errorMsg .= '<li>' . $error . '</li>'; $errorFound = true; } } $errorMsg .= '</ul>'; } if (!$errorFound) { $output->writeln(' No errors found.'); $errorMsg = 'No javascript errors found for ' . $input->getArgument('url'); $status = Event::STATUS_SUCCESS; } if ($input->getOption('koalamon_project_api_key')) { if ($input->getOption('koalamon_server')) { $reporter = new Reporter($input->getOption('koalamon_project'), $input->getOption('koalamon_project_api_key'), new Client(), $input->getOption('koalamon_server')); } else { $reporter = new Reporter($input->getOption('koalamon_project'), $input->getOption('koalamon_project_api_key'), new Client()); } if ($input->getOption('koalamon_system')) { $system = $input->getOption('koalamon_system'); } else { $system = str_replace('http://', '', $input->getArgument('url')); } $event = new Event('JsErrorScanner_' . $input->getArgument('url'), $system, $status, 'JsErrorScanner', $errorMsg, count($errors), null, $input->getOption('component')); try { $reporter->sendEvent($event); } catch (KoalamonException $e) { $output->writeln(''); $output->writeln('<error> ' . $e->getMessage() . ' </error>'); $output->writeln(' Url: ' . $e->getUrl()); $output->writeln(' Payload: ' . $e->getPayload()); } } $output->writeln(''); }
public function suite() { $reporter = new Reporter('', $this->config['api_key'], new Client()); foreach ($this->testCollections as $testCollection => $testConfigs) { $failed = false; $message = "Failed running '" . $testCollection . "' in " . basename($testConfigs['file']) . "<ul>"; foreach ($testConfigs['tests'] as $testName) { $failed = true; $message .= '<li>' . $testName['name'] . " <br>Step: " . $testName['lastStep'] . ').</li>'; } $message .= '</ul>'; if ($failed) { $status = Event::STATUS_FAILURE; } else { $status = Event::STATUS_SUCCESS; $message = ''; } $url = ''; if (array_key_exists('url', $this->config)) { $url = $this->config['url']; } $tool = 'Codeception'; if (array_key_exists('tool', $this->config)) { $tool = $this->config['tool']; } $event = new Event('Codeception_' . $testCollection, $this->config['system'], $status, $tool, $message, '', $url); $reporter->sendEvent($event); } }