示例#1
0
        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 WebHookEventMapperConstraint(
                new[] { webHookEventMetadata.Object },
                NullLoggerFactory.Instance);
            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 WebHookEventMapperConstraint(
                new[] { webHookEventMetadata.Object },
                NullLoggerFactory.Instance);
            var context = GetContext(constraint);

            context.RouteContext.RouteData.Values.Add(KeyName, "match");

            // Act
            var result = constraint.Accept(context);

            // Assert
            ConfirmRequestValueMatch(context, result, expectedValue: "constant value");
        }
示例#3
0
        public void Accept_Fails_OnQueryStringNonMatch()
        {
            // Arrange
            var webHookEventMetadata = GetEventMetadata();

            webHookEventMetadata
            .SetupGet(m => m.QueryParameterName)
            .Returns("another");

            var constraint = new WebHookEventMapperConstraint(
                new[] { webHookEventMetadata.Object },
                NullLoggerFactory.Instance);
            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);
        }