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. POP3Simulator.AssertMessageCount(account.Address, "test", 3); var 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. var 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")); }
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"); POP3Simulator.AssertMessageCount(account.Address, "test", 3); var 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")); }
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()); POP3Simulator.AssertMessageCount(account.Address, "test", 10); var 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.")); }
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()); POP3Simulator.AssertMessageCount(account.Address, "test", 10); var 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")); }