コード例 #1
0
ファイル: Basics.cs プロジェクト: jrallo/hMailServer
        public void TestAppendFolderNameInOctet()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             var oSimulator = new IMAPSimulator();

             string sWelcomeMessage = oSimulator.Connect();
             oSimulator.Logon("*****@*****.**", "test");
             oSimulator.SelectFolder("INBOX");
             oSimulator.CreateFolder("MONK");
             oSimulator.SendRaw("A01 APPEND {4}\r\n");
             string result = oSimulator.Receive();
             Assert.IsTrue(result.StartsWith("+ Ready for additional command text."));

             oSimulator.SendRaw("MONK (\\Seen) \"20-Jan-2009 12:59:50 +0100\" {5}\r\n");
             result = oSimulator.Receive();
             Assert.IsTrue(result.StartsWith("+ Ready for literal data"));

             oSimulator.SendRaw("WOOOT\r\n");
             result = oSimulator.Receive();

             Assert.AreEqual("A01 OK APPEND completed\r\n", result);
        }
コード例 #2
0
ファイル: Basics.cs プロジェクト: jrallo/hMailServer
        public void TestAppendFolderNameInOctetNoFlagList()
        {
            Account oAccount = SingletonProvider<TestSetup>.Instance.AddAccount(_domain, "*****@*****.**", "test");

             var oSimulator = new IMAPSimulator();

             string sWelcomeMessage = oSimulator.Connect();
             oSimulator.Logon("*****@*****.**", "test");
             oSimulator.SelectFolder("INBOX");
             oSimulator.CreateFolder("MONK");
             oSimulator.SendRaw("A01 APPEND {4}\r\n");
             string result = oSimulator.Receive();
             Assert.IsTrue(result.StartsWith("+ Ready for additional command text."));

             oSimulator.SendRaw("MONK  \"12-Jan-2009 12:12:12 +0100\" {5}\r\n");
             result = oSimulator.Receive();
             Assert.IsTrue(result.StartsWith("+ Ready for literal data"));

             oSimulator.SendRaw("WOOOT\r\n");
             result = oSimulator.Receive();

             Assert.AreEqual("A01 OK APPEND completed\r\n", result);

             DateTime date = Convert.ToDateTime(oAccount.IMAPFolders.get_ItemByName("MONK").Messages[0].InternalDate);

             Assert.AreEqual(2009, date.Year);
             Assert.AreEqual(12, date.Day);
             Assert.AreEqual(1, date.Month);
        }
コード例 #3
0
ファイル: Basics.cs プロジェクト: jrallo/hMailServer
        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");
             POP3Simulator.AssertMessageCount(account.Address, "test", 2);

             var imapSimulator = new IMAPSimulator();
             string sWelcomeMessage = imapSimulator.Connect();
             Assert.IsTrue(imapSimulator.Logon("*****@*****.**", "test"));
             Assert.IsTrue(imapSimulator.SelectFolder("INBOX"));
             Assert.IsTrue(imapSimulator.StartIdle());

             var sim = new POP3Simulator();
             Assert.IsTrue(sim.ConnectAndLogon(account.Address, "test"));
             Assert.IsTrue(sim.DELE(1));
             sim.QUIT();

             Assert.IsTrue(imapSimulator.AssertPendingDataExists(), "No pending data exist");
             string data = imapSimulator.Receive();
             Assert.IsTrue(data.Contains("* 1 EXPUNGE"), "No expunge message");
             Assert.IsFalse(imapSimulator.GetPendingDataExists(), "Pending data exists");
        }