public void Can_serialize_inbound_web_hook()
        {
            string json = TestData.mandrill_inbound;

            var events = MandrillInboundEvent.ParseMandrillEvents(json);

            events.Should().NotBeNullOrEmpty();
            events.Should().HaveCount(2);

            events[0].Msg.Headers.Should().NotBeEmpty();
            events[0].Msg.Headers["Content-Type"].Should()
            .Be("multipart/alternative; boundary=\"_av-7r7zDhHxVEAo2yMWasfuFw\"");

            events[0].Msg.To[0][0].Should().Be("*****@*****.**");

            events[0].Msg.Cc[0][0].Should().Be("*****@*****.**");

            events[1].Msg.Attachments.Count.Should().Be(1);
            events[1].Msg.Attachments.First().Value.Content.Should().NotBeEmpty();
            events[1].Msg.Images.Count.Should().Be(1);
            events[1].Msg.Images.First().Value.Content.Length.Should().BeGreaterThan(0);

            events[0].Msg.FromName.Should().Be("Example Sender");
            events[1].Msg.FromName.Should().BeNullOrEmpty();

            Output.WriteLine(JArray.FromObject(events, MandrillSerializer.Instance).ToString());
        }
        public void Can_serialize_case_insensitive_header_dictionary()
        {
            string json = TestData.mandrill_inbound;

            var events = MandrillInboundEvent.ParseMandrillEvents(json);

            events.Should().NotBeNullOrEmpty();
            events.Should().HaveCount(2);

            events[0].Msg.Headers.Should().NotBeEmpty();
            events[0].Msg.Headers["Content-Type"].Should().NotBeNull();
            events[0].Msg.Headers["Content-Type"].Should().Be(events[0].Msg.Headers["CONTENT-TYPE"]);
        }
예제 #3
0
        public void Can_serialize_inbound_web_hook_with_empty_headers()
        {
            string json = TestData.mandrill_inbound_empty_headers;

            var events = MandrillInboundEvent.ParseMandrillEvents(json);

            events.Should().NotBeNullOrEmpty();
            events.Should().HaveCount(1);

            events[0].Msg.Headers.Should().BeEmpty();

            Output.WriteLine(JArray.FromObject(events, MandrillSerializer.Instance).ToString());
        }
예제 #4
0
        public void Can_serialize_inbound_web_hook()
        {
            string json = TestData.mandrill_inbound;

            var events = MandrillInboundEvent.ParseMandrillEvents(json);

            events.Should().NotBeNullOrEmpty();
            events.Should().HaveCount(2);

            events[0].Msg.Headers.Should().NotBeEmpty();
            events[0].Msg.Headers["Content-Type"].Should()
            .Be("multipart/alternative; boundary=\"_av-7r7zDhHxVEAo2yMWasfuFw\"");

            events[0].Msg.To[0][0].Should().Be("*****@*****.**");

            Debug.WriteLine(JArray.FromObject(events, MandrillSerializer.Instance).ToString());
        }