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