public async Task InternalRouteInformationEvaluator_should_ignore_route_if_any_regex_is_excluding_template() { // arrange var contextAccessor = new Mock <IAutoHealthCheckContextAccessor>(); var context = new Mock <IAutoHealthCheckContext>(); var routeEvaluator = new Mock <IRouteEvaluator>(); routeEvaluator.Setup(c => c.Evaluate(It.IsAny <IRouteInformation>())) .Returns(Task.FromResult(true)); contextAccessor.Setup(c => c.Context) .Returns(context.Object); context.Setup(c => c.Configurations) .Returns(new AutoHealthCheckConfigurations { ExcludeRouteRegexs = new List <Regex> { new Regex("^[0-9]+$") } }); var evaluator = new InternalRouteInformationEvaluator(contextAccessor.Object, routeEvaluator.Object); var routeInformation = new RouteInformation { RouteTemplate = "324234" }; // act var include = await evaluator.Evaluate(routeInformation); // assert Assert.False(include); // route should be ignored as there is numbers }
public async Task InternalRouteInformationEvaluator_should_not_ignore_route_if_regex_does_not_match() { // arrange var contextAccessor = new Mock <IAutoHealthCheckContextAccessor>(); var context = new Mock <IAutoHealthCheckContext>(); var routeEvaluator = new Mock <IRouteEvaluator>(); routeEvaluator.Setup(c => c.Evaluate(It.IsAny <IRouteInformation>())) .Returns(Task.FromResult(true)); contextAccessor.Setup(c => c.Context) .Returns(context.Object); context.Setup(c => c.Configurations) .Returns(new AutoHealthCheckConfigurations { ExcludeRouteRegexs = new List <Regex> { new Regex("^[0-9]+$") } }); var evaluator = new InternalRouteInformationEvaluator(contextAccessor.Object, routeEvaluator.Object); var routeInformation = new RouteInformation { RouteTemplate = "get/api/3123" // no only numbers }; // act var include = await evaluator.Evaluate(routeInformation); // assert Assert.True(include); // this should be true as the regex does not match with the route }
public async Task InternalRouteInformationEvaluator_should_ignore_route_if_evaluator_return_false() { // arrange var contextAccessor = new Mock <IAutoHealthCheckContextAccessor>(); var context = new Mock <IAutoHealthCheckContext>(); var routeEvaluator = new Mock <IRouteEvaluator>(); routeEvaluator.Setup(c => c.Evaluate(It.IsAny <IRouteInformation>())) .Returns(Task.FromResult(false)); contextAccessor.Setup(c => c.Context) .Returns(context.Object); context.Setup(c => c.Configurations) .Returns(new AutoHealthCheckConfigurations()); var evaluator = new InternalRouteInformationEvaluator(contextAccessor.Object, routeEvaluator.Object); var routeInformation = new RouteInformation { RouteTemplate = "get/api/3123" }; // act var include = await evaluator.Evaluate(routeInformation); // assert Assert.False(include); }