Ejemplo n.º 1
0
 /**
  * set and get vacation sieve script
  */
 public function testGetSetVacation()
 {
     $vacationData = array('id' => $this->_account->getId(), 'subject' => 'unittest vacation subject', 'from' => $this->_account->from . ' <' . $this->_account->email . '>', 'days' => 7, 'enabled' => TRUE, 'reason' => 'unittest vacation message<br /><br />signature', 'mime' => '');
     $this->_sieveTestHelper($vacationData);
     // check if script was activated
     $activeScriptName = Felamimail_Controller_Sieve::getInstance()->getActiveScriptName($this->_account->getId());
     $this->assertEquals($this->_testSieveScriptName, $activeScriptName);
     $updatedAccount = Felamimail_Controller_Account::getInstance()->get($this->_account->getId());
     $this->assertTrue((bool) $updatedAccount->sieve_vacation_active);
     $result = $this->_json->getVacation($this->_account->getId());
     $this->assertEquals($this->_account->email, $result['addresses'][0]);
     unset($result['addresses']);
     $sieveBackend = Felamimail_Backend_SieveFactory::factory($this->_account->getId());
     if (preg_match('/dbmail/i', $sieveBackend->getImplementation())) {
         $translate = Tinebase_Translation::getTranslation('Felamimail');
         $vacationData['subject'] = sprintf($translate->_('Out of Office reply from %1$s'), Tinebase_Core::getUser()->accountFullName);
     }
     $this->assertEquals($vacationData, $result);
 }
 /**
  * set and get vacation sieve script
  *
  * @see 0007768: Sieve - Vacation notify frequency not being set (Cyrus)
  */
 public function testGetSetVacation()
 {
     $vacationData = $this->_getVacationData();
     $this->_sieveTestHelper($vacationData);
     // check if script was activated
     $activeScriptName = Felamimail_Controller_Sieve::getInstance()->getActiveScriptName($this->_account->getId());
     $this->assertEquals($this->_testSieveScriptName, $activeScriptName);
     $updatedAccount = Felamimail_Controller_Account::getInstance()->get($this->_account->getId());
     $this->assertTrue((bool) $updatedAccount->sieve_vacation_active);
     $result = $this->_json->getVacation($this->_account->getId());
     $this->assertEquals($this->_account->email, $result['addresses'][0]);
     $sieveBackend = Felamimail_Backend_SieveFactory::factory($this->_account->getId());
     if (preg_match('/dbmail/i', $sieveBackend->getImplementation())) {
         $translate = Tinebase_Translation::getTranslation('Felamimail');
         $vacationData['subject'] = sprintf($translate->_('Out of Office reply from %1$s'), Tinebase_Core::getUser()->accountFullName);
     }
     foreach (array('reason', 'enabled', 'subject', 'from', 'days') as $field) {
         $this->assertEquals($vacationData[$field], $result[$field], 'vacation data mismatch: ' . $field);
     }
 }