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");
        }
Пример #2
0
        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);
        }