Пример #1
0
        private void Pop3Client_DeleteMail_Test()
        {
            var dict = new Dictionary <TcpCommand, string>();

            dict.Add(TcpCommand.DELE, "+OK\r\n");

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.DeleteMail(1050);

                Assert.Equal(string.Empty, result);
            }
        }
Пример #2
0
        private void Pop3Client_LogOut_Test()
        {
            var dict = new Dictionary <TcpCommand, string>();

            dict.Add(TcpCommand.LOGT, "+OK Microsoft Exchange Server 2016 POP3 server signing off.\r\n");

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.LogOut();

                Assert.True(string.IsNullOrEmpty(result));
            }
        }
Пример #3
0
        private void Pop3Client_FetchMailFromHeader_Returns_Null_If_Error_Occurs_Test()
        {
            var dict = new Dictionary <TcpCommand, string>();

            dict.Add(TcpCommand.TOP, "-ERR Protocol error. 19\r\n");

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.FetchMailFromHeader(9370);

                Assert.Null(result);
            }
        }
Пример #4
0
        private void Pop3Client_Authentication_Test(string input, string expected)
        {
            var dict = new Dictionary <TcpCommand, string>();

            dict.Add(TcpCommand.USER, "+OK\r\n");
            dict.Add(TcpCommand.PASS, input);

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.LogIn(string.Empty, string.Empty);

                Assert.Equal(expected, result);
            }
        }
Пример #5
0
        private void Pop3Client_GetMessageFlags_Test(string input, int totalIndexCount, int[] indexes, string expected)
        {
            IEnumerable <int> outMailboxes = null;
            var dict = new Dictionary <TcpCommand, string>();

            dict.Add(TcpCommand.LIST, input);

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.GetAllMessagesFlag(out outMailboxes);

                Assert.Equal(expected, result);
                Assert.Equal(totalIndexCount, outMailboxes.Count());
                Assert.True(CompareMailIndexes(indexes, outMailboxes));
            }
        }
Пример #6
0
        private void Pop3Client_FetchMail_Test(string mailMessage, MailMessage message, int mimePartCount)
        {
            var dict = new Dictionary <TcpCommand, string>();

            dict.Add(TcpCommand.RETR, GetMailMessage(mailMessage));

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.FetchMail(9370);

                Assert.Equal(message.Headers, result.Headers);
                Assert.Equal(message.Subject, result.Subject);
                Assert.Equal(message.From, result.From);
                Assert.Equal(message.To, result.To);
                Assert.Equal(message.CC, result.CC);
            }
        }
Пример #7
0
        private void Pop3Client_GetTotalMail_Test(string input, int totalMail, string expected)
        {
            int actMail = -1;
            var dict    = new Dictionary <TcpCommand, string>();

            dict.Add(TcpCommand.STAT, input);
            dict.Add(TcpCommand.LOGT, "+OK Microsoft Exchange Server 2016 POP3 server signing off.\r\n");

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.GetTotalMail(out actMail);
                ((IDisposable)client).Dispose();

                Assert.Equal(expected, result);
                Assert.Equal(totalMail, actMail);
            }
        }
Пример #8
0
        private void Pop3Client_FetchMailFromHeader_Test(string mailHeader, MailMessage message)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendLine("+OK");
            builder.AppendLine(mailHeader);
            builder.AppendLine(".");;
            var dict = new Dictionary <TcpCommand, string>();

            dict.Add(TcpCommand.TOP, builder.ToString());

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.FetchMailFromHeader(9370);

                Assert.Equal(message.Headers, result.Headers);
                Assert.Equal(message.Subject, result.Subject);
                Assert.Equal(message.From, result.From);
                Assert.Equal(message.To, result.To);
                Assert.Equal(message.CC, result.CC);
            }
        }
Пример #9
0
        private void Pop3Client_FetchMail_Test(string mailMessage, MailMessage message, int mimePartCount)
        {
            var dict = new Dictionary<TcpCommand, string>();

            dict.Add(TcpCommand.RETR, GetMailMessage(mailMessage));

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.FetchMail(9370);

                Assert.Equal(message.Headers, result.Headers);
                Assert.Equal(message.Subject, result.Subject);
                Assert.Equal(message.From, result.From);
                Assert.Equal(message.To, result.To);
                Assert.Equal(message.CC, result.CC);
            }
        }
Пример #10
0
        private void Pop3Client_FetchMailFromHeader_Returns_Null_If_Error_Occurs_Test()
        {
            var dict = new Dictionary<TcpCommand, string>();

            dict.Add(TcpCommand.TOP, "-ERR Protocol error. 19\r\n");

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.FetchMailFromHeader(9370);

                Assert.Null(result);
            }
        }
Пример #11
0
        private void Pop3Client_FetchMailFromHeader_Test(string mailHeader, MailMessage message)
        {
            StringBuilder builder = new StringBuilder();
            builder.AppendLine("+OK");
            builder.AppendLine(mailHeader);
            builder.AppendLine("."); ;
            var dict = new Dictionary<TcpCommand, string>();

            dict.Add(TcpCommand.TOP, builder.ToString());

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.FetchMailFromHeader(9370);

                Assert.Equal(message.Headers, result.Headers);
                Assert.Equal(message.Subject, result.Subject);
                Assert.Equal(message.From, result.From);
                Assert.Equal(message.To, result.To);
                Assert.Equal(message.CC, result.CC);
            }
        }
Пример #12
0
        private void Pop3Client_GetMessageFlags_Test(string input, MailFlag flag, int totalIndexCount, int[] indexes, string expected)
        {
            IEnumerable<int> outMailboxes = null;
            var dict = new Dictionary<TcpCommand, string>();

            dict.Add(TcpCommand.LIST, input);

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.GetAllMessagesFlag(flag, out outMailboxes);

                Assert.Equal(expected, result);
                Assert.Equal(totalIndexCount, outMailboxes.Count());
                Assert.True(CompareMailIndexes(indexes, outMailboxes));
            }
        }
Пример #13
0
        private void Pop3Client_GetTotalMail_Test(string input, int totalMail, string expected)
        {
            int actMail = -1;
            var dict = new Dictionary<TcpCommand, string>();

            dict.Add(TcpCommand.STAT, input);
            dict.Add(TcpCommand.LOGT, "+OK Microsoft Exchange Server 2016 POP3 server signing off.\r\n");

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.GetTotalMail(out actMail);
                ((IDisposable)client).Dispose();

                Assert.Equal(expected, result);
                Assert.Equal(totalMail, actMail);
            }
        }
Пример #14
0
        private void Pop3Client_LogOut_Test()
        {
            var dict = new Dictionary<TcpCommand, string>();

            dict.Add(TcpCommand.LOGT, "+OK Microsoft Exchange Server 2016 POP3 server signing off.\r\n");

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.LogOut();

                Assert.True(string.IsNullOrEmpty(result));
            }
        }
Пример #15
0
        private void Pop3Client_FetchMessageParts_Test(string mailMessage, MailMessage message, int mimePartCount)
        {
            var dict = new Dictionary<TcpCommand, string>();

            dict.Add(TcpCommand.RETR, GetMailMessage(mailMessage));

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.FetchMessageParts(9370);

                Assert.NotNull(result);
                Assert.Equal(mimePartCount, result.ToArray().Length);
            }
        }
Пример #16
0
        private void Pop3Client_DeleteMail_Test()
        {
            var dict = new Dictionary<TcpCommand, string>();

            dict.Add(TcpCommand.DELE, "+OK\r\n");

            using (var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.DeleteMail(1050);

                Assert.Equal(string.Empty, result);
            }
        }
Пример #17
0
        private void Pop3Client_Authentication_Test(string input, string expected)
        {
            var dict = new Dictionary<TcpCommand, string>();

            dict.Add(TcpCommand.USER, "+OK\r\n");
            dict.Add(TcpCommand.PASS, input);

            using(var stream = new Pop3Stream(dict))
            {
                var client = GetMailClient(stream);
                var result = client.LogIn(string.Empty, string.Empty);

                Assert.Equal(expected, result);
            }
        }