/**
  * Tests returned codes
  */
 public function testReturnedCodes()
 {
     $saved = new SavedContactInfo('description', '*****@*****.**', 1, SavedContactInfo::CODE_SUCCESS);
     $this->assertTrue($saved->isHandledCode());
     $this->assertTrue($saved->isOk());
     $this->assertFalse($saved->isPending());
     $saved = new SavedContactInfo('description', '*****@*****.**', 1, SavedContactInfo::CODE_PENDING);
     $this->assertTrue($saved->isHandledCode());
     $this->assertFalse($saved->isOk());
     $this->assertTrue($saved->isPending());
     $saved = new SavedContactInfo('description', '*****@*****.**', 1, -2);
     $this->assertFalse($saved->isHandledCode());
     $this->assertFalse($saved->isOk());
     $this->assertFalse($saved->isPending());
 }
Exemple #2
0
 /**
  * {@inheritdoc}
  */
 public function getStatusByTicket($ticket)
 {
     $try = 0;
     while (true) {
         $try++;
         try {
             $response = $this->soapClient->__soapCall('GetStatusByTicket', array(array('token' => $this->authenticationManager->getAuthenticationTokenContext()->toArray(), 'ticket' => $ticket)));
             $saved = new SavedContactInfo($response->GetStatusByTicketResult->Description, $response->GetStatusByTicketResult->Email, $response->GetStatusByTicketResult->MemberId, $response->GetStatusByTicketResult->ReturnCode);
             if ($saved->isPending() && $try < $this->retries) {
                 // waiting 1.5s before next call
                 usleep(1500000);
                 continue;
             }
             return $saved;
         } catch (\SoapFault $e) {
             if (null !== $this->logger) {
                 $this->logger->critical(sprintf('[%] %s', __CLASS__, $e->getMessage()));
             }
             if ($try >= $this->retries) {
                 throw $e;
             }
             // waiting 500ms before next call
             usleep(500000);
         }
     }
 }