Exemplo n.º 1
0
 /**
  * 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']);
     }
 }
Exemplo n.º 2
0
 /**
  * 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']);
         }
     }
 }
Exemplo n.º 3
0
 /**
  * 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();
 }
Exemplo n.º 4
0
 /**
  * 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;
 }
Exemplo n.º 5
0
 /**
  * Test description.
  *
  * @return void
  */
 public function testGetTestCase()
 {
     $this->assertSame($this->testCase, $this->event->getTestCase());
 }