Пример #1
0
        public void SQSSenderSetsMessageGroupIdWhenSpecifiedInConstructor()
        {
            var mockSqs = new Mock <IAmazonSQS>();

            using (var sender = new SQSSender(mockSqs.Object, "foo", "http://url.com/foo", "abc"))
                sender.Send(new SenderMessage(""));

            mockSqs.Verify(m => m.SendMessageAsync(
                               It.Is <SendMessageRequest>(r => r.MessageGroupId == "abc"),
                               It.IsAny <CancellationToken>()));
        }
Пример #2
0
        public static async Task SQSSenderSetsMessageGroupIdWhenSpecifiedInConstructor()
        {
            var mockSqs = new Mock <IAmazonSQS>();

            using (var sender = new SQSSender(mockSqs.Object, "foo", new Uri("http://url.com/foo"), "abc"))
            {
                await sender.SendAsync(
                    new SenderMessage(""))
                .ConfigureAwait(false);
            }

            mockSqs.Verify(m => m.SendMessageAsync(
                               It.Is <SendMessageRequest>(r => r.MessageGroupId == "abc"),
                               It.IsAny <CancellationToken>()));
        }
Пример #3
0
        public void SQSSenderSendsMessagesToItsIAmazonSQS()
        {
            var mockSqs = new Mock <IAmazonSQS>();

            using (var sender = new SQSSender(mockSqs.Object, "foo", "http://url.com/foo"))
                sender.Send(new SenderMessage("Hello, world!")
                {
                    Headers = { { "bar", "abc" } }
                });

            mockSqs.Verify(m => m.SendMessageAsync(
                               It.Is <SendMessageRequest>(r => r.MessageBody == "Hello, world!" &&
                                                          r.MessageAttributes[HeaderNames.OriginatingSystem].StringValue == "SQS" &&
                                                          r.MessageAttributes["bar"].StringValue == "abc"),
                               It.IsAny <CancellationToken>()));
        }
Пример #4
0
        public void SQSSenderSetsMessageDeduplicationIdWhenSpecifiedInHeader()
        {
            var mockSqs = new Mock <IAmazonSQS>();

            using (var sender = new SQSSender(mockSqs.Object, "foo", "http://url.com/foo"))
                sender.Send(new SenderMessage("")
                {
                    Headers = { { "SQS.MessageDeduplicationId", "abc" } }
                });

            mockSqs.Verify(m => m.SendMessageAsync(
                               It.Is <SendMessageRequest>(r =>
                                                          !r.MessageAttributes.ContainsKey("SQS.MessageDeduplicationId") &&
                                                          r.MessageDeduplicationId == "abc"),
                               It.IsAny <CancellationToken>()));
        }
Пример #5
0
        public static async Task SQSSenderSetsMessageGroupIdToHeaderValueWhenSpecifiedInBothHeaderAndConstructor()
        {
            var mockSqs = new Mock <IAmazonSQS>();

            using (var sender = new SQSSender(mockSqs.Object, "foo", new Uri("http://url.com/foo"), "abc"))
            {
                await sender.SendAsync(
                    new SenderMessage("") { Headers = { { "SQS.MessageGroupId", "xyz" } } })
                .ConfigureAwait(false);
            }

            mockSqs.Verify(m => m.SendMessageAsync(
                               It.Is <SendMessageRequest>(r =>
                                                          !r.MessageAttributes.ContainsKey("SQS.MessageGroupId") &&
                                                          r.MessageGroupId == "xyz"),
                               It.IsAny <CancellationToken>()));
        }
Пример #6
0
        public static async Task SQSSenderSetsMessageDelayWhenSpecifiedInHeader()
        {
            var mockSqs = new Mock <IAmazonSQS>();

            using (var sender = new SQSSender(mockSqs.Object, "foo", new Uri("http://url.com/foo")))
            {
                await sender.SendAsync(
                    new SenderMessage("") { Headers = { { "SQS.DelaySeconds", 123 } } })
                .ConfigureAwait(false);
            }

            mockSqs.Verify(m => m.SendMessageAsync(
                               It.Is <SendMessageRequest>(r =>
                                                          !r.MessageAttributes.ContainsKey("SQS.DelaySeconds") &&
                                                          r.DelaySeconds == 123),
                               It.IsAny <CancellationToken>()));
        }