public async Task Setup()
        {
            _returnedMessages = new List <ReceivedMessage>();
            var cancellationTokeSource = new CancellationTokenSource();

            _mockAmazonClient = new Mock <IAmazonSQS>();
            _mockAmazonClient.Setup(x => x.ReceiveMessageAsync(It.IsAny <ReceiveMessageRequest>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(new ReceiveMessageResponse
            {
                Messages = new List <Message>
                {
                    new Message()
                }
            });

            var sqsQueueClient = new SqsQueueClient(_mockAmazonClient.Object, cancellationTokeSource.Token);

            try
            {
                _returnedMessages.AddRange(await sqsQueueClient.GetNextMessagesAsync(new ReceiveMessageRequest()));
                cancellationTokeSource.Cancel();
                _returnedMessages.AddRange(await sqsQueueClient.GetNextMessagesAsync(new ReceiveMessageRequest()));
            }
            catch (Exception e)
            {
                _caughtException = e;
            }
        }
예제 #2
0
        private static IQueueClient BuildClient(string url)
        {
            var amazonSqsConfig = new AmazonSQSConfig {
                ServiceURL = "http://sqs.us-west-2.amazonaws.com"
            };
            var amazonSqsClient      = new AmazonSQSClient(amazonSqsConfig);
            var sendResponseMapper   = new SqsSendResponseMapper();
            var deleteResponseMapper = new SqsDeleteResponseMapper();
            var queueClient          = new SqsQueueClient(url, amazonSqsClient, sendResponseMapper, deleteResponseMapper);

            return(queueClient);
        }