public void Accept_Succeeds_OnQueryStringMatch() { // Arrange var webHookEventMetadata = GetEventMetadata(); webHookEventMetadata .SetupGet(m => m.ConstantValue) .Returns("constant value"); webHookEventMetadata .SetupGet(m => m.QueryParameterName) .Returns("query"); var constraint = new WebHookEventNameMapperConstraint( NullLoggerFactory.Instance, new TestMetadataProvider(webHookEventMetadata.Object)); var context = GetContext(constraint); context.RouteContext.RouteData.Values.Add(KeyName, "match"); // Act var result = constraint.Accept(context); // Assert // Query string match has precedence over constant value. ConfirmRequestValueMatch(context, result, expectedValue: "query string value"); }
public void Accept_Succeeds_WithConstantValue() { // Arrange var webHookEventMetadata = GetEventMetadata(); webHookEventMetadata .SetupGet(m => m.ConstantValue) .Returns("constant value"); var constraint = new WebHookEventNameMapperConstraint( NullLoggerFactory.Instance, webHookEventMetadata.Object); var context = GetContext(constraint); context.RouteContext.RouteData.Values.Add(KeyName, "match"); // Act var result = constraint.Accept(context); // Assert ConfirmRequestValueMatch(context, result, expectedValue: "constant value"); }
public void Accept_Fails_OnQueryStringNonMatch() { // Arrange var webHookEventMetadata = GetEventMetadata(); webHookEventMetadata .SetupGet(m => m.QueryParameterName) .Returns("another"); var constraint = new WebHookEventNameMapperConstraint( NullLoggerFactory.Instance, new TestMetadataProvider(webHookEventMetadata.Object)); var context = GetContext(constraint); context.RouteContext.RouteData.Values.Add(KeyName, "match"); // Act var result = constraint.Accept(context); // Assert (one of the few cases where constraint returns false) Assert.False(result); Assert.DoesNotContain(WebHookConstants.EventKeyName, context.RouteContext.RouteData.Values.Keys); }