public void TestLsubInclusion() { hMailServer.Account oAccount = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); string folderName = "Folder1"; IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder(folderName)); Assert.IsFalse(oSimulator.LSUB().Contains(folderName)); Assert.IsTrue(oSimulator.Subscribe(folderName)); Assert.IsTrue(oSimulator.LSUB().Contains(folderName)); oSimulator.Disconnect(); }
public void TestListWithReference() { hMailServer.Account oAccount = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); 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); Assert.IsFalse(response.Contains("INBOX")); Assert.IsFalse(response.Contains("SomeOtherFolder")); Assert.IsTrue(response.Contains("* LIST (\\HasChildren) \".\" \"Main.Sub1\"")); Assert.IsTrue(response.Contains("* LIST (\\HasChildren) \".\" \"Main.Sub1.Sub2\"")); Assert.IsTrue(response.Contains("* LIST (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\"")); response = oSimulator.List("Main.Sub1", "*", true); Assert.IsFalse(response.Contains("INBOX")); Assert.IsFalse(response.Contains("SomeOtherFolder")); Assert.IsTrue(response.Contains("* LIST (\\HasChildren) \".\" \"Main.Sub1.Sub2\"")); Assert.IsTrue(response.Contains("* LIST (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\"")); response = oSimulator.LSUB("Main", "*"); Assert.IsFalse(response.Contains("INBOX")); Assert.IsFalse(response.Contains("SomeOtherFolder")); Assert.IsTrue(response.Contains("* LSUB (\\HasChildren) \".\" \"Main.Sub1\"")); Assert.IsTrue(response.Contains("* LSUB (\\HasChildren) \".\" \"Main.Sub1.Sub2\"")); Assert.IsTrue(response.Contains("* LSUB (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\"")); response = oSimulator.LSUB("Main.Sub1", "*"); Assert.IsFalse(response.Contains("INBOX")); Assert.IsFalse(response.Contains("SomeOtherFolder")); Assert.IsTrue(response.Contains("* LSUB (\\HasChildren) \".\" \"Main.Sub1.Sub2\"")); Assert.IsTrue(response.Contains("* LSUB (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\"")); oSimulator.Disconnect(); }
public void TestFolderCaseInLSUB() { hMailServer.Account oAccount = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); string folderName = "ABC.def.GHI"; IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder(folderName)); Assert.IsTrue(oSimulator.Subscribe(folderName)); Assert.IsFalse(oSimulator.LSUB("ABC.DEF.*").Contains("ABC.def.GHI")); Assert.IsTrue(oSimulator.LSUB("ABC.DEF.*").Contains("ABC.DEF.GHI")); Assert.IsFalse(oSimulator.LSUB("ABC.def.*").Contains("ABC.DEF")); Assert.IsTrue(oSimulator.LSUB("ABC.def.*").Contains("ABC.def.GHI")); Assert.IsTrue(oSimulator.SelectFolder(folderName)); oSimulator.Disconnect(); }
public void TestHierarchyDelimiterSlash() { hMailServer.Application application = SingletonProvider <Utilities> .Instance.GetApp(); hMailServer.Settings settings = _settings; settings.IMAPHierarchyDelimiter = "\\"; hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); string folderName = "Test\\Test"; IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon(account.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder(folderName)); Assert.IsTrue(oSimulator.Subscribe("Test")); Assert.IsTrue(oSimulator.Subscribe("Test\\Test")); string lsubResponse = oSimulator.LSUB(); Assert.IsTrue(lsubResponse.Contains("\"Test\\Test\"")); Assert.IsTrue(lsubResponse.Contains("\"Test\"")); oSimulator.Disconnect(); }
public void TestHierarchyDelimiterLsubResponse() { hMailServer.Application application = SingletonProvider<Utilities>.Instance.GetApp(); hMailServer.Settings settings = _settings; settings.IMAPHierarchyDelimiter = "/"; hMailServer.Account account = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); string folderName = "Test/Test"; IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon(account.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder(folderName)); Assert.IsTrue(oSimulator.Subscribe("Test")); Assert.IsTrue(oSimulator.Subscribe("Test/Test")); string lsubResponse = oSimulator.LSUB(); Assert.IsTrue(lsubResponse.Contains("\"Test/Test\"")); Assert.IsTrue(lsubResponse.Contains("\"Test\"")); oSimulator.Disconnect(); }
public void TestLsubInclusion() { hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); string folderName = "Folder1"; IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder(folderName)); Assert.IsFalse(oSimulator.LSUB().Contains(folderName)); Assert.IsTrue(oSimulator.Subscribe(folderName)); Assert.IsTrue(oSimulator.LSUB().Contains(folderName)); oSimulator.Disconnect(); }
public void TestListWithReference() { hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); 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); Assert.IsFalse(response.Contains("INBOX")); Assert.IsFalse(response.Contains("SomeOtherFolder")); Assert.IsTrue(response.Contains("* LIST (\\HasChildren) \".\" \"Main.Sub1\"")); Assert.IsTrue(response.Contains("* LIST (\\HasChildren) \".\" \"Main.Sub1.Sub2\"")); Assert.IsTrue(response.Contains("* LIST (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\"")); response = oSimulator.List("Main.Sub1", "*", true); Assert.IsFalse(response.Contains("INBOX")); Assert.IsFalse(response.Contains("SomeOtherFolder")); Assert.IsTrue(response.Contains("* LIST (\\HasChildren) \".\" \"Main.Sub1.Sub2\"")); Assert.IsTrue(response.Contains("* LIST (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\"")); response = oSimulator.LSUB("Main", "*"); Assert.IsFalse(response.Contains("INBOX")); Assert.IsFalse(response.Contains("SomeOtherFolder")); Assert.IsTrue(response.Contains("* LSUB (\\HasChildren) \".\" \"Main.Sub1\"")); Assert.IsTrue(response.Contains("* LSUB (\\HasChildren) \".\" \"Main.Sub1.Sub2\"")); Assert.IsTrue(response.Contains("* LSUB (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\"")); response = oSimulator.LSUB("Main.Sub1", "*"); Assert.IsFalse(response.Contains("INBOX")); Assert.IsFalse(response.Contains("SomeOtherFolder")); Assert.IsTrue(response.Contains("* LSUB (\\HasChildren) \".\" \"Main.Sub1.Sub2\"")); Assert.IsTrue(response.Contains("* LSUB (\\HasNoChildren) \".\" \"Main.Sub1.Sub2.Sub3\"")); oSimulator.Disconnect(); }
public void TestFolderCaseInLSUB() { hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); string folderName = "ABC.def.GHI"; IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder(folderName)); Assert.IsTrue(oSimulator.Subscribe(folderName)); Assert.IsFalse(oSimulator.LSUB("ABC.DEF.*").Contains("ABC.def.GHI")); Assert.IsTrue(oSimulator.LSUB("ABC.DEF.*").Contains("ABC.DEF.GHI")); Assert.IsFalse(oSimulator.LSUB("ABC.def.*").Contains("ABC.DEF")); Assert.IsTrue(oSimulator.LSUB("ABC.def.*").Contains("ABC.def.GHI")); Assert.IsTrue(oSimulator.SelectFolder(folderName)); oSimulator.Disconnect(); }
public void TestBeforeLogon() { hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator 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")); }
public void TestLSUBPublicFolderParent() { hMailServer.Application application = SingletonProvider<Utilities>.Instance.GetApp(); hMailServer.Account account1 = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); hMailServer.IMAPFolders publicFolders = _settings.PublicFolders; hMailServer.IMAPFolder folder = publicFolders.Add("Share1"); folder.Save(); hMailServer.IMAPFolderPermission permission = folder.Permissions.Add(); permission.PermissionAccountID = account1.ID; permission.PermissionType = hMailServer.eACLPermissionType.ePermissionTypeUser; permission.set_Permission(hMailServer.eACLPermission.ePermissionCreate, true); permission.Save(); string folderName = "#Public.Share1"; IMAPSimulator oSimulator1 = new IMAPSimulator(); oSimulator1.Connect(); oSimulator1.Logon(account1.Address, "test"); Assert.IsFalse(oSimulator1.LSUB().Contains(folderName)); // Add permissions to select and lookup permission.set_Permission(hMailServer.eACLPermission.ePermissionLookup, true); permission.Save(); Assert.IsTrue(oSimulator1.LSUB().Contains("#Public\"\r\n")); Assert.IsTrue(oSimulator1.LSUB().Contains(folderName)); oSimulator1.Disconnect(); }