コード例 #1
0
        public static void Abstract_intent_request__generate_sqs_request__valid()
        {
            // Arrange
            Mock <ICommonDependencyProvider> provider = new Mock <ICommonDependencyProvider>(MockBehavior.Strict);
            var sqsClient             = new Mock <IAmazonSQS>(MockBehavior.Strict);
            var aIntentRequestFixture = new AIntentRequestFixture(provider.Object, sqsClient.Object);

            // Act
            var response = aIntentRequestFixture.GenerateJukeboxSqsRequest("SpeakerRequest", "Turning the speaker on", "on");

            // Assert
            Assert.Equal("Turning the speaker on", response.MessageBody);
            Assert.Equal("SpeakerRequest", response.RequestType);
            Assert.Equal("on", response.Key);
        }
コード例 #2
0
        public static async Task Abstract_intent_request__send_sqs_response__invalid()
        {
            // Arrange
            var request = new JukeboxSqsRequest {
                Key         = "123",
                MessageBody = "foo-bar",
                RequestType = "bat-baz"
            };
            var sendMessageRequest = new SendMessageRequest {
                QueueUrl               = "http://foo-bar",
                MessageGroupId         = "foooooo",
                MessageDeduplicationId = "foo-date",
                MessageBody            = JsonConvert.SerializeObject(request)
            };
            var provider = new Mock <ICommonDependencyProvider>(MockBehavior.Strict);

            provider.Setup(x => x.DateNow()).Returns("foo-date");
            var sqsClient = new Mock <IAmazonSQS>(MockBehavior.Strict);

            sqsClient.Setup(x => x.SendMessageAsync(sendMessageRequest, new CancellationToken()));
            var aIntentRequestFixture = new AIntentRequestFixture(provider.Object, sqsClient.Object);

            // Act
            await aIntentRequestFixture.SendSqsRequest(request, "bat-baz");

            // Assert
            provider.Verify(x => x.DateNow(), Times.Once);
            sqsClient.Verify(x => x.SendMessageAsync(
                                 It.Is <SendMessageRequest>(y =>
                                                            y.MessageBody == sendMessageRequest.MessageBody &&
                                                            y.MessageDeduplicationId == sendMessageRequest.MessageDeduplicationId &&
                                                            y.MessageGroupId == sendMessageRequest.MessageGroupId &&
                                                            y.QueueUrl == sendMessageRequest.QueueUrl
                                                            ),
                                 new CancellationToken()
                                 ), Times.Never);
        }