public void TestStartingConnectionWritesWelcome() { var netStream = new MockNetworkStream(); var smtpStream = new SmtpServerStream(netStream); var smtpConnection = new DummySmtpServerConnection(smtpStream, new MailBag(), Substitute.For <IDummySmtpServerConnectionCollection>()); smtpConnection.Start(); var readData = ReadResponseLine(netStream); Assert.That(readData, Is.EqualTo(SmtpServerResponses.Welcome)); }
public void TestSendingRecipientBeforeHello() { var netStream = new MockNetworkStream(); var smtpStream = new SmtpServerStream(netStream); var smtpConnection = new DummySmtpServerConnection(smtpStream, new MailBag(), Substitute.For <IDummySmtpServerConnectionCollection>()); smtpConnection.Start(); ReadResponseLine(netStream); WriteRequest(netStream, SmtpServerRequests.Recipient); var mailResponse = ReadResponseLine(netStream); Assert.That(mailResponse, Is.EqualTo(SmtpServerResponses.BadCommandSequence)); }
public void TestSendingHelloWritesGreeting() { var netStream = new MockNetworkStream(); var smtpStream = new SmtpServerStream(netStream); var smtpConnection = new DummySmtpServerConnection(smtpStream, new MailBag(), Substitute.For <IDummySmtpServerConnectionCollection>()); smtpConnection.Start(); ReadResponseLine(netStream); WriteRequest(netStream, SmtpServerRequests.Hello); var helloResponse = ReadResponseLine(netStream); Assert.That(helloResponse, Is.EqualTo(SmtpServerResponses.Greeting("unit-test"))); }
public void TestSendingDataBeforeMail() { var netStream = new MockNetworkStream(); var smtpStream = new SmtpServerStream(netStream); var smtpConnection = new DummySmtpServerConnection(smtpStream, new MailBag(), Substitute.For <IDummySmtpServerConnectionCollection>()); smtpConnection.Start(); ReadResponseLine(netStream); // Welcome WriteRequest(netStream, SmtpServerRequests.Hello); ReadResponseLine(netStream); // Greeting to hello WriteRequest(netStream, SmtpServerRequests.Data); var dataResponse = ReadResponseLine(netStream); Assert.That(dataResponse, Is.EqualTo(SmtpServerResponses.BadCommandSequence)); }
public void TestSendingMail() { var netStream = new MockNetworkStream(); var smtpStream = new SmtpServerStream(netStream); var smtpConnection = new DummySmtpServerConnection(smtpStream, new MailBag(), Substitute.For <IDummySmtpServerConnectionCollection>()); smtpConnection.Start(); ReadResponseLine(netStream); // Welcome WriteRequest(netStream, SmtpServerRequests.Hello); ReadResponseLine(netStream); // Greeting to hello WriteRequest(netStream, SmtpServerRequests.Mail); var mailResponse = ReadResponseLine(netStream); Assert.That(mailResponse, Is.EqualTo(SmtpServerResponses.Ok)); WriteRequest(netStream, SmtpServerRequests.Recipient); var recipientResponse = ReadResponseLine(netStream); Assert.That(recipientResponse, Is.EqualTo(SmtpServerResponses.Ok)); WriteRequest(netStream, SmtpServerRequests.AdditionalRecipient); recipientResponse = ReadResponseLine(netStream); Assert.That(recipientResponse, Is.EqualTo(SmtpServerResponses.Ok)); WriteRequest(netStream, SmtpServerRequests.Data); var dataResponse = ReadResponseLine(netStream); Assert.That(dataResponse, Is.EqualTo(SmtpServerResponses.StartMailInput)); WriteRequest(netStream, SmtpServerRequests.MailBody); var mailBodyResponse = ReadResponseLine(netStream); Assert.That(mailBodyResponse, Is.EqualTo(SmtpServerResponses.Ok)); }