/** * Verify how the API calls were made. * * @param TestEvent $event Event. * * @return void */ public function verifyRemoteAPICalls(TestEvent $event) { $test_case = $event->getTestCase(); if (get_class($test_case) !== get_class($this) || $test_case->getName() !== $this->getName()) { return; } $browser = $this->getBrowser(); if ($browser instanceof SauceLabsBrowserConfiguration) { $session = $event->getSession(); if ($session === null) { $this->markTestSkipped('Unable to connect to SauceLabs. Please check Internet connection.'); } $sauce_rest = new SauceRest($browser->getApiUsername(), $browser->getApiKey()); $job_info = $sauce_rest->getJob($session->getDriver()->getWebDriverSessionId()); $this->assertEquals(get_class($test_case) . '::' . $test_case->getName(), $job_info['name']); $passed_mapping = array('testSuccess' => true, 'testFailure' => false); $this->assertSame($passed_mapping[$test_case->getName()], $job_info['passed']); } }
/** * Verify how the API calls were made. * * @param TestEvent $event Event. * * @return void */ public function verifyRemoteAPICalls(TestEvent $event) { if (!$event->validateSubscriber($this)) { return; } $test_case = $event->getTestCase(); $test_name = $test_case->getName(false); if (!isset($this->_sessionIds[$test_name])) { return; } $browser = $this->getBrowser(); if ($browser instanceof ApiBrowserConfiguration) { $api_client = $browser->getAPIClient(); $session_info = $api_client->getInfo($this->_sessionIds[$test_name]); $this->assertEquals(get_class($test_case) . '::' . $test_name, $session_info['name']); if ($browser instanceof SauceLabsBrowserConfiguration) { $passed_mapping = array('testSuccess' => true, 'testFailure' => false); $this->assertSame($passed_mapping[$test_name], $session_info['passed']); } elseif ($browser instanceof BrowserStackBrowserConfiguration) { $passed_mapping = array('testSuccess' => 'done', 'testFailure' => 'error'); $this->assertSame($passed_mapping[$test_name], $session_info['status']); } } }
/** * Determines if received event is designed for this recipient. * * @param TestEvent $event Event. * * @return boolean */ protected function isEventForMe(TestEvent $event) { $test_case = $event->getTestCase(); return get_class($test_case) === get_class($this->_testCase) && $test_case->getName() === $this->_testCase->getName(); }
/** * Checks, that event can be handled by this class. * * @param TestEvent $event Test event. * * @return boolean */ private function _isEventForMe(TestEvent $event) { return $event->getTestCase()->getSessionStrategy() instanceof self; }
/** * Test description. * * @return void */ public function testGetTestCase() { $this->assertSame($this->testCase, $this->event->getTestCase()); }