Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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")));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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));
        }