[ Index ]

PHP Cross Reference of Phabricator

title

Body

[close]

/src/applications/metamta/storage/__tests__/ -> PhabricatorMetaMTAReceivedMailTestCase.php (source)

   1  <?php
   2  
   3  final class PhabricatorMetaMTAReceivedMailTestCase extends PhabricatorTestCase {
   4  
   5    protected function getPhabricatorTestCaseConfiguration() {
   6      return array(
   7        self::PHABRICATOR_TESTCONFIG_BUILD_STORAGE_FIXTURES => true,
   8      );
   9    }
  10  
  11    public function testDropSelfMail() {
  12      $mail = new PhabricatorMetaMTAReceivedMail();
  13      $mail->setHeaders(
  14        array(
  15          'X-Phabricator-Sent-This-Message' => 'yes',
  16        ));
  17      $mail->save();
  18  
  19      $mail->processReceivedMail();
  20  
  21      $this->assertEqual(
  22        MetaMTAReceivedMailStatus::STATUS_FROM_PHABRICATOR,
  23        $mail->getStatus());
  24    }
  25  
  26  
  27    public function testDropDuplicateMail() {
  28      $mail_a = new PhabricatorMetaMTAReceivedMail();
  29      $mail_a->setHeaders(
  30        array(
  31          'Message-ID' => '[email protected]',
  32        ));
  33      $mail_a->save();
  34  
  35      $mail_b = new PhabricatorMetaMTAReceivedMail();
  36      $mail_b->setHeaders(
  37        array(
  38          'Message-ID' => '[email protected]',
  39        ));
  40      $mail_b->save();
  41  
  42      $mail_a->processReceivedMail();
  43      $mail_b->processReceivedMail();
  44  
  45      $this->assertEqual(
  46        MetaMTAReceivedMailStatus::STATUS_DUPLICATE,
  47        $mail_b->getStatus());
  48    }
  49  
  50    public function testDropUnreceivableMail() {
  51      $mail = new PhabricatorMetaMTAReceivedMail();
  52      $mail->setHeaders(
  53        array(
  54          'Message-ID' => '[email protected]',
  55          'To'         => '[email protected]',
  56        ));
  57      $mail->save();
  58  
  59      $mail->processReceivedMail();
  60  
  61      $this->assertEqual(
  62        MetaMTAReceivedMailStatus::STATUS_NO_RECEIVERS,
  63        $mail->getStatus());
  64    }
  65  
  66    public function testDropUnknownSenderMail() {
  67      $env = PhabricatorEnv::beginScopedEnv();
  68      $env->overrideEnvConfig(
  69        'metamta.maniphest.public-create-email',
  70        '[email protected]');
  71      $env->overrideEnvConfig('phabricator.allow-email-users', false);
  72      $env->overrideEnvConfig('metamta.maniphest.default-public-author', null);
  73  
  74      $mail = new PhabricatorMetaMTAReceivedMail();
  75      $mail->setHeaders(
  76        array(
  77          'Message-ID' => '[email protected]',
  78          'To'         => '[email protected]',
  79          'From'       => '[email protected]',
  80        ));
  81      $mail->save();
  82  
  83      $mail->processReceivedMail();
  84  
  85      $this->assertEqual(
  86        MetaMTAReceivedMailStatus::STATUS_UNKNOWN_SENDER,
  87        $mail->getStatus());
  88    }
  89  
  90  
  91    public function testDropDisabledSenderMail() {
  92      $env = PhabricatorEnv::beginScopedEnv();
  93      $env->overrideEnvConfig(
  94        'metamta.maniphest.public-create-email',
  95        '[email protected]');
  96  
  97      $user = $this->generateNewTestUser()
  98        ->setIsDisabled(true)
  99        ->save();
 100  
 101      $mail = new PhabricatorMetaMTAReceivedMail();
 102      $mail->setHeaders(
 103        array(
 104          'Message-ID'  => '[email protected]',
 105          'From'        => $user->loadPrimaryEmail()->getAddress(),
 106          'To'          => '[email protected]',
 107        ));
 108      $mail->save();
 109  
 110      $mail->processReceivedMail();
 111  
 112      $this->assertEqual(
 113        MetaMTAReceivedMailStatus::STATUS_DISABLED_SENDER,
 114        $mail->getStatus());
 115    }
 116  
 117  }


Generated: Sun Nov 30 09:20:46 2014 Cross-referenced by PHPXref 0.7.1