public function testArrayOfRecipientsCanBeExplicitlyDefined() { $message = Swift_Message::newInstance()->setSubject('...')->setFrom(array('*****@*****.**' => 'John Doe'))->setTo(array('*****@*****.**' => 'Fabien', '*****@*****.**' => 'Chris (To)', '*****@*****.**' => 'Lars (To)'))->setCc(array('*****@*****.**' => 'Fabien', '*****@*****.**' => 'Chris (Cc)', '*****@*****.**' => 'Lars (Cc)'))->setBcc(array('*****@*****.**' => 'Fabien', '*****@*****.**' => 'Chris (Bcc)', '*****@*****.**' => 'John (Bcc)'))->setBody('...'); $recipients = array('*****@*****.**', '*****@*****.**'); $patterns = array('/^.*@internal.[a-z]+$/'); $plugin = new Swift_Plugins_RedirectingPlugin($recipients, $patterns); $evt = $this->_createSendEvent($message); $plugin->beforeSendPerformed($evt); $this->assertEquals($message->getTo(), array('*****@*****.**' => 'Fabien', '*****@*****.**' => 'Lars (To)', '*****@*****.**' => null)); $this->assertEquals($message->getCc(), array('*****@*****.**' => 'Fabien', '*****@*****.**' => 'Lars (Cc)')); $this->assertEquals($message->getBcc(), array('*****@*****.**' => 'Fabien')); }
public function testPluginChangesRecipients() { $message = Swift_Message::newInstance()->setSubject('...')->setFrom(array('*****@*****.**' => 'John Doe'))->setTo($to = array('*****@*****.**' => 'Fabien (To)', '*****@*****.**' => 'Chris (To)'))->setCc($cc = array('*****@*****.**' => 'Fabien (Cc)', '*****@*****.**' => 'Chris (Cc)'))->setBcc($bcc = array('*****@*****.**' => 'Fabien (Bcc)', '*****@*****.**' => 'Chris (Bcc)'))->setBody('...'); $plugin = new Swift_Plugins_RedirectingPlugin('*****@*****.**'); $evt = $this->_createSendEvent($message); $plugin->beforeSendPerformed($evt); $this->assertEqual($message->getTo(), array('*****@*****.**' => '')); $this->assertEqual($message->getCc(), array()); $this->assertEqual($message->getBcc(), array()); $plugin->sendPerformed($evt); $this->assertEqual($message->getTo(), $to); $this->assertEqual($message->getCc(), $cc); $this->assertEqual($message->getBcc(), $bcc); }
public function testPluginRespectsAWhitelistOfPatterns() { $message = Swift_Message::newInstance()->setSubject('...')->setFrom(array('*****@*****.**' => 'John Doe'))->setTo($to = array('*****@*****.**' => 'Fabien (To)', '*****@*****.**' => 'Chris (To)', '*****@*****.**' => 'Lars (To)'))->setCc($cc = array('*****@*****.**' => 'Fabien (Cc)', '*****@*****.**' => 'Chris (Cc)', '*****@*****.**' => 'Lars (Cc)'))->setBcc($bcc = array('*****@*****.**' => 'Fabien (Bcc)', '*****@*****.**' => 'Chris (Bcc)', '*****@*****.**' => 'John (Bcc)'))->setBody('...'); $recipient = '*****@*****.**'; $patterns = array('/^.*@internal.[a-z]+$/', '/^john-.*$/'); $plugin = new Swift_Plugins_RedirectingPlugin($recipient, $patterns); $this->assertEqual($recipient, $plugin->getRecipient()); $this->assertEqual($plugin->getWhitelist(), $patterns); $evt = $this->_createSendEvent($message); $plugin->beforeSendPerformed($evt); $this->assertEqual($message->getTo(), array('*****@*****.**' => 'Lars (To)', '*****@*****.**' => null)); $this->assertEqual($message->getCc(), array('*****@*****.**' => 'Lars (Cc)')); $this->assertEqual($message->getBcc(), array('*****@*****.**' => 'John (Bcc)')); $plugin->sendPerformed($evt); $this->assertEqual($message->getTo(), $to); $this->assertEqual($message->getCc(), $cc); $this->assertEqual($message->getBcc(), $bcc); }