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); }
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); }