public static AssertRecipientsInDeliveryQueue ( int count ) : void | ||
count | int | |
return | void |
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)); }
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); }
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); }
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); }
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); }