AssertRecipientsInDeliveryQueue() public static method

public static AssertRecipientsInDeliveryQueue ( int count ) : void
count int
return void
Example #1
0
        public static void AssertMessageCount(string accountName, string accountPassword, int expectedCount)
        {
            if (expectedCount == 0)
            {
                // just in case.
                Utilities.AssertRecipientsInDeliveryQueue(0);
            }

            int timeout     = 100;
            int actualCount = 0;

            while (timeout > 0)
            {
                POP3Simulator oPOP3 = new POP3Simulator();

                actualCount = oPOP3.GetMessageCount(accountName, accountPassword);
                if (actualCount == expectedCount)
                {
                    return;
                }

                if (actualCount > expectedCount)
                {
                    Assert.Fail(string.Format("Actual count exceeds expected count. Account name: {2}, Actual: {0}, Expected: {1}.", actualCount, expectedCount, accountName));
                }

                timeout--;
                Thread.Sleep(50);
            }

            Assert.Fail(string.Format("Wrong number of messages in inbox for {0}. Actual: {1}, Expected: {2}",
                                      accountName, actualCount, expectedCount));
        }
Example #2
0
        public static void AssertMessageExistsInFolder(hMailServer.IMAPFolder folder, int expectedCount)
        {
            if (expectedCount == 0)
            {
                // just in case.
                Utilities.AssertRecipientsInDeliveryQueue(0);
            }

            int currentCount = 0;
            int timeout      = 100;

            while (timeout > 0)
            {
                currentCount = folder.Messages.Count;

                if (currentCount == expectedCount)
                {
                    return;
                }

                timeout--;
                Thread.Sleep(100);
            }

            string error = "Wrong number of messages in mailbox " + folder.Name;

            Assert.Fail(error);
        }
Example #3
0
        public static void AssertMessageCount(string accountName, string accountPassword, string folderName, int expectedCount)
        {
            if (expectedCount == 0)
            {
                // make sure that we aren't currently delivering messages.
                Utilities.AssertRecipientsInDeliveryQueue(0);
            }

            IMAPSimulator oIMAP = new IMAPSimulator();

            Assert.IsTrue(oIMAP.ConnectAndLogon(accountName, accountPassword));

            if (expectedCount != 0)
            {
                oIMAP.AssertFolderExists(folderName);
            }

            int currentCount = 0;
            int timeout      = 1000; // 1000 * 25 = 25 seconds.

            while (timeout > 0)
            {
                currentCount = oIMAP.GetMessageCount(folderName);

                if (currentCount > expectedCount)
                {
                    break;
                }

                if (currentCount == expectedCount)
                {
                    oIMAP.Disconnect();
                    return;
                }

                timeout--;
                Thread.Sleep(25);
            }

            oIMAP.Disconnect();

            string error = "Wrong number of messages in mailbox " + folderName + " in account " + accountName + " Actual: " + currentCount.ToString() + " Expected: " + expectedCount.ToString();

            Assert.Fail(error);
        }
Example #4
0
        private void DownloadFromExternalAccount(hMailServer.Account account, hMailServer.FetchAccount fa)
        {
            if (!_backupMessages)
            {
                return;
            }

            // Download messages from the external account.
            List <string> messages = new List <string>();

            messages.Add("Subject: Message 1\r\n");
            messages.Add("Subject: Message 2\r\n");
            messages.Add("Subject: Message 3\r\n");

            int        port       = 1110;
            POP3Server pop3Server = new POP3Server(1, port, messages);

            pop3Server.StartListen();
            fa.DownloadNow();
            pop3Server.WaitForCompletion();

            Utilities.AssertRecipientsInDeliveryQueue(0);
            POP3Simulator.AssertMessageCount(account.Address, "test", 5);
        }
Example #5
0
        public hMailServer.Domain DoBasicSetup()
        {
            if (application.ServerState == hMailServer.eServerState.hStateStopped)
            {
                application.Start();
            }

            hMailServer.Domain domain = SingletonProvider <Utilities> .Instance.AddTestDomain();

            _settings.SecurityRanges.SetDefault();

            DisableSpamProtection();
            DisableVirusProtection();
            RemoveAllRoutes();
            RemoveAllRules();
            RemoveAllSharedFolders();
            RemoveAllGroups();
            ClearGreyListingWhiteAddresses();
            EnableLogging(true);


            _settings.SSLCertificates.Clear();
            _settings.TCPIPPorts.SetDefault();

            if (_settings.AutoBanOnLogonFailure)
            {
                _settings.AutoBanOnLogonFailure = false;
            }

            if (_settings.SMTPNoOfTries != 0)
            {
                _settings.SMTPNoOfTries = 0;
            }

            if (_settings.SMTPMinutesBetweenTry != 60)
            {
                _settings.SMTPMinutesBetweenTry = 60;
            }

            if (_settings.Scripting.Enabled != false)
            {
                _settings.Scripting.Enabled = false;
            }

            if (_settings.MirrorEMailAddress != "")
            {
                _settings.MirrorEMailAddress = "";
            }

            if (_settings.SMTPRelayer != "")
            {
                _settings.SMTPRelayer = "";
            }

            if (_settings.MaxDeliveryThreads != 50)
            {
                _settings.MaxDeliveryThreads = 50;
            }

            if (_settings.Scripting.Language != "VBScript")
            {
                _settings.Scripting.Language = "VBScript";
            }

            if (_settings.IMAPPublicFolderName != "#Public")
            {
                _settings.IMAPPublicFolderName = "#Public";
            }

            if (_settings.MaxNumberOfInvalidCommands != 3)
            {
                _settings.MaxNumberOfInvalidCommands = 3;
            }

            if (_settings.DisconnectInvalidClients != false)
            {
                _settings.DisconnectInvalidClients = false;
            }

            if (_settings.MaxSMTPRecipientsInBatch != 100)
            {
                _settings.MaxSMTPRecipientsInBatch = 100;
            }

            if (_settings.IMAPHierarchyDelimiter != ".")
            {
                _settings.IMAPHierarchyDelimiter = ".";
            }

            if (_settings.IMAPACLEnabled != true)
            {
                _settings.IMAPACLEnabled = true;
            }

            if (_settings.MaxMessageSize != 20480)
            {
                _settings.MaxMessageSize = 20480;
            }

            if (_settings.MaxNumberOfMXHosts != 15)
            {
                _settings.MaxNumberOfMXHosts = 15;
            }

            hMailServer.AntiVirus antiVirus = _settings.AntiVirus;

            if (antiVirus.ClamAVEnabled)
            {
                antiVirus.ClamAVEnabled = false;
            }

            if (antiVirus.ClamAVPort != 3310)
            {
                antiVirus.ClamAVPort = 3310;
            }

            if (antiVirus.ClamAVHost != "localhost")
            {
                antiVirus.ClamAVHost = "localhost";
            }

            EnableLogging(true);

            if (File.Exists(GetErrorLogFileName()))
            {
                string contents = File.ReadAllText(GetErrorLogFileName());
                Assert.Fail(contents);
            }

            if (File.Exists(GetEventLogFileName()))
            {
                File.Delete(GetEventLogFileName());
            }

            Utilities.AssertRecipientsInDeliveryQueue(0);

            return(domain);
        }