public void TestConnectionObjectRelease() { LogHandler.DeleteCurrentDefaultLog(); _settings.IMAPIdleEnabled = true; Account account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test"); var simulator = new ImapClientSimulator(); string data; string sWelcomeMessage = simulator.Connect(); simulator.Logon(account.Address, "test"); Assert.IsTrue(simulator.SelectFolder("INBOX")); Assert.IsTrue(simulator.StartIdle()); Assert.IsTrue(simulator.EndIdle(true, out data)); Assert.IsTrue(simulator.Logout()); string logData = LogHandler.ReadCurrentDefaultLog(); Assert.IsTrue(LogHandler.DefaultLogContains("Ending session")); }
public void TestIdle() { _settings.IMAPIdleEnabled = true; Account account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test"); var oSimulator = new ImapClientSimulator(); string sWelcomeMessage = oSimulator.Connect(); oSimulator.Logon(account.Address, "test"); Assert.IsTrue(oSimulator.SelectFolder("INBOX")); oSimulator.StartIdle(); if (oSimulator.GetPendingDataExists()) throw new Exception("Unexpected data exists"); // Send a message to this account. var smtpClientSimulator = new SmtpClientSimulator(); smtpClientSimulator.Send(account.Address, account.Address, "IDLE Test", "This is a test of IDLE"); string data; Assert.IsTrue(oSimulator.EndIdle(false, out data)); }
public void TestNotificationOnPOP3Deletion() { _settings.IMAPIdleEnabled = true; Account account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test"); SmtpClientSimulator.StaticSend(account.Address, account.Address, "Message 1", "Body 1"); SmtpClientSimulator.StaticSend(account.Address, account.Address, "Message 1", "Body 1"); Pop3ClientSimulator.AssertMessageCount(account.Address, "test", 2); var imapSimulator = new ImapClientSimulator(); string sWelcomeMessage = imapSimulator.Connect(); Assert.IsTrue(imapSimulator.Logon("*****@*****.**", "test")); Assert.IsTrue(imapSimulator.SelectFolder("INBOX")); Assert.IsTrue(imapSimulator.StartIdle()); var sim = new Pop3ClientSimulator(); Assert.IsTrue(sim.ConnectAndLogon(account.Address, "test")); Assert.IsTrue(sim.DELE(1)); sim.QUIT(); // After a delete, the following should be sent tot he IMAP client: // - EXPUNGE // - EXISTS // - RECENT Assert.IsTrue(imapSimulator.AssertPendingDataExists(), "No pending data exist"); var deadline = DateTime.Now.AddSeconds(10); var message = new StringBuilder(); while (DateTime.Now < deadline) { if (imapSimulator.GetPendingDataExists()) message.Append(imapSimulator.Receive()); var str = message.ToString(); if (str.Contains("* 1 EXPUNGE") && str.Contains("EXISTS") && str.Contains("RECENT")) { return; } } var receivedText = message.ToString(); Assert.IsTrue(receivedText.Contains("* 1 EXPUNGE"), receivedText); Assert.IsTrue(receivedText.Contains("EXISTS"), receivedText); Assert.IsTrue(receivedText.Contains("RECENT"), receivedText); }