Example #1
0
        public void TestChangeSeenFlag()
        {
            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");
             string flags = simulator.GetFlags(1);
             string body = simulator.Fetch("1 RFC822");
             string flagsAfter = simulator.GetFlags(1);
             simulator.Close();
             simulator.Disconnect();

             Assert.AreEqual(flags, flagsAfter);

             var secondSimulator = new ImapClientSimulator();
             secondSimulator.ConnectAndLogon(oAccount.Address, "test");
             secondSimulator.SelectFolder("Inbox");
             string secondFlags = secondSimulator.GetFlags(1);
             string secondBody = secondSimulator.Fetch("1 RFC822");
             string secondFlagsAfter = secondSimulator.GetFlags(1);
             secondSimulator.Close();
             secondSimulator.Disconnect();

             Assert.AreNotEqual(secondFlags, secondFlagsAfter);
        }
        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);
        }