public void TestMoveMessageWithGlobalRule() { Account testAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "Test'*****@*****.**", "test"); // First deliver two messages to the inbox. SMTPClientSimulator.StaticSend(testAccount.Address, testAccount.Address, "Test", "Test"); POP3ClientSimulator.AssertMessageCount(testAccount.Address, "test", 1); IMAPFolder inboxFolder = testAccount.IMAPFolders[0]; CustomAssert.AreEqual(1, inboxFolder.CurrentUID); CustomAssert.AreEqual(1, inboxFolder.Messages[0].UID); SMTPClientSimulator.StaticSend(testAccount.Address, testAccount.Address, "Test", "Test"); POP3ClientSimulator.AssertMessageCount(testAccount.Address, "test", 2); CustomAssert.AreEqual(2, inboxFolder.CurrentUID); CustomAssert.AreEqual(2, inboxFolder.Messages[1].UID); CreateMoveRule(_application.Rules, "TestFolder"); // This message will be moved into the test folder. SMTPClientSimulator.StaticSend(testAccount.Address, testAccount.Address, "Test", "Test"); // Wait for the message to arrive. TestSetup.AssertFolderExists(testAccount.IMAPFolders, "TestFolder"); IMAPFolder testFolder = testAccount.IMAPFolders.get_ItemByName("TestFolder"); TestSetup.AssertFolderMessageCount(testFolder, 1); // Since the message is placed in a new folder, it should receive a unique UID. CustomAssert.AreEqual(1, testFolder.Messages.Count); CustomAssert.AreEqual(1, testFolder.CurrentUID); CustomAssert.AreEqual(1, testFolder.Messages[0].UID); }
public void TestSaveMessageWithScriptAndMoveMessageWithGlobalRule() { _settings.Scripting.Enabled = true; Account testAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "Test'*****@*****.**", "test"); var sim = new IMAPClientSimulator(); CustomAssert.IsTrue(sim.ConnectAndLogon(testAccount.Address, "test")); // First deliver two messages to the inbox. SMTPClientSimulator.StaticSend(testAccount.Address, testAccount.Address, "Test", "Test"); POP3ClientSimulator.AssertMessageCount(testAccount.Address, "test", 1); IMAPFolder inboxFolder = testAccount.IMAPFolders[0]; CustomAssert.AreEqual(1, inboxFolder.CurrentUID); CustomAssert.AreEqual(1, inboxFolder.Messages[0].UID); CustomAssert.IsTrue(sim.Status("INBOX", "UIDNEXT").Contains("UIDNEXT 2")); SMTPClientSimulator.StaticSend(testAccount.Address, testAccount.Address, "Test", "Test"); POP3ClientSimulator.AssertMessageCount(testAccount.Address, "test", 2); CustomAssert.AreEqual(2, inboxFolder.CurrentUID); CustomAssert.AreEqual(2, inboxFolder.Messages[1].UID); CustomAssert.IsTrue(sim.Status("INBOX", "UIDNEXT").Contains("UIDNEXT 3")); CreateMessageModificationRule(_application.Rules); CreateMoveRule(_application.Rules, "TestFolder"); // This message will be moved into the test folder. SMTPClientSimulator.StaticSend(testAccount.Address, testAccount.Address, "Test", "Test"); // Wait for the message to arrive. TestSetup.AssertFolderExists(testAccount.IMAPFolders, "TestFolder"); IMAPFolder testFolder = testAccount.IMAPFolders.get_ItemByName("TestFolder"); TestSetup.AssertFolderMessageCount(testFolder, 1); // Inbox UID should not have changed since nothing has been added to the inbox. CustomAssert.IsTrue(sim.Status("INBOX", "UIDNEXT").Contains("UIDNEXT 3")); // Since the message is placed in a new folder, it should receive a unique UID. string status = sim.Status("TestFolder", "UIDNEXT"); CustomAssert.IsTrue(status.Contains("UIDNEXT 2"), status); CustomAssert.AreEqual(1, testFolder.CurrentUID); CustomAssert.AreEqual(1, testFolder.Messages[0].UID); }