コード例 #1
0
ファイル: Basics.cs プロジェクト: digitalsoft/hmailserver
        public void TestFolderUpdateNotification()
        {
            Account account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             SMTPClientSimulator.StaticSend(account.Address, account.Address, "TestSubject", "TestBody");

             IMAPClientSimulator.AssertMessageCount(account.Address, "test", "Inbox", 1);

             var simulator1 = new IMAPClientSimulator();
             var simulator2 = new IMAPClientSimulator();

             simulator1.ConnectAndLogon(account.Address, "test");
             simulator2.ConnectAndLogon(account.Address, "test");

             simulator1.SelectFolder("Inbox");
             simulator2.SelectFolder("Inbox");

             string result = simulator2.NOOP() + simulator2.NOOP();
             CustomAssert.IsFalse(result.Contains("Deleted"));
             CustomAssert.IsFalse(result.Contains("Seen"));

             simulator1.SetDeletedFlag(1);
             simulator1.SetSeenFlag(1);

             result = simulator2.NOOP() + simulator2.NOOP();
             CustomAssert.IsTrue(result.Contains("Deleted"));
             CustomAssert.IsTrue(result.Contains("Seen"));

             simulator1.Disconnect();
             simulator2.Disconnect();
        }
コード例 #2
0
ファイル: Basics.cs プロジェクト: digitalsoft/hmailserver
        public void TestPublicFolderUpdateNotification()
        {
            IMAPFolders folders = _application.Settings.PublicFolders;
             IMAPFolder folder = folders.Add("Share");
             folder.Save();

             IMAPFolderPermission permission = folder.Permissions.Add();
             permission.PermissionType = eACLPermissionType.ePermissionTypeAnyone;
             permission.set_Permission(eACLPermission.ePermissionLookup, true);
             permission.set_Permission(eACLPermission.ePermissionRead, true);
             permission.set_Permission(eACLPermission.ePermissionWriteOthers, true);
             permission.set_Permission(eACLPermission.ePermissionWriteSeen, true);
             permission.set_Permission(eACLPermission.ePermissionWriteDeleted, true);
             permission.set_Permission(eACLPermission.ePermissionInsert, true);
             permission.Save();

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

             SMTPClientSimulator.StaticSend(account.Address, account.Address, "TestSubject", "TestBody");
             IMAPClientSimulator.AssertMessageCount(account.Address, "test", "Inbox", 1);

             var simulator1 = new IMAPClientSimulator();
             var simulator2 = new IMAPClientSimulator();

             simulator1.ConnectAndLogon(account.Address, "test");
             simulator2.ConnectAndLogon(account.Address, "test");

             simulator1.SelectFolder("Inbox");
             simulator2.SelectFolder("Inbox");

             CustomAssert.IsTrue(simulator1.Copy(1, "#Public.Share"));

             simulator1.SelectFolder("#Public.Share");
             simulator2.SelectFolder("#Public.Share");

             string result = simulator2.NOOP() + simulator2.NOOP();
             CustomAssert.IsFalse(result.Contains("Deleted"));
             CustomAssert.IsFalse(result.Contains("Seen"));

             simulator1.SetDeletedFlag(1);
             simulator1.SetSeenFlag(1);

             result = simulator2.NOOP() + simulator2.NOOP();
             CustomAssert.IsTrue(result.Contains("Deleted"));
             CustomAssert.IsTrue(result.Contains("Seen"));

             simulator1.Disconnect();
             simulator2.Disconnect();
        }