public void TestRenameToAndFromINBOX() { hMailServer.Account oAccount = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.LogonWithLiteral(oAccount.Address, "test"); oSimulator.Send("A01 CREATE A\r\n"); Assert.IsFalse(oSimulator.RenameFolder("A", "INBOX")); Assert.IsFalse(oSimulator.RenameFolder("INBOX", "B")); oSimulator.Disconnect(); }
public void TestHierarchyDelimiterRename() { 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"; string newFolderName = "Apa/Test"; IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon(account.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder(folderName)); string listResponse = oSimulator.List(); Assert.IsTrue(listResponse.Contains("\"" + folderName + "\"")); Assert.IsTrue(listResponse.Contains("\"Test\"")); Assert.IsTrue(oSimulator.RenameFolder("Test", "Apa")); listResponse = oSimulator.List(); Assert.IsTrue(listResponse.Contains("\"" + newFolderName + "\"")); Assert.IsTrue(listResponse.Contains("\"Apa\"")); oSimulator.Disconnect(); }
public void TestRenameRootPublicFolder() { hMailServer.IMAPFolders folders = _application.Settings.PublicFolders; hMailServer.IMAPFolder folder = folders.Add("ShareA"); folder.Save(); hMailServer.IMAPFolderPermission permission = folder.Permissions.Add(); permission.PermissionType = hMailServer.eACLPermissionType.ePermissionTypeAnyone; permission.set_Permission(hMailServer.eACLPermission.ePermissionLookup, true); permission.set_Permission(hMailServer.eACLPermission.ePermissionRead, true); permission.set_Permission(hMailServer.eACLPermission.ePermissionDeleteMailbox, true); permission.Save(); hMailServer.IMAPFolder folder2 = folders.Add("ShareB"); folder2.Save(); hMailServer.IMAPFolderPermission permission2 = folder2.Permissions.Add(); permission2.PermissionType = hMailServer.eACLPermissionType.ePermissionTypeAnyone; permission2.set_Permission(hMailServer.eACLPermission.ePermissionLookup, true); permission2.set_Permission(hMailServer.eACLPermission.ePermissionRead, true); permission2.set_Permission(hMailServer.eACLPermission.ePermissionDeleteMailbox, true); permission2.Save(); hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator simulator1 = new IMAPSimulator(); simulator1.ConnectAndLogon(account.Address, "test"); Assert.IsTrue(simulator1.SelectFolder("#Public.ShareA")); Assert.IsTrue(simulator1.SelectFolder("#Public.ShareB")); Assert.IsTrue(simulator1.RenameFolder("#Public.ShareA", "#Public.ShareB.ShareA")); Assert.IsFalse(simulator1.SelectFolder("#Public.ShareA")); Assert.IsTrue(simulator1.SelectFolder("#Public.ShareB")); Assert.IsTrue(simulator1.SelectFolder("#Public.ShareB.ShareA")); }
public void TestRenameLongFolder() { hMailServer.Account oAccount = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.LogonWithLiteral(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder("1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25")); Assert.IsTrue(oSimulator.CreateFolder("A")); Assert.IsFalse(oSimulator.RenameFolder("1", "A.1")); Assert.IsTrue(oSimulator.RenameFolder("1.2.3", "A.1")); Assert.IsTrue(oSimulator.SelectFolder("A.1.4")); oSimulator.Disconnect(); }
public void TestRenameSubFolderToMatchingName() { hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); Assert.IsTrue(oSimulator.ConnectAndLogon(account.Address, "test")); Assert.IsTrue(oSimulator.CreateFolder("Folder1")); Assert.IsTrue(oSimulator.SelectFolder("Folder1")); string result = string.Empty; Assert.IsFalse(oSimulator.RenameFolder("Folder1", "Folder1.Sub1", out result)); Assert.IsTrue(result.Contains("A folder cannot be moved into one of its subfolders.")); Assert.IsTrue(oSimulator.SelectFolder("Folder1")); result = string.Empty; Assert.IsTrue(oSimulator.RenameFolder("Folder1", "Folder1Test", out result)); Assert.IsTrue(oSimulator.SelectFolder("Folder1Test")); oSimulator.Disconnect(); }
public void TestRenameToSubFolder() { hMailServer.Account oAccount = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.LogonWithLiteral(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder("1.2.3.4.5")); Assert.IsTrue(oSimulator.CreateFolder("A")); Assert.IsTrue(oSimulator.RenameFolder("1", "A.1")); Assert.IsTrue(oSimulator.SelectFolder("A.1")); Assert.IsTrue(oSimulator.SelectFolder("A.1.2.3.4.5")); Assert.IsTrue(oSimulator.RenameFolder("A.1", "1")); Assert.IsFalse(oSimulator.SelectFolder("A.1")); Assert.IsFalse(oSimulator.SelectFolder("A.1.2.3.4.5")); Assert.IsTrue(oSimulator.SelectFolder("1")); Assert.IsTrue(oSimulator.SelectFolder("1.2.3.4.5")); oSimulator.Disconnect(); }
public void TestRenameToParallelFolder() { hMailServer.Account oAccount = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.LogonWithLiteral(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder("Main.Sub")); Assert.IsTrue(oSimulator.RenameFolder("Main.Sub", "Second.Sub")); string listResponse = oSimulator.List(); Assert.IsFalse(listResponse.Contains("Main.Sub")); Assert.IsTrue(listResponse.Contains("Second.Sub")); oSimulator.Disconnect(); }
public void TestRenameToParallelFolder() { hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.LogonWithLiteral(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder("Main.Sub")); Assert.IsTrue(oSimulator.RenameFolder("Main.Sub", "Second.Sub")); string listResponse = oSimulator.List(); Assert.IsFalse(listResponse.Contains("Main.Sub")); Assert.IsTrue(listResponse.Contains("Second.Sub")); oSimulator.Disconnect(); }
public void TestRenameToAndFromINBOX() { hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.LogonWithLiteral(oAccount.Address, "test"); oSimulator.Send("A01 CREATE A\r\n"); Assert.IsFalse(oSimulator.RenameFolder("A", "INBOX")); Assert.IsFalse(oSimulator.RenameFolder("INBOX", "B")); oSimulator.Disconnect(); }
public void TestRenameSubFolderToMatchingName() { hMailServer.Account account = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); Assert.IsTrue(oSimulator.ConnectAndLogon(account.Address, "test")); Assert.IsTrue(oSimulator.CreateFolder("Folder1")); Assert.IsTrue(oSimulator.SelectFolder("Folder1")); string result = string.Empty; Assert.IsFalse(oSimulator.RenameFolder("Folder1", "Folder1.Sub1", out result)); Assert.IsTrue(result.Contains("A folder cannot be moved into one of its subfolders.")); Assert.IsTrue(oSimulator.SelectFolder("Folder1")); result = string.Empty; Assert.IsTrue(oSimulator.RenameFolder("Folder1", "Folder1Test", out result)); Assert.IsTrue(oSimulator.SelectFolder("Folder1Test")); oSimulator.Disconnect(); }
public void TestRenameRootPublicFolder() { hMailServer.IMAPFolders folders = _application.Settings.PublicFolders; hMailServer.IMAPFolder folder = folders.Add("ShareA"); folder.Save(); hMailServer.IMAPFolderPermission permission = folder.Permissions.Add(); permission.PermissionType = hMailServer.eACLPermissionType.ePermissionTypeAnyone; permission.set_Permission(hMailServer.eACLPermission.ePermissionLookup, true); permission.set_Permission(hMailServer.eACLPermission.ePermissionRead, true); permission.set_Permission(hMailServer.eACLPermission.ePermissionDeleteMailbox, true); permission.Save(); hMailServer.IMAPFolder folder2 = folders.Add("ShareB"); folder2.Save(); hMailServer.IMAPFolderPermission permission2 = folder2.Permissions.Add(); permission2.PermissionType = hMailServer.eACLPermissionType.ePermissionTypeAnyone; permission2.set_Permission(hMailServer.eACLPermission.ePermissionLookup, true); permission2.set_Permission(hMailServer.eACLPermission.ePermissionRead, true); permission2.set_Permission(hMailServer.eACLPermission.ePermissionDeleteMailbox, true); permission2.Save(); hMailServer.Account account = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator simulator1 = new IMAPSimulator(); simulator1.ConnectAndLogon(account.Address, "test"); Assert.IsTrue(simulator1.SelectFolder("#Public.ShareA")); Assert.IsTrue(simulator1.SelectFolder("#Public.ShareB")); Assert.IsTrue(simulator1.RenameFolder("#Public.ShareA", "#Public.ShareB.ShareA")); Assert.IsFalse(simulator1.SelectFolder("#Public.ShareA")); Assert.IsTrue(simulator1.SelectFolder("#Public.ShareB")); Assert.IsTrue(simulator1.SelectFolder("#Public.ShareB.ShareA")); }
public void TestRenameLongFolder() { hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.LogonWithLiteral(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder("1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25")); Assert.IsTrue(oSimulator.CreateFolder("A")); Assert.IsFalse(oSimulator.RenameFolder("1", "A.1")); Assert.IsTrue(oSimulator.RenameFolder("1.2.3", "A.1")); Assert.IsTrue(oSimulator.SelectFolder("A.1.4")); oSimulator.Disconnect(); }
public void TestRename() { hMailServer.Application application = SingletonProvider<Utilities>.Instance.GetApp(); ; hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon("*****@*****.**", "test"); Assert.IsTrue(oSimulator.CreateFolder("Root1")); Assert.IsTrue(oSimulator.CreateFolder("Root1.Sub1")); Assert.IsTrue(oSimulator.CreateFolder("Root1.Sub2")); Assert.IsTrue(oSimulator.CreateFolder("Root1.Sub3")); Assert.IsTrue(oSimulator.SelectFolder("Root1")); Assert.IsTrue(oSimulator.SelectFolder("Root1.Sub1")); Assert.IsTrue(oSimulator.SelectFolder("Root1.Sub2")); Assert.IsTrue(oSimulator.SelectFolder("Root1.Sub3")); Assert.IsTrue(oSimulator.RenameFolder("Root1", "Root2")); Assert.IsTrue(oSimulator.SelectFolder("Root2")); Assert.IsTrue(oSimulator.SelectFolder("Root2.Sub1")); Assert.IsTrue(oSimulator.SelectFolder("Root2.Sub2")); Assert.IsTrue(oSimulator.SelectFolder("Root2.Sub3")); oSimulator.Disconnect(); }
public void TestRenameAndList5() { hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon("*****@*****.**", "test"); oSimulator.CreateFolder("Root1"); oSimulator.CreateFolder("Root2.Root3"); oSimulator.RenameFolder("Root2.Root3", "Root2.Root4"); oSimulator.RenameFolder("Root1", "Root2.Root4.Root1"); string result = oSimulator.List(); Assert.IsFalse(result.Contains(" Root1\r\n")); Assert.IsTrue(result.Contains("Root2.Root4.Root1\"\r\n")); Assert.IsFalse(oSimulator.SelectFolder("Root1")); Assert.IsTrue(oSimulator.SelectFolder("Root2.Root4.Root1")); oSimulator.Disconnect(); }
public void TestRenamePublicFolderToRootPublicFolder() { 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.set_Permission(hMailServer.eACLPermission.ePermissionLookup, true); permission.set_Permission(hMailServer.eACLPermission.ePermissionDeleteMailbox, true); permission.Save(); string oldFolderName = "#Public.Share1.MySub1"; string newFolderName = "#Public.Share2"; IMAPSimulator oSimulator1 = new IMAPSimulator(); oSimulator1.Connect(); oSimulator1.Logon(account1.Address, "test"); Assert.IsTrue(oSimulator1.CreateFolder(oldFolderName)); Assert.IsFalse(oSimulator1.RenameFolder(oldFolderName, newFolderName)); Assert.IsTrue(oSimulator1.List().Contains(oldFolderName)); Assert.IsFalse(oSimulator1.List().Contains(newFolderName)); oSimulator1.Disconnect(); }
public void TestRenameToSubFolder() { hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.LogonWithLiteral(oAccount.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder("1.2.3.4.5")); Assert.IsTrue(oSimulator.CreateFolder("A")); Assert.IsTrue(oSimulator.RenameFolder("1", "A.1")); Assert.IsTrue(oSimulator.SelectFolder("A.1")); Assert.IsTrue(oSimulator.SelectFolder("A.1.2.3.4.5")); Assert.IsTrue(oSimulator.RenameFolder("A.1", "1")); Assert.IsFalse(oSimulator.SelectFolder("A.1")); Assert.IsFalse(oSimulator.SelectFolder("A.1.2.3.4.5")); Assert.IsTrue(oSimulator.SelectFolder("1")); Assert.IsTrue(oSimulator.SelectFolder("1.2.3.4.5")); oSimulator.Disconnect(); }
public void TestRenameIMAPFolderNotifications() { _settings.IMAPIdleEnabled = true; hMailServer.Account oAccount = SingletonProvider<Utilities>.Instance.AddAccount(_domain, "*****@*****.**", "test"); IMAPSimulator oSimulator1 = new IMAPSimulator(); IMAPSimulator oSimulator2 = new IMAPSimulator(); oSimulator1.ConnectAndLogon(oAccount.Address, "test"); oSimulator2.ConnectAndLogon(oAccount.Address, "test"); oSimulator1.SelectFolder("Inbox"); oSimulator2.CreateFolder("Mailbox"); oSimulator2.RenameFolder("Mailbox", "Mailbox2"); SMTPClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test"); POP3Simulator.AssertMessageCount(oAccount.Address, "test", 1); string noopResponse = oSimulator1.NOOP() + oSimulator1.NOOP(); // confirm that the client is notified about this message even though another // folder has been dropped by another client. Assert.IsTrue(noopResponse.Contains(@"* 1 EXISTS"), noopResponse); }
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 TestHierarchyDelimiterRename() { 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"; string newFolderName = "Apa/Test"; IMAPSimulator oSimulator = new IMAPSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon(account.Address, "test"); Assert.IsTrue(oSimulator.CreateFolder(folderName)); string listResponse = oSimulator.List(); Assert.IsTrue(listResponse.Contains("\"" + folderName + "\"")); Assert.IsTrue(listResponse.Contains("\"Test\"")); Assert.IsTrue(oSimulator.RenameFolder("Test", "Apa")); listResponse = oSimulator.List(); Assert.IsTrue(listResponse.Contains("\"" + newFolderName + "\"")); Assert.IsTrue(listResponse.Contains("\"Apa\"")); oSimulator.Disconnect(); }
public void TestRenameFolderToAndFromPublic() { 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.set_Permission(hMailServer.eACLPermission.ePermissionDeleteMailbox, true); permission.set_Permission(hMailServer.eACLPermission.ePermissionLookup, true); permission.Save(); string oldFolderName = "#Public.Share1"; string newFolderName = "AccountLevelFolder"; // Test renaming from local folder name to shared folder. IMAPSimulator oSimulator1 = new IMAPSimulator(); oSimulator1.Connect(); oSimulator1.Logon(account1.Address, "test"); Assert.IsFalse(oSimulator1.RenameFolder(oldFolderName, newFolderName)); oSimulator1.Disconnect(); // Test renaming from local folder name to shared folder. oldFolderName = "LocalFolder"; newFolderName = "#Public.Share1"; oSimulator1 = new IMAPSimulator(); oSimulator1.Connect(); oSimulator1.Logon(account1.Address, "test"); oSimulator1.CreateFolder(oldFolderName); Assert.IsFalse(oSimulator1.RenameFolder(oldFolderName, newFolderName)); oSimulator1.Disconnect(); }