Example #1
0
        public void TestStatus()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             var oSimulator = new IMAPClientSimulator();

             string sWelcomeMessage = oSimulator.Connect();
             oSimulator.Logon("*****@*****.**", "test");
             CustomAssert.IsTrue(oSimulator.Status("Inbox", "MESSAGES").Contains("A08 OK"));
             oSimulator.Disconnect();
        }
Example #2
0
        public void TestBeforeLogon()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             var oSimulator = new IMAPClientSimulator();

             string sWelcomeMessage = oSimulator.Connect();

             CustomAssert.IsTrue(oSimulator.ExamineFolder("NonexistantFolder").Contains("NO Authenticate first"));
             CustomAssert.IsFalse(oSimulator.SelectFolder("NonexistantFolder"));
             CustomAssert.IsFalse(oSimulator.Copy(1, "SomeFolder"));
             CustomAssert.IsFalse(oSimulator.CheckFolder("SomeFolder"));
             CustomAssert.IsTrue(oSimulator.Fetch("123 a").Contains("NO Authenticate first"));
             CustomAssert.IsTrue(oSimulator.List().Contains("NO Authenticate first"));
             CustomAssert.IsTrue(oSimulator.LSUB().Contains("NO Authenticate first"));
             CustomAssert.IsTrue(oSimulator.GetMyRights("APA").Contains("NO Authenticate first"));
             CustomAssert.IsFalse(oSimulator.RenameFolder("A", "B"));
             CustomAssert.IsFalse(oSimulator.Status("SomeFolder", "MESSAGES").Contains("A01 OK"));
        }
Example #3
0
        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);
        }