Exemplo n.º 1
0
        public void TestLISTSpecific()
        {
            hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            SMTPClientSimulator.StaticSend(account.Address, account.Address, "Test", "TestBody1");
            SMTPClientSimulator.StaticSend(account.Address, account.Address, "Test", "TestBody2");
            SMTPClientSimulator.StaticSend(account.Address, account.Address, "Test", "TestBody3");

            POP3Simulator.AssertMessageCount(account.Address, "test", 3);

            POP3Simulator sim = new POP3Simulator();

            sim.ConnectAndLogon(account.Address, "test");
            string result = sim.LIST(2);

            Assert.IsTrue(result.Contains("OK 2"));

            result = sim.LIST(3);
            Assert.IsTrue(result.Contains("OK 3"));
        }
Exemplo n.º 2
0
        public void TestLISTInvalid()
        {
            hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            for (int i = 1; i <= 10; i++)
            {
                SMTPClientSimulator.StaticSend(account.Address, account.Address, "Test", "TestBody" + i.ToString());
            }

            POP3Simulator.AssertMessageCount(account.Address, "test", 10);

            POP3Simulator sim = new POP3Simulator();

            sim.ConnectAndLogon(account.Address, "test");
            string result = sim.LIST(0);

            Assert.IsTrue(result.Contains("No such message"));
            result = sim.LIST(-1);
            Assert.IsTrue(result.Contains("No such message"));
            result = sim.LIST(100);
            Assert.IsTrue(result.Contains("No such message"));
        }
Exemplo n.º 3
0
        public void TestLogonMailboxWithDeletedMessage()
        {
            hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            for (int i = 1; i <= 3; i++)
            {
                SMTPClientSimulator.StaticSend(account.Address, account.Address, "Test", "Line1\r\nLine2\r\nLine3\r\nLine4\r\nLine\r\n");
            }

            // Mark the second message as deleted using IMAP.
            POP3Simulator.AssertMessageCount(account.Address, "test", 3);

            IMAPSimulator sim = new IMAPSimulator();

            sim.ConnectAndLogon(account.Address, "test");
            sim.SelectFolder("INBOX");
            sim.SetDeletedFlag(2);
            sim.Disconnect();

            // Now list messages and confirm that all are listed.

            POP3Simulator pop3Client = new POP3Simulator();

            pop3Client.ConnectAndLogon(account.Address, "test");
            string listResponse = pop3Client.LIST();
            string uidlResponse = pop3Client.UIDL();

            Assert.IsTrue(listResponse.Contains("\r\n1"));
            Assert.IsTrue(listResponse.Contains("\r\n2"));
            Assert.IsTrue(listResponse.Contains("\r\n3"));
            Assert.IsTrue(listResponse.Contains("\r\n.\r\n"));
            Assert.IsTrue(listResponse.Contains("3 messages"));

            Assert.IsTrue(uidlResponse.Contains("\r\n1"));
            Assert.IsTrue(uidlResponse.Contains("\r\n2"));
            Assert.IsTrue(uidlResponse.Contains("\r\n3"));
            Assert.IsTrue(uidlResponse.Contains("\r\n.\r\n"));
            Assert.IsTrue(uidlResponse.Contains("3 messages"));
        }
Exemplo n.º 4
0
        public void TestLISTWithDeleted()
        {
            hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            for (int i = 1; i <= 10; i++)
            {
                SMTPClientSimulator.StaticSend(account.Address, account.Address, "Test", "TestBody" + i.ToString());
            }

            POP3Simulator.AssertMessageCount(account.Address, "test", 10);

            POP3Simulator sim = new POP3Simulator();

            sim.ConnectAndLogon(account.Address, "test");
            sim.DELE(2);
            sim.DELE(4);
            string result = sim.LIST();

            Assert.IsTrue(result.Contains("8 messages"));
            Assert.IsTrue(result.Contains("\r\n1"));
            Assert.IsTrue(result.Contains("\r\n3"));
            Assert.IsTrue(result.Contains("\r\n5"));
            Assert.IsTrue(result.Contains("\r\n."));
        }