Example #1
0
        public async Task AwaitMessageProcessedAttempt_ShouldAwaitMessageProcessingBeforeReturning()
        {
            var client = new SQSClientMock("mockEndpoint", "mockRegion");
            await client.CreateStandardFifoQueueAsync(FifoQueueName);

            var batch = new List <BatchMessageRequest>
            {
                new BatchMessageRequest("Hello World!")
            }.ToArray();

            var response = await client.SendMessageBatchAsync(batch, FifoQueueName);

            var receivedTask = client.AwaitMessageProcessedAttempt(FifoQueueName);

            client.StartMessageReceiver(FifoQueueName, new MessageReceiverOptions(),
                                        message =>
            {
                Assert.Equal("Hello World!", message);
                return(true);
            }, new CancellationToken());

            await receivedTask;

            var messages = client.GetMessages(FifoQueueName);

            Assert.Empty(messages);
        }
Example #2
0
        public async Task MockSendMessageBatchAsync_ShouldPutAMessageOnTheQueue_WhenQueueExists()
        {
            var client = new SQSClientMock("mockEndpoint", "mockRegion");
            await client.CreateStandardFifoQueueAsync(FifoQueueName);

            var batch = new List <BatchMessageRequest>
            {
                new BatchMessageRequest("testMessage1"),
                new BatchMessageRequest("testMessage2", new Dictionary <string, string>
                {
                    { "key2", "value2" }
                })
            }.ToArray();

            var response = await client.SendMessageBatchAsync(batch, FifoQueueName);

            Assert.Empty(response.GetFailed());
            Assert.Equal(2, response.GetSuccessful().Length);
            Assert.True(response.Success);

            Assert.True(response.SendResults[0].Success);
            Assert.Equal("testMessage1", response.SendResults[0].MessageRequest.Message);
            Assert.Null(response.SendResults[0].Error);

            Assert.True(response.SendResults[1].Success);
            Assert.Equal("testMessage2", response.SendResults[1].MessageRequest.Message);
            Assert.Equal("value2", response.SendResults[1].MessageRequest.MessageAttributes["key2"]);
            Assert.Null(response.SendResults[1].Error);
        }