Esempio n. 1
0
        private void MoveToNewNameSubscribeCanNotHaveChild(ImapPseudoServer server, ImapMailboxInfo mailbox)
        {
            // RENAME
              server.EnqueueTaggedResponse("$tag OK done\r\n");
              // UNSUBSCRIBE
              server.EnqueueTaggedResponse("$tag OK done\r\n");
              // SUBSCRIBE
              server.EnqueueTaggedResponse("$tag OK done\r\n");

              mailbox.MoveTo("OldSent", true);

              Assert.That(server.DequeueRequest(), Text.EndsWith("RENAME \"Sent\" \"OldSent\"\r\n"));
              Assert.That(server.DequeueRequest(), Text.EndsWith("UNSUBSCRIBE \"Sent\"\r\n"));
              Assert.That(server.DequeueRequest(), Text.EndsWith("SUBSCRIBE \"OldSent\"\r\n"));
        }
Esempio n. 2
0
        public void TestDisposeAsyncConnectRunning()
        {
            using (var server = new ImapPseudoServer()) {
            server.Start();

            using (var client = new ImapClient(server.Host, server.Port, "user")) {
              client.Profile.AllowInsecureLogin = true;
              client.Profile.Timeout = 5000;

              Assert.IsFalse(client.IsConnected);

              var asyncResult = (ImapClient.ConnectAsyncResult)client.BeginConnect("pass");

              // greeting
              server.EnqueueResponse("* OK [CAPABILITY IMAP4rev1] ImapPseudoServer ready\r\n");
              // LOGIN
              server.EnqueueTaggedResponse("* CAPABILITY IMAP4rev1\r\n" +
                                       "$tag OK done\r\n");

              Assert.IsFalse(asyncResult.EndConnectCalled);

              ((IDisposable)client).Dispose();

              StringAssert.Contains("LOGIN user pass", server.DequeueRequest());
              Assert.IsFalse(client.IsConnected);

              client.EndConnect(asyncResult);

              Assert.IsTrue(asyncResult.EndConnectCalled);

              Assert.IsFalse(client.IsConnected);
            }
              }
        }
Esempio n. 3
0
        private void MoveToDestinationMailboxDestinationCanNotHaveChild(ImapPseudoServer server, ImapMailboxInfo destMailbox)
        {
            // LIST
              server.EnqueueTaggedResponse("* LIST () \"/\" src\r\n" +
                                   "$tag OK done\r\n");

              var sourceMailbox = destMailbox.Client.GetMailbox("src");

              Assert.That(server.DequeueRequest(), Text.EndsWith("LIST \"\" \"src\"\r\n"));

              sourceMailbox.MoveTo(destMailbox);
        }