Beispiel #1
0
        public void TestFolderDeletion()
        {
            // Create a test account
            // Fetch the default domain
            Account account1 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            IMAPFolder folder = account1.IMAPFolders.Add("TestFolder1");

            folder.Save();

            var simulator1 = new IMAPClientSimulator();

            simulator1.ConnectAndLogon(account1.Address, "test");
            string result = simulator1.List();

            CustomAssert.IsTrue(result.Contains(folder.Name));
            simulator1.Disconnect();

            // Delete the folder and confirm it's no longer listed.
            folder.Delete();

            simulator1.ConnectAndLogon(account1.Address, "test");
            result = simulator1.List();
            CustomAssert.IsFalse(result.Contains(folder.Name));
            simulator1.Disconnect();
        }
        public void TestHierarchyDelimiterDelete()
        {
            Application application = SingletonProvider <TestSetup> .Instance.GetApp();

            Settings settings = _settings;

            settings.IMAPHierarchyDelimiter = "\\";

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

            string folderName = "Test\\Test";

            var    oSimulator      = new IMAPClientSimulator();
            string sWelcomeMessage = oSimulator.Connect();

            oSimulator.Logon(account.Address, "test");
            CustomAssert.IsTrue(oSimulator.CreateFolder(folderName));
            string listResponse = oSimulator.List();

            CustomAssert.IsTrue(listResponse.Contains("\"Test\\Test\""));
            CustomAssert.IsTrue(listResponse.Contains("\"Test\""));
            CustomAssert.IsTrue(oSimulator.DeleteFolder("Test\\Test"));
            listResponse = oSimulator.List();
            CustomAssert.IsFalse(listResponse.Contains("Test\\Test"));
            CustomAssert.IsTrue(listResponse.Contains("Test"));
            oSimulator.Disconnect();
        }
Beispiel #3
0
        public void TestListSpecial()
        {
            Account oAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            var    oSimulator      = new IMAPClientSimulator();
            string sWelcomeMessage = oSimulator.Connect();

            oSimulator.Logon(oAccount.Address, "test");
            string response = oSimulator.List("");

            CustomAssert.IsTrue(response.StartsWith("* LIST (\\Noselect) \".\" \"\""));
            oSimulator.Disconnect();

            _settings.IMAPHierarchyDelimiter = "/";

            oSimulator      = new IMAPClientSimulator();
            sWelcomeMessage = oSimulator.Connect();
            oSimulator.Logon(oAccount.Address, "test");
            response = oSimulator.List("");
            CustomAssert.IsTrue(response.StartsWith("* LIST (\\Noselect) \"/\" \"\""));
            oSimulator.Disconnect();

            _settings.IMAPHierarchyDelimiter = "\\";

            oSimulator      = new IMAPClientSimulator();
            sWelcomeMessage = oSimulator.Connect();
            oSimulator.Logon(oAccount.Address, "test");
            response = oSimulator.List("", false);
            string expectedResponse = "* LIST (\\Noselect) \"\\\\\" \"\"";

            CustomAssert.IsTrue(response.StartsWith(expectedResponse));
            oSimulator.Disconnect();
        }
Beispiel #4
0
        public void TestListWithReference()
        {
            Account oAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            var oSimulator = new IMAPClientSimulator();

            oSimulator.ConnectAndLogon(oAccount.Address, "test");
            oSimulator.CreateFolder("Main.Sub1.Sub2.Sub3");
            oSimulator.CreateFolder("SomeOtherFolder");

            oSimulator.Subscribe("Main");
            oSimulator.Subscribe("Main.Sub1");
            oSimulator.Subscribe("Main.Sub1.Sub2");
            oSimulator.Subscribe("Main.Sub1.Sub2.Sub3");
            oSimulator.Subscribe("SomeOtherFolder");

            string response = oSimulator.List("Main", "*", true);

            CustomAssert.IsFalse(response.Contains("INBOX"));
            CustomAssert.IsFalse(response.Contains("SomeOtherFolder"));
            CustomAssert.IsTrue(response.Contains("* LIST (\\HasChildren) \".\" \"Main.Sub1\""));
            CustomAssert.IsTrue(response.Contains("* LIST (\\HasChildren) \".\" \"Main.Sub1.Sub2\""));
            CustomAssert.IsTrue(response.Contains("* LIST (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\""));

            response = oSimulator.List("Main.Sub1", "*", true);
            CustomAssert.IsFalse(response.Contains("INBOX"));
            CustomAssert.IsFalse(response.Contains("SomeOtherFolder"));
            CustomAssert.IsTrue(response.Contains("* LIST (\\HasChildren) \".\" \"Main.Sub1.Sub2\""));
            CustomAssert.IsTrue(response.Contains("* LIST (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\""));

            response = oSimulator.LSUB("Main", "*");
            CustomAssert.IsFalse(response.Contains("INBOX"));
            CustomAssert.IsFalse(response.Contains("SomeOtherFolder"));
            CustomAssert.IsTrue(response.Contains("* LSUB (\\HasChildren) \".\" \"Main.Sub1\""));
            CustomAssert.IsTrue(response.Contains("* LSUB (\\HasChildren) \".\" \"Main.Sub1.Sub2\""));
            CustomAssert.IsTrue(response.Contains("* LSUB (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\""));

            response = oSimulator.LSUB("Main.Sub1", "*");
            CustomAssert.IsFalse(response.Contains("INBOX"));
            CustomAssert.IsFalse(response.Contains("SomeOtherFolder"));
            CustomAssert.IsTrue(response.Contains("* LSUB (\\HasChildren) \".\" \"Main.Sub1.Sub2\""));
            CustomAssert.IsTrue(response.Contains("* LSUB (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\""));

            oSimulator.Disconnect();
        }
Beispiel #5
0
        public void TestFolderCaseInLIST()
        {
            Account oAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            string folderName = "ABC.def.GHI";

            var oSimulator = new IMAPClientSimulator();

            oSimulator.Connect();
            oSimulator.Logon(oAccount.Address, "test");
            CustomAssert.IsTrue(oSimulator.CreateFolder(folderName));
            CustomAssert.IsFalse(oSimulator.List("ABC.DEF.*").Contains("ABC.def.GHI"));
            CustomAssert.IsTrue(oSimulator.List("ABC.DEF.*").Contains("ABC.DEF.GHI"));
            CustomAssert.IsFalse(oSimulator.List("ABC.def.*").Contains("ABC.DEF"));
            CustomAssert.IsTrue(oSimulator.List("ABC.def.*").Contains("ABC.def.GHI"));
            CustomAssert.IsTrue(oSimulator.SelectFolder(folderName));
            oSimulator.Disconnect();
        }
Beispiel #6
0
        public void TestListCommandChangedHierarchyDelimiter()
        {
            Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            _settings.IMAPHierarchyDelimiter = "\\";

            var oSimulator = new IMAPClientSimulator();

            oSimulator.Connect();
            oSimulator.LogonWithLiteral(account.Address, "test");
            oSimulator.CreateFolder("Test\\HelloWorld\\Test2");

            string response = oSimulator.List("%");

            CustomAssert.IsTrue(response.Contains("\"Test\""), response);

            response = oSimulator.List("%\\%");
            CustomAssert.IsTrue(response.Contains("\"Test\\HelloWorld\""), response);

            response = oSimulator.List("%\\%\\%%");
            CustomAssert.IsTrue(response.Contains("\"Test\\HelloWorld\\Test2\""), response);
        }
Beispiel #7
0
        public void TestCreateFolderWithSlash()
        {
            Account oAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            const string folderName = "ABC\\123";

            var oSimulator = new IMAPClientSimulator();

            oSimulator.Connect();
            oSimulator.Logon(oAccount.Address, "test");
            CustomAssert.IsTrue(oSimulator.CreateFolder(folderName));
            CustomAssert.IsTrue(oSimulator.List().Contains(folderName));
            CustomAssert.IsTrue(oSimulator.SelectFolder(folderName));
            oSimulator.Disconnect();
        }
Beispiel #8
0
        public void TestRenameToParallelFolder()
        {
            Account oAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            var oSimulator = new IMAPClientSimulator();

            string sWelcomeMessage = oSimulator.Connect();

            oSimulator.LogonWithLiteral(oAccount.Address, "test");
            CustomAssert.IsTrue(oSimulator.CreateFolder("Main.Sub"));
            CustomAssert.IsTrue(oSimulator.RenameFolder("Main.Sub", "Second.Sub"));

            string listResponse = oSimulator.List();

            CustomAssert.IsFalse(listResponse.Contains("Main.Sub"));
            CustomAssert.IsTrue(listResponse.Contains("Second.Sub"));


            oSimulator.Disconnect();
        }
Beispiel #9
0
        public void TestListWithReferenceTestCase2()
        {
            Account oAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            var oSimulator = new IMAPClientSimulator();

            oSimulator.ConnectAndLogon(oAccount.Address, "test");
            oSimulator.CreateFolder("INBOX.MyApp.SubFolder1");
            oSimulator.CreateFolder("INBOX.MyApp.SubFolder2");
            oSimulator.CreateFolder("INBOX.SomeOtherFolder");


            string response = oSimulator.List("INBOX.MyApp", "%.%", true);

            CustomAssert.IsFalse(response.Contains("\"INBOX.MyApp\""));
            CustomAssert.IsFalse(response.Contains("\"INBOX.SomeOtherFolder\""));
            CustomAssert.IsTrue(response.Contains("* LIST (\\HasNoChildren) \".\" \"INBOX.MyApp.SubFolder1\""));
            CustomAssert.IsTrue(response.Contains("* LIST (\\HasNoChildren) \".\" \"INBOX.MyApp.SubFolder2\""));

            oSimulator.Disconnect();
        }