Example #1
0
        public void TestCapability()
        {
            hMailServer.Settings settings = _settings;

             settings.IMAPIdleEnabled = true;
             settings.IMAPQuotaEnabled = true;
             settings.IMAPSortEnabled = true;

             IMAPSimulator oSimulator = new IMAPSimulator();
             oSimulator.Connect();

             string sCapabilities = oSimulator.GetCapabilities();

             if (sCapabilities.IndexOf(" IDLE") == -1 ||
             sCapabilities.IndexOf(" QUOTA") == -1 ||
             sCapabilities.IndexOf(" SORT") == -1)
             {
            throw new Exception("ERROR - Wrong IMAP CAPABILITY.");
             }

             settings.IMAPIdleEnabled = false;
             settings.IMAPQuotaEnabled = true;
             settings.IMAPSortEnabled = true;
             sCapabilities = oSimulator.GetCapabilities();

             if (sCapabilities.IndexOf(" IDLE") != -1 ||
             sCapabilities.IndexOf(" QUOTA") == -1 ||
             sCapabilities.IndexOf(" SORT") == -1)
             {
            throw new Exception("ERROR - Wrong IMAP CAPABILITY.");
             }

             settings.IMAPIdleEnabled = false;
             settings.IMAPQuotaEnabled = false;
             settings.IMAPSortEnabled = true;
             sCapabilities = oSimulator.GetCapabilities();

             if (sCapabilities.IndexOf(" IDLE") != -1 ||
             sCapabilities.IndexOf(" QUOTA") != -1 ||
             sCapabilities.IndexOf(" SORT") == -1)
             {
            throw new Exception("ERROR - Wrong IMAP CAPABILITY.");
             }

             settings.IMAPIdleEnabled = false;
             settings.IMAPQuotaEnabled = false;
             settings.IMAPSortEnabled = false;
             sCapabilities = oSimulator.GetCapabilities();

             if (sCapabilities.IndexOf(" IDLE") != -1 ||
             sCapabilities.IndexOf(" QUOTA") != -1 ||
             sCapabilities.IndexOf(" SORT") != -1)
             {
            throw new Exception("ERROR - Wrong IMAP CAPABILITY.");
             }

             settings.IMAPIdleEnabled = true;
             settings.IMAPQuotaEnabled = false;
             settings.IMAPSortEnabled = false;
             sCapabilities = oSimulator.GetCapabilities();

             if (sCapabilities.IndexOf(" IDLE") == -1 ||
             sCapabilities.IndexOf(" QUOTA") != -1 ||
             sCapabilities.IndexOf(" SORT") != -1)
             {
            throw new Exception("ERROR - Wrong IMAP CAPABILITY.");
             }

             settings.IMAPIdleEnabled = true;
             settings.IMAPQuotaEnabled = true;
             settings.IMAPSortEnabled = false;
             sCapabilities = oSimulator.GetCapabilities();

             if (sCapabilities.IndexOf(" IDLE") == -1 ||
             sCapabilities.IndexOf(" QUOTA") == -1 ||
             sCapabilities.IndexOf(" SORT") != -1)
             {
            throw new Exception("ERROR - Wrong IMAP CAPABILITY.");
             }

             settings.IMAPACLEnabled = true;

             sCapabilities = oSimulator.GetCapabilities();
             Assert.IsTrue(sCapabilities.Contains(" ACL"));

             settings.IMAPACLEnabled = false;

             sCapabilities = oSimulator.GetCapabilities();
             Assert.IsFalse(sCapabilities.Contains(" ACL"));
        }