Exemplo n.º 1
0
        public void TestChangeSeenFlag()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             Assert.IsTrue(SMTPClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test"));
             POP3Simulator.AssertMessageCount(oAccount.Address, "test", 1);

             var simulator = new IMAPSimulator();
             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 IMAPSimulator();
             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);
        }
Exemplo n.º 2
0
        public void TestChangeRecentFlag()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             Assert.IsTrue(SMTPClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test"));
             POP3Simulator.AssertMessageCount(oAccount.Address, "test", 1);

             var simulator = new IMAPSimulator();
             simulator.ConnectAndLogon(oAccount.Address, "test");
             string result = simulator.ExamineFolder("Inbox");
             Assert.IsTrue(result.Contains("* 1 RECENT"), result);
             simulator.Close();
             simulator.Disconnect();

             simulator = new IMAPSimulator();
             simulator.ConnectAndLogon(oAccount.Address, "test");
             Assert.IsTrue(simulator.SelectFolder("Inbox", out result));
             Assert.IsTrue(result.Contains("* 1 RECENT"), result);
             simulator.Close();
             simulator.Disconnect();

             simulator = new IMAPSimulator();
             simulator.ConnectAndLogon(oAccount.Address, "test");
             result = simulator.ExamineFolder("Inbox");
             Assert.IsTrue(result.Contains("* 0 RECENT"), result);
             simulator.Close();
             simulator.Disconnect();
        }
Exemplo n.º 3
0
        public void ExamineFolderRequiresReadPermission()
        {
            Application application = SingletonProvider<TestSetup>.Instance.GetApp();

             Account account1 = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             IMAPFolders publicFolders = _settings.PublicFolders;
             IMAPFolder folder = publicFolders.Add("Share1");
             folder.Save();

             IMAPFolderPermission permission = folder.Permissions.Add();
             permission.PermissionAccountID = account1.ID;
             permission.PermissionType = eACLPermissionType.ePermissionTypeUser;
             permission.set_Permission(eACLPermission.ePermissionLookup, true);
             permission.Save();

             string selectResult = string.Empty;

             var oSimulator1 = new IMAPSimulator();
             oSimulator1.Connect();
             oSimulator1.LogonWithLiteral(account1.Address, "test");
             string examineResult = oSimulator1.ExamineFolder("#Public.Share1");
             oSimulator1.Disconnect();

             Assert.IsTrue(examineResult.Contains("ACL: Read permission denied (Required for EXAMINE command)."),
                       examineResult);
        }
Exemplo n.º 4
0
        public void TestChangeFlags()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             Assert.IsTrue(SMTPClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test"));
             POP3Simulator.AssertMessageCount(oAccount.Address, "test", 1);

             var simulator = new IMAPSimulator();
             simulator.ConnectAndLogon(oAccount.Address, "test");
             simulator.ExamineFolder("Inbox");
             Assert.IsFalse(simulator.SetFlagOnMessage(1, true, @"\Deleted"));
        }
Exemplo n.º 5
0
        public void TestExamineResponse()
        {
            Account account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             SMTPClientSimulator.StaticSend(account.Address, account.Address, "Test", "Test");
             POP3Simulator.AssertMessageCount(account.Address, "test", 1);

             var oSimulator = new IMAPSimulator();
             string sWelcomeMessage = oSimulator.Connect();
             oSimulator.Logon("*****@*****.**", "test");
             string result = oSimulator.ExamineFolder("Inbox");
             oSimulator.Disconnect();

             Assert.IsTrue(result.Contains("* FLAGS"), result);
             Assert.IsTrue(result.Contains("* 1 EXISTS"), result);
             Assert.IsTrue(result.Contains("* 1 RECENT"), result);
             Assert.IsTrue(result.Contains("* OK [UNSEEN 1]"), result);
             Assert.IsTrue(result.Contains("* OK [PERMANENTFLAGS"), result);
             Assert.IsTrue(result.Contains("* OK [UIDNEXT 2]"), result);
             Assert.IsTrue(result.Contains("* OK [UIDVALIDITY"), result);
             Assert.IsTrue(result.Contains("OK [READ-ONLY]"), result);
        }
Exemplo n.º 6
0
        public void TestExamineNonexistantFolder()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             var oSimulator = new IMAPSimulator();

             string sWelcomeMessage = oSimulator.Connect();
             oSimulator.Logon("*****@*****.**", "test");
             string result = oSimulator.ExamineFolder("NonexistantFolder");

             Assert.IsTrue(result.Contains("BAD Folder could not be found."));
        }
Exemplo n.º 7
0
        public void TestBeforeLogon()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             var oSimulator = new IMAPSimulator();

             string sWelcomeMessage = oSimulator.Connect();

             Assert.IsTrue(oSimulator.ExamineFolder("NonexistantFolder").Contains("NO Authenticate first"));
             Assert.IsFalse(oSimulator.SelectFolder("NonexistantFolder"));
             Assert.IsFalse(oSimulator.Copy(1, "SomeFolder"));
             Assert.IsFalse(oSimulator.CheckFolder("SomeFolder"));
             Assert.IsTrue(oSimulator.Fetch("123 a").Contains("NO Authenticate first"));
             Assert.IsTrue(oSimulator.List().Contains("NO Authenticate first"));
             Assert.IsTrue(oSimulator.LSUB().Contains("NO Authenticate first"));
             Assert.IsTrue(oSimulator.GetMyRights("APA").Contains("NO Authenticate first"));
             Assert.IsFalse(oSimulator.RenameFolder("A", "B"));
             Assert.IsFalse(oSimulator.Status("SomeFolder", "MESSAGES").Contains("A01 OK"));
        }
Exemplo n.º 8
0
        public void TestExamine()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             var oSimulator = new IMAPSimulator();

             string sWelcomeMessage = oSimulator.Connect();
             oSimulator.Logon(oAccount.Address, "test");
             Assert.IsTrue(oSimulator.CreateFolder("TestFolder"));
             string result = oSimulator.ExamineFolder("TestFolder");

             Assert.IsTrue(result.Contains("[PERMANENTFLAGS ()]"), result);
             Assert.IsTrue(result.Contains("[READ-ONLY]"), result);
        }
Exemplo n.º 9
0
        public void TestExpunge()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             Assert.IsTrue(SMTPClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test"));
             POP3Simulator.AssertMessageCount(oAccount.Address, "test", 1);

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

             var secondSimulator = new IMAPSimulator();
             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();
        }