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

             SmtpClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test");
             Pop3ClientSimulator.AssertMessageCount(oAccount.Address, "test", 1);

             var simulator = new ImapClientSimulator();
             simulator.ConnectAndLogon(oAccount.Address, "test");
             simulator.ExamineFolder("Inbox");
             Assert.IsFalse(simulator.SetFlagOnMessage(1, true, @"\Deleted"));
        }
        public void ChangingFlagShouldAffectAllConnections()
        {
            var account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");
             SmtpClientSimulator.StaticSend(account.Address, account.Address, "Test", "Test");

             Pop3ClientSimulator.AssertMessageCount(account.Address, "test", 1);

             var sim1 = new ImapClientSimulator();
             Assert.IsTrue(sim1.ConnectAndLogon(account.Address, "test"));
             Assert.IsTrue(sim1.SelectFolder("Inbox"));

             var sim2 = new ImapClientSimulator();
             Assert.IsTrue(sim2.ConnectAndLogon(account.Address, "test"));
             Assert.IsTrue(sim2.SelectFolder("Inbox"));

             sim1.SetFlagOnMessage(1, true, "\\Deleted");

             var flags1 = sim1.GetFlags(1);
             var flags2 = sim2.GetFlags(1);

             Assert.IsTrue(flags2.Contains(@"* 1 FETCH (FLAGS (\Deleted))"), flags2);
             Assert.IsTrue(flags2.Contains(@"* 1 FETCH (FLAGS (\Deleted) UID 1)"), flags2);
        }
Exemple #3
0
        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 imapClientSimulator = new ImapClientSimulator();
             var oSimulator2 = new ImapClientSimulator();
             imapClientSimulator.ConnectAndLogon(oAccount.Address, "test");
             oSimulator2.ConnectAndLogon(oAccount.Address, "test");

             imapClientSimulator.SelectFolder("Inbox");
             oSimulator2.SelectFolder("Inbox");

             for (int i = 1; i <= 5; i++)
             {
            Assert.IsTrue(imapClientSimulator.SetFlagOnMessage(i, true, @"\Deleted"));
             }

             string noopResponse = oSimulator2.NOOP() + oSimulator2.NOOP();

             Assert.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 = imapClientSimulator.Expunge();

             string expungeResult = oSimulator2.NOOP() + oSimulator2.NOOP();

             Assert.IsTrue(
            expungeResult.Contains("* 1 EXPUNGE\r\n* 1 EXPUNGE\r\n* 1 EXPUNGE\r\n* 1 EXPUNGE\r\n* 1 EXPUNGE"),
            expungeResult);
        }
Exemple #4
0
        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();
             Assert.IsTrue(simulator.ConnectAndLogon(account.Address, "test"));
             Assert.IsTrue(simulator.SelectFolder("Inbox"));

             Assert.IsTrue(simulator.SetFlagOnMessage(1, true, @"\Deleted"));
             Assert.IsTrue(simulator.SetFlagOnMessage(3, true, @"\Deleted"));

             string result;
             Assert.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.
             Assert.IsTrue(result.Contains("* 1 EXPUNGE\r\n* 2 EXPUNGE"));
        }
Exemple #5
0
        public void TestExpunge()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             SmtpClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test");
             Pop3ClientSimulator.AssertMessageCount(oAccount.Address, "test", 1);

             var simulator = new ImapClientSimulator();
             simulator.ConnectAndLogon(oAccount.Address, "test");
             simulator.SelectFolder("Inbox");
             Assert.IsTrue(simulator.SetFlagOnMessage(1, true, @"\Deleted"));

             var secondSimulator = new ImapClientSimulator();
             secondSimulator.ConnectAndLogon(oAccount.Address, "test");
             string result = secondSimulator.ExamineFolder("INBOX");
             Assert.IsTrue(result.Contains("1 EXISTS"), result);
             Assert.IsFalse(secondSimulator.Expunge());

             simulator.SelectFolder("INBOX");
             Assert.IsTrue(simulator.Expunge());

             simulator.Close();
             secondSimulator.Close();
        }