Ejemplo n.º 1
0
        public void TestUIDLSpecific()
        {
            Account account = SingletonProvider <TestSetup> .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");

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

            var sim = new Pop3ClientSimulator();

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

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

            result = sim.UIDL(3);
            Assert.IsTrue(result.Contains("OK 3"));
        }
Ejemplo n.º 2
0
        public void TestUIDLInvalid()
        {
            Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

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

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

            var sim = new Pop3ClientSimulator();

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

            Assert.IsTrue(result.Contains("No such message"));
            result = sim.UIDL(-1);
            Assert.IsTrue(result.Contains("No such message"));
            result = sim.UIDL(100);
            Assert.IsTrue(result.Contains("No such message"));
        }
Ejemplo n.º 3
0
        public void TestLogonMailboxWithDeletedMessage()
        {
            Account account = SingletonProvider <TestSetup> .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.
            Pop3ClientSimulator.AssertMessageCount(account.Address, "test", 3);

            var sim = new ImapClientSimulator();

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

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

            var pop3Client = new Pop3ClientSimulator();

            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"));
        }
Ejemplo n.º 4
0
        public void TestUIDLWithDeleted()
        {
            Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

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

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

            var sim = new Pop3ClientSimulator();

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

            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."));
        }