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 ); }
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) ); }
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) ); }