private static ISqsQueue TestQueue( IMessageSerializationRegister messageSerializationRegister, string queueName, Action spy = null) { var message = new TestJustSayingMessage { QueueName = queueName, }; var messages = new List <Message> { new TestMessage { Body = messageSerializationRegister.Serialize(message, false) }, }; var queue = new FakeSqsQueue(async ct => { spy?.Invoke(); await Task.Delay(30, ct); return(messages); }, queueName); return(queue); }
private static ISqsQueue TestQueue( IMessageSerializationRegister messageSerializationRegister, string queueName, Action spy = null) { async Task <ReceiveMessageResponse> GetMessages() { spy?.Invoke(); await Task.Delay(30); var message = new TestJustSayingMessage { QueueName = queueName, }; var messages = new List <Message> { new TestMessage { Body = messageSerializationRegister.Serialize(message, false) }, }; return(new ReceiveMessageResponse { Messages = messages }); } IAmazonSQS sqsClientMock = Substitute.For <IAmazonSQS>(); sqsClientMock .ReceiveMessageAsync(Arg.Any <ReceiveMessageRequest>(), Arg.Any <CancellationToken>()) .Returns(_ => GetMessages()); ISqsQueue sqsQueueMock = Substitute.For <ISqsQueue>(); sqsQueueMock.Uri.Returns(new Uri("http://test.com")); sqsQueueMock.Client.Returns(sqsClientMock); sqsQueueMock.QueueName.Returns(queueName); sqsQueueMock.Uri.Returns(new Uri("http://foo.com")); return(sqsQueueMock); }