Пример #1
0
        public void TestNullArgument()
        {
            Stream           stream  = null;
            IMimeMailMessage message = m_Reader.ReadMimeMessage(ref stream, m_EndOfMessageStrategy);

            Assert.Fail("Should have caused ArgumentNullException");
        }
Пример #2
0
        public void TestReadEmbeddedWithAttachments()
        {
            IMimeMailMessage message =
                m_Reader.ReadMimeMessage(ref m_EmbeddedWithAttachmentsStream, m_EndOfMessageStrategy);

            Assert.AreEqual(4, message.Attachments.Count);
            Assert.AreEqual(1, message.Messages.Count);

            Assert.That(message.Attachments.Count(x => x.Name != null && x.Name.Equals("hostels.txt")), Iz.EqualTo(1));
            Assert.That(message.Attachments.Count(x => x.Name != null && x.Name.Equals("o_aspNet_Page_LifeCycle.jpg")), Iz.EqualTo(1));

            IMimeMailMessage firstMessage = message.Messages[0];

            Assert.AreEqual(5, firstMessage.Attachments.Count);
            Assert.AreEqual(1, firstMessage.Messages.Count);

            Assert.That(firstMessage.Attachments.Count(x => x.Name != null && x.Name.Equals("POP3ClientStates.vsd")), Iz.EqualTo(1));
            Assert.That(firstMessage.Attachments.Count(x => x.Name != null && x.Name.Equals("filmförslag.txt")), Iz.EqualTo(1));
            Assert.That(firstMessage.Attachments.Count(x => x.Name != null && x.Name.Equals("pleasewait.gif")), Iz.EqualTo(1));
            Assert.AreEqual("Test med flera olika", firstMessage.Subject);
            StringAssert.Contains("+46(0)123434534", firstMessage.TextMessage);

            IMimeMailMessage secondMessage = firstMessage.Messages[0];

            Assert.AreEqual(1, secondMessage.Messages.Count);

            Assert.AreEqual("VB: ", secondMessage.Subject);
            StringAssert.Contains("Teatar med embedded message", secondMessage.TextMessage);

            IMimeMailMessage thirdMessage = secondMessage.Messages[0];

            Assert.AreEqual("[CodeProject] Imbedded messages", thirdMessage.Subject);
            StringAssert.Contains("Great Article.", thirdMessage.TextMessage);
        }
Пример #3
0
        public void TestReadSMIMEMessage()
        {
            Stream           smimeMessageStream = new MemoryStream(Encoding.ASCII.GetBytes(Strings.SMIME_MESSAGE));
            IMimeMailMessage message            = m_Reader.ReadMimeMessage(ref smimeMessageStream, m_EndOfMessageStrategy);

            Assert.IsNotNull(message, "Message was null");
            Assert.AreEqual(1, message.Attachments.Count);
            Assert.AreEqual("smime.p7m", message.Attachments[0].Name);
        }
Пример #4
0
        public void TestReadSMIMECertMessage()
        {
            Stream           smimeMessagaeStream = new MemoryStream(Encoding.ASCII.GetBytes(Strings.SMIME_CERT));
            IMimeMailMessage message             = m_Reader.ReadMimeMessage(ref smimeMessagaeStream, m_EndOfMessageStrategy);

            Assert.IsNotNull(message, "Message was null");
            Assert.AreEqual(3, message.Attachments.Count);
            Assert.That(message.Attachments.Count(x => x.Name != null && x.Name.Equals("smime.p7s")), Iz.EqualTo(1));
        }
Пример #5
0
        public void TestSaveAttachment()
        {
            string directory = Environment.GetEnvironmentVariable("TEMP");

            m_AttachmentStream.Position = 0;
            IMimeMailMessage message    = m_Reader.ReadMimeMessage(ref m_AttachmentStream, m_EndOfMessageStrategy);
            IAttachment      attachment = message.Attachments.First(x => x.Name != null && x.Name.Equals("TDCOperatorGroup1.pdf"));

            File.WriteAllBytes(directory + attachment.Name, attachment.Data);
        }
Пример #6
0
        public void TestReadNonStandardBoundary()
        {
            Stream           boundaryStream = new MemoryStream(Encoding.ASCII.GetBytes(Strings.NonStandardBoundary));
            IMimeMailMessage message        = m_Reader.ReadMimeMessage(ref boundaryStream, m_EndOfMessageStrategy);

            Assert.That(message, Iz.Not.Null);
            Assert.That(message.Body["text/plain"], Iz.Not.Null);
            Assert.That(message.Body["text/html"], Iz.Not.Null);
            Assert.That(message.Attachments.Count, Iz.GreaterThan(0));
        }
Пример #7
0
        public void TestRead()
        {
            IMimeMailMessage message = m_Reader.ReadMimeMessage(ref m_Stream, m_EndOfMessageStrategy);

            Assert.AreEqual("*****@*****.**", message.From[0].Address);
            Assert.AreEqual("*****@*****.**", message.To[0].Address);
            Assert.AreEqual(2, message.Body.Count);
            Assert.AreEqual("Mailbox.se - Gratis dataspel...", message.Subject);
            StringAssert.Contains("Syftet med detta kunskapsspel", message.TextMessage);
            Assert.IsFalse(message.IsNull());
        }
Пример #8
0
        public void TestReadAttachment()
        {
            IMimeMailMessage message = m_Reader.ReadMimeMessage(ref m_AttachmentStream, m_EndOfMessageStrategy);

            Assert.IsFalse(message.IsNull());
            Assert.AreEqual(3, message.Attachments.Count);
            Assert.AreEqual("*****@*****.**", message.From[0].Address);
            Assert.AreEqual("*****@*****.**", message.To[0].Address);
            StringAssert.Contains("Software engineering", message.TextMessage);
            Assert.That(message.Attachments.Count(x => x.Type != null && x.Type.Equals("application")), Iz.EqualTo(1));
            Assert.That(message.Attachments.Count(x => x.Name != null && x.Name.Equals("TDCOperatorGroup1.pdf")), Iz.EqualTo(1));
            Assert.That(message.Attachments.First(x => x.Name != null && x.Name.Equals("TDCOperatorGroup1.pdf")).Data.Length, Iz.GreaterThan(0));
        }
Пример #9
0
        public void TestReadChineseMail()
        {
            Stream big5Stream =
                new MemoryStream(System.Text.Encoding.ASCII.GetBytes(
                                     MIMERTests.Strings.MailMessage2));
            IMimeMailMessage message = m_Reader.ReadMimeMessage(ref big5Stream, m_EndOfMessageStrategy);

            Assert.IsNotNull(message);
            Assert.AreEqual("五 年 多", message.From[0].DisplayName);
            Assert.AreEqual("*****@*****.**", message.From[0].Address);
            Assert.AreEqual("五 年 多", message.To[0].DisplayName);
            Assert.AreEqual("*****@*****.**", message.To[0].Address);
            Assert.AreEqual("香 港 剛 結 束 長 ", message.Subject);
            StringAssert.Contains("香 港 剛 結 束 長 達 五 年 多", message.TextMessage);
            Assert.IsFalse(message.IsNull());
        }
Пример #10
0
        public void TestReadEmbeddedMessageAttachment()
        {
            m_EmbeddedMessagaesStream.Position = 0;
            IMimeMailMessage message = m_Reader.ReadMimeMessage(ref m_EmbeddedMessagaesStream, m_EndOfMessageStrategy);

            Assert.AreEqual(5, message.Attachments.Count);
            Assert.AreEqual(1, message.Messages.Count);
            Assert.AreEqual(1, message.Messages[0].Messages.Count);

            IMimeMailMessage firstEmbeddedMessage = message.Messages[0];

            StringAssert.Contains("VB:", firstEmbeddedMessage.Subject);
            StringAssert.Contains("*****@*****.**", firstEmbeddedMessage.From[0].Address);
            StringAssert.Contains("Teatar med embedded message", firstEmbeddedMessage.Body["text/plain"]);
            Assert.AreEqual(2, firstEmbeddedMessage.Views.Count);

            IMimeMailMessage secondEmbeddedMessage = firstEmbeddedMessage.Messages[0];

            StringAssert.Contains("[CodeProject] Imbedded messages", secondEmbeddedMessage.Subject);
            StringAssert.Contains("*****@*****.**", secondEmbeddedMessage.From[0].Address);
            StringAssert.Contains("Do not hit 'reply' to this email:", secondEmbeddedMessage.Body["text/plain"]);
            Assert.AreEqual(2, secondEmbeddedMessage.Views.Count);
        }
Пример #11
0
        public void TestZeroLenghtStream()
        {
            IMimeMailMessage message = m_Reader.ReadMimeMessage(ref m_EmptyStream, m_EndOfMessageStrategy);

            Assert.IsTrue(message.IsNull());
        }
Пример #12
0
 public MessageForm(IMimeMailMessage message)
 {
     m_Message = message;
     InitializeComponent();
 }