public function testConnectionChoosesOnlyOneWorkingConnection() { $mock1 = new FullMockConnection(); $mock1->setReturnValue("isAlive", false); $mock1->expectOnce("start"); $mock1->expectNever("read"); $mock1->expectNever("write"); $mock2 = new FullMockConnection(); $mock2->setReturnValue("isAlive", true); $mock2->expectOnce("start"); $mock2->expectOnce("read"); $mock2->expectCallCount("write", 3); $mock2->expectAt(0, "write", array("foo", "*")); $mock2->expectAt(1, "write", array("bar", "*")); $mock2->expectAt(2, "write", array("zip", "*")); $mock3 = new FullMockConnection(); $mock3->setReturnValue("isAlive", true); $mock3->expectNever("start"); $mock3->expectNever("read"); $mock3->expectNever("write"); $multi = new Swift_Connection_Multi(); $multi->addConnection($mock1, "mock1"); $multi->addConnection($mock2, "mock2"); $multi->addConnection($mock3, "mock3"); $multi->start(); $multi->read(); $multi->write("foo"); $multi->write("bar"); $multi->write("zip"); }
public function testMessageIdIsGeneratedBeforeSending() { $conn = new FullMockConnection(); $conn->setReturnValueAt(0, "read", "220 xxx ESMTP"); $conn->setReturnValueAt(1, "read", "250-Hello xxx\r\n250 HELP"); $conn->setReturnValueAt(2, "read", "250 Ok"); $conn->setReturnValueAt(3, "read", "250 Ok"); $conn->setReturnValueAt(4, "read", "250 Ok"); $conn->setReturnValueAt(5, "read", "354 Go ahead"); $conn->setReturnValueAt(6, "read", "250 Ok"); $conn->expectMinimumCallCount("write", 6); $conn->expectAt(0, "write", array("EHLO abc", "*")); $conn->expectAt(1, "write", array("MAIL FROM: <*****@*****.**>", "*")); $conn->expectAt(2, "write", array("RCPT TO: <*****@*****.**>", "*")); $conn->expectAt(3, "write", array("RCPT TO: <*****@*****.**>", "*")); $conn->expectAt(4, "write", array("DATA", "*")); $conn->expectAt(5, "write", array("*", "*")); $swift = new Swift($conn, "abc"); $recipients = new Swift_RecipientList(); $recipients->addTo("*****@*****.**", "XXX YYY"); $recipients->addCc("*****@*****.**"); $from = new Swift_Address("*****@*****.**", "Foo Bar"); $message = new Message_IdMocked(); $message->__construct(); $message->setSubject("the subject"); $message->setBody("the body"); $message->expectOnce("generateId"); $swift->send($message, $recipients, $from); }