Exemple #1
0
        public void Constructor_ThrowsWithEventAndEventFromBodyMetadata()
        {
            // Arrange
            var expectedMessage = "Invalid metadata services found for the 'some name' WebHook receiver. Receivers " +
                                  $"must not provide both '{typeof(IWebHookEventFromBodyMetadata)}' and " +
                                  $"'{typeof(IWebHookEventMetadata)}' services.";

            var webHookEventFromBodyMetadata = new Mock <IWebHookEventFromBodyMetadata>(MockBehavior.Strict);

            webHookEventFromBodyMetadata
            .SetupGet(m => m.ReceiverName)
            .Returns("some name");
            var webHookEventMetadata = new Mock <IWebHookEventMetadata>(MockBehavior.Strict);

            webHookEventMetadata
            .SetupGet(m => m.ReceiverName)
            .Returns("some name");
            webHookEventMetadata
            .Setup(m => m.IsApplicable("some name"))
            .Returns(true);
            var metadata = new IWebHookMetadata[]
            {
                webHookEventFromBodyMetadata.Object,
                webHookEventMetadata.Object,
            };

            // Act & Assert
            var exception = Assert.Throws <InvalidOperationException>(() => new TestMetadataProvider(metadata));

            Assert.Equal(expectedMessage, exception.Message);
        }
Exemple #2
0
        public void Constructor_ThrowsWithInvalidBodyTypeMetadataService()
        {
            // Arrange
            var expectedMessage = $"Enum type '{typeof(WebHookBodyType)}' has no defined '0' value.";

            var webHookBodyTypeMetadataService1 = new Mock <IWebHookBodyTypeMetadataService>(MockBehavior.Strict);

            webHookBodyTypeMetadataService1
            .SetupGet(m => m.BodyType)
            .Returns(WebHookBodyType.Json);     // valid
            webHookBodyTypeMetadataService1
            .SetupGet(m => m.ReceiverName)
            .Returns("unique name1");
            var webHookBodyTypeMetadataService2 = new Mock <IWebHookBodyTypeMetadataService>(MockBehavior.Strict);

            webHookBodyTypeMetadataService2
            .SetupGet(m => m.BodyType)
            .Returns(0);
            webHookBodyTypeMetadataService2
            .SetupGet(m => m.ReceiverName)
            .Returns("unique name2");
            var metadata = new IWebHookMetadata[]
            {
                webHookBodyTypeMetadataService1.Object,
                webHookBodyTypeMetadataService2.Object,
            };

            // Act & Assert
            var exception = Assert.Throws <InvalidOperationException>(() => new TestMetadataProvider(metadata));

            Assert.Equal(expectedMessage, exception.Message);
        }