public void TestChangeFlags() { Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test"); CustomAssert.IsTrue(SMTPClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test")); POP3ClientSimulator.AssertMessageCount(oAccount.Address, "test", 1); var simulator = new IMAPClientSimulator(); simulator.ConnectAndLogon(oAccount.Address, "test"); simulator.ExamineFolder("Inbox"); CustomAssert.IsFalse(simulator.SetFlagOnMessage(1, true, @"\Deleted")); }
public void TestExpungeNotification() { _settings.IMAPIdleEnabled = true; Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test"); for (int i = 0; i < 5; i++) SMTPClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test"); POP3ClientSimulator.AssertMessageCount(oAccount.Address, "test", 5); var oSimulator1 = new IMAPClientSimulator(); var oSimulator2 = new IMAPClientSimulator(); oSimulator1.ConnectAndLogon(oAccount.Address, "test"); oSimulator2.ConnectAndLogon(oAccount.Address, "test"); oSimulator1.SelectFolder("Inbox"); oSimulator2.SelectFolder("Inbox"); for (int i = 1; i <= 5; i++) { CustomAssert.IsTrue(oSimulator1.SetFlagOnMessage(i, true, @"\Deleted")); } string noopResponse = oSimulator2.NOOP() + oSimulator2.NOOP(); CustomAssert.IsTrue(noopResponse.Contains(@"* 1 FETCH (FLAGS (\Deleted)") && noopResponse.Contains(@"* 1 FETCH (FLAGS (\Deleted)") && noopResponse.Contains(@"* 1 FETCH (FLAGS (\Deleted)") && noopResponse.Contains(@"* 1 FETCH (FLAGS (\Deleted)") && noopResponse.Contains(@"* 1 FETCH (FLAGS (\Deleted)"), noopResponse); bool result = oSimulator1.Expunge(); string expungeResult = oSimulator2.NOOP() + oSimulator2.NOOP(); CustomAssert.IsTrue( expungeResult.Contains("* 1 EXPUNGE\r\n* 1 EXPUNGE\r\n* 1 EXPUNGE\r\n* 1 EXPUNGE\r\n* 1 EXPUNGE"), expungeResult); }
public void TestExpunge() { Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test"); CustomAssert.IsTrue(SMTPClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test")); POP3ClientSimulator.AssertMessageCount(oAccount.Address, "test", 1); var simulator = new IMAPClientSimulator(); simulator.ConnectAndLogon(oAccount.Address, "test"); simulator.SelectFolder("Inbox"); CustomAssert.IsTrue(simulator.SetFlagOnMessage(1, true, @"\Deleted")); var secondSimulator = new IMAPClientSimulator(); secondSimulator.ConnectAndLogon(oAccount.Address, "test"); string result = secondSimulator.ExamineFolder("INBOX"); CustomAssert.IsTrue(result.Contains("1 EXISTS"), result); CustomAssert.IsFalse(secondSimulator.Expunge()); simulator.SelectFolder("INBOX"); CustomAssert.IsTrue(simulator.Expunge()); simulator.Close(); secondSimulator.Close(); }
public void TestExpunge() { Account account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test"); for (int i = 0; i < 3; i++) SMTPClientSimulator.StaticSend("*****@*****.**", account.Address, "Test", "test"); POP3ClientSimulator.AssertMessageCount(account.Address, "test", 3); var simulator = new IMAPClientSimulator(); CustomAssert.IsTrue(simulator.ConnectAndLogon(account.Address, "test")); CustomAssert.IsTrue(simulator.SelectFolder("Inbox")); CustomAssert.IsTrue(simulator.SetFlagOnMessage(1, true, @"\Deleted")); CustomAssert.IsTrue(simulator.SetFlagOnMessage(3, true, @"\Deleted")); string result; CustomAssert.IsTrue(simulator.Expunge(out result)); // Messages 1 and 2 should be deleted. 2, because when the first message // is deleted, the index of the message which was originally 3, is now 2. CustomAssert.IsTrue(result.Contains("* 1 EXPUNGE\r\n* 2 EXPUNGE")); }