Ejemplo n.º 1
0
        public void SendMessageAsync_AnySendMessageRequest_CallsMessageServiceToRequestBodyOnce()
        {
            var clientMock         = new Mock <IAmazonSQS>();
            var messageServiceMock = new Mock <IMessageService>();
            var value   = (string)new Sentence();
            var request = new SendMessageRequest("url", value);
            var token   = new CancellationToken();
            var subject = new AmazonSQSCompressingClientWithTestableMessageService(
                clientMock.Object,
                messageServiceMock.Object
                );

            var result = subject.SendMessageAsync(request, token);

            messageServiceMock.Verify(
                x => x.ToRequestBody(value),
                Times.Once
                );
        }
Ejemplo n.º 2
0
        public async Task ReceiveMessageAsync_AnyReceiveMessageRequest_CallsMessageServiceToResponseBodyForEachMessage()
        {
            var clientMock         = new Mock <IAmazonSQS>();
            var messageServiceMock = new Mock <IMessageService>();
            var values             = new[] { (string)new Sentence(), (string)new Sentence() };
            var request            = new ReceiveMessageRequest("url");
            var token   = new CancellationToken();
            var subject = new AmazonSQSCompressingClientWithTestableMessageService(
                clientMock.Object,
                messageServiceMock.Object
                );

            clientMock
            .Setup(x => x.ReceiveMessageAsync(request, token))
            .Returns(
                Task.FromResult(
                    new ReceiveMessageResponse()
            {
                Messages = new List <Message>()
                {
                    new Message()
                    {
                        Body = values[0]
                    },
                    new Message()
                    {
                        Body = values[1]
                    }
                }
            }
                    )
                );

            var result = await subject.ReceiveMessageAsync(request, token);

            messageServiceMock.Verify(
                x => x.ToResponseBody(It.IsIn(values)),
                Times.Exactly(values.Length)
                );
        }
Ejemplo n.º 3
0
        public void SendMessageBatchAsync_AnySendMessageBatchRequest_CallsMessageServiceToRequestBodyForEachEntry()
        {
            var clientMock         = new Mock <IAmazonSQS>();
            var messageServiceMock = new Mock <IMessageService>();
            var values             = new[] { (string)new Sentence(), (string)new Sentence() };
            var entries            = new List <SendMessageBatchRequestEntry>
            {
                new SendMessageBatchRequestEntry("id1", values[0]),
                new SendMessageBatchRequestEntry("id2", values[1])
            };
            var request = new SendMessageBatchRequest("url", entries);
            var token   = new CancellationToken();
            var subject = new AmazonSQSCompressingClientWithTestableMessageService(
                clientMock.Object,
                messageServiceMock.Object
                );

            var result = subject.SendMessageBatchAsync(request, token);

            messageServiceMock.Verify(
                x => x.ToRequestBody(It.IsIn(values)),
                Times.Exactly(entries.Count)
                );
        }