Exemplo n.º 1
0
 /**
  * Uses imap to assert that an email with the specified subject is present in the specified
  * mailbox
  * @param CTestCase $owner
  * @param Credentials $credentials
  * @param string $subject unique email subject
  * @param int $tries number of imap request attempts
  */
 public function assertEmailReceived($owner, Credentials $credentials, $subject, $tries = 1)
 {
     Yii::import('application.tests.components.EmailTestingUtil');
     $emailTestUtil = new EmailTestingUtil();
     $emailTestUtil->credentials = $credentials;
     $owner->assertTrue($emailTestUtil->open());
     $stream = $emailTestUtil->getStream();
     $searchString = 'SUBJECT "' . $subject . '"';
     for ($i = 0; $i < $tries; $i++) {
         $uids = imap_search($stream, $searchString, SE_UID);
         if ($uids) {
             break;
         }
         sleep(3);
     }
     $owner->assertTrue(is_array($uids));
     $owner->assertEquals(1, count($uids));
     $emailTestUtil->close();
 }