public void TestIMAPServer()
        {
            TestSetup.DeleteCurrentDefaultLog();

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

             for (int i = 0; i < 30; i++)
             {
            try
            {
               var imapSim = new IMAPClientSimulator(true, 14301);
               imapSim.ConnectAndLogon(account.Address, "test");
               CustomAssert.IsTrue(imapSim.SelectFolder("Inbox"), "SelectInbox");
               imapSim.CreateFolder("Test");
               CustomAssert.IsTrue(imapSim.SelectFolder("Test"), "SelectTest");
               CustomAssert.IsTrue(imapSim.Logout(), "Logout");

               imapSim.Disconnect();
               break;
            }
            catch (Exception)
            {
               if (i == 29)
                  throw;
            }
             }
        }
        public void TestParseMultipartNoBody()
        {
            Account account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");
             string body = TestSetup.GetResource("Messages.MultipartMessageWithNoMainBodyText.txt");
             SMTPClientSimulator.StaticSendRaw(account.Address, account.Address, body);

             POP3ClientSimulator.AssertMessageCount(account.Address, "test", 1);

             var imapSim = new IMAPClientSimulator("*****@*****.**", "test", "INBOX");
             string result = imapSim.Fetch("1 (BODY.PEEK[HEADER] BODY.PEEK[TEXT])");

             imapSim.Logout();
        }
Example #3
0
        public void TestDomainMaxMessageSizeLimitDisabled()
        {
            Account account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test", 0);
             var message = new StringBuilder();

             // ~2 kb string
             for (int i = 0; i < 25; i++)
            message.AppendLine(
               "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890");

             _domain.MaxMessageSize = 0; // 1 kb
             _domain.Save();

             var imapSim = new IMAPClientSimulator("*****@*****.**", "test", "INBOX");
             string result = imapSim.SendSingleCommandWithLiteral("A01 APPEND INBOX {" + message.Length + "}",
                                                              message.ToString());
             imapSim.Logout();

             CustomAssert.IsFalse(result.StartsWith("A01 NO Message size exceeds fixed maximum message size."));
        }
Example #4
0
        public void TestConnectionObjectRelease()
        {
            TestSetup.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");
             CustomAssert.IsTrue(simulator.SelectFolder("INBOX"));
             CustomAssert.IsTrue(simulator.StartIdle());
             CustomAssert.IsTrue(simulator.EndIdle(true, out data));
             CustomAssert.IsTrue(simulator.Logout());

             string logData = TestSetup.ReadCurrentDefaultLog();

             CustomAssert.IsTrue(TestSetup.DefaultLogContains("Ending session"));
        }
Example #5
0
        public void TestRecentRemovedOnMailboxClose()
        {
            Account account = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             SMTPClientSimulator.StaticSend(account.Address, account.Address, "Test", "TestMessage");
             IMAPClientSimulator.AssertMessageCount(account.Address, "test", "Inbox", 1);

             var sim = new IMAPClientSimulator();
             CustomAssert.IsTrue(sim.ConnectAndLogon(account.Address, "test"));
             CustomAssert.IsTrue(sim.SelectFolder("Inbox"));
             CustomAssert.IsTrue(sim.CreateFolder("Dummy"));
             CustomAssert.IsTrue(sim.Copy(1, "Dummy"));
             string result = sim.SendSingleCommand("a01 select Dummy");
             CustomAssert.IsTrue(result.Contains("* 1 EXISTS\r\n* 1 RECENT"), result);
             CustomAssert.IsTrue(sim.Logout());

             sim = new IMAPClientSimulator();
             CustomAssert.IsTrue(sim.ConnectAndLogon(account.Address, "test"));
             result = sim.SendSingleCommand("a01 select Dummy");
             CustomAssert.IsFalse(result.Contains("* 1 EXISTS\r\n* 1 RECENT"), result);
             CustomAssert.IsTrue(sim.Logout());
        }