コード例 #1
0
ファイル: Basics.cs プロジェクト: hmailserver/hmailserver
        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"));
        }
コード例 #2
0
ファイル: Basics.cs プロジェクト: hmailserver/hmailserver
        public void TestLISTSpecific()
        {
            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.LIST(2);

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

             result = sim.LIST(3);
             Assert.IsTrue(result.Contains("OK 3"));
        }
コード例 #3
0
ファイル: Basics.cs プロジェクト: hmailserver/hmailserver
        public void TestLISTWithDeleted()
        {
            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.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."));
        }
コード例 #4
0
ファイル: Basics.cs プロジェクト: hmailserver/hmailserver
        public void TestLISTInvalid()
        {
            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.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"));
        }