public void TestGetACL() { 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.ePermissionAdminister, true); permission.Save(); string folderName = "#Public.Share1"; IMAPSimulator oSimulator1 = new IMAPSimulator(); oSimulator1.Connect(); oSimulator1.LogonWithLiteral(account1.Address, "test"); string result = oSimulator1.GetACL(folderName); Assert.IsTrue(result.StartsWith("* ACL \"" + folderName + "\" " + account1.Address + " ka")); permission.set_Permission(hMailServer.eACLPermission.ePermissionDeleteMailbox, true); permission.Save(); result = oSimulator1.GetACL(folderName); Assert.IsTrue(result.StartsWith("* ACL \"" + folderName + "\" " + account1.Address + " kxa")); permission.set_Permission(hMailServer.eACLPermission.ePermissionRead, true); permission.Save(); result = oSimulator1.GetACL(folderName); Assert.IsTrue(result.StartsWith("* ACL \"" + folderName + "\" " + account1.Address + " rkxa")); permission.set_Permission(hMailServer.eACLPermission.ePermissionExpunge, true); permission.Save(); result = oSimulator1.GetACL(folderName); Assert.IsTrue(result.StartsWith("* ACL \"" + folderName + "\" " + account1.Address + " rkxea")); oSimulator1.Disconnect(); }