public void QueryMatchFilterInvalidPortTest() { #region TestSetup var scenarioFaker = new Faker <Scenario>() .RuleFor(m => m.Id, f => f.Random.Word()); var fakeScenario = scenarioFaker.Generate(); var input = new { Scenarios = new List <Scenario>() { fakeScenario }, Faults = new List <string>() { "fault" } }; #endregion var Target = new QueryMatchFilter <ProcessMessagePort>(assertFactory, ruleMatcher); var Actual = Target.Process(new ProcessMessagePort { Scenarios = input.Scenarios, Faults = input.Faults }).QueryMatchResults; Assert.Empty(Actual); }
public void QueryMatchFilterNoScenariosMatchTest() { #region TestSetup var input = new { Scenarios = new List <Scenario>(), Query = new Dictionary <string, string>() }; #endregion var Target = new QueryMatchFilter <ProcessMessagePort>(assertFactory, ruleMatcher); var Actual = Target.Process(new ProcessMessagePort { Scenarios = input.Scenarios, Query = input.Query }).QueryMatchResults; Assert.Empty(Actual); }
public MockServerProcessor( PathValidationFilter <ProcessMessagePort> pathValidationFilter, QueryMatchFilter <ProcessMessagePort> queryMatchFilter, EndpointMatchFilter <ProcessMessagePort> endpointMatchFilter, BodyMatchFilter <ProcessMessagePort> bodyMatchFilter, HeaderMatchFilter <ProcessMessagePort> headerMatchFilter, UrlMatchFilter <ProcessMessagePort> urlMatchFilter, ResponseSelectorFilter <ProcessMessagePort> responseSelectorFilter, PolicyFilter <ProcessMessagePort> policyFilter ) { this.pathValidationFilter = pathValidationFilter; this.queryMatchFilter = queryMatchFilter; this.endpointMatchFilter = endpointMatchFilter; this.bodyMatchFilter = bodyMatchFilter; this.blockFactory = new SyncBlockFactory(this.cancellationTokenSource); this.headerMatchFilter = headerMatchFilter; this.urlMatchFilter = urlMatchFilter; this.responseSelectorFilter = responseSelectorFilter; this.policyFilter = policyFilter; }
public void QueryMatchFilterNoMatchTest() { #region TestSetup var assertFactory = new AssertFactory(); var faker = new Faker(); var fakerQueryRule = new Faker <KeyValuePairRule>() .CustomInstantiator(f => new KeyValuePairRule() { Type = f.PickRandom <ComparerType>(), RuleValue = new KeyValuePair <string, string>(f.Random.String(), f.Random.String()) }); var scenarioFaker = new Faker <Scenario>() .RuleFor(m => m.RequestMatchRules, f => new RequestMatchRules { QueryRules = fakerQueryRule.Generate(10) }) .RuleFor(m => m.Id, f => f.Random.Word()); var fakeScenario = scenarioFaker.Generate(); var input = new { Scenarios = new List <Scenario>() { fakeScenario }, Query = new Dictionary <string, string>() }; #endregion var Target = new QueryMatchFilter <ProcessMessagePort>(assertFactory, ruleMatcher); var Actual = Target.Process(new ProcessMessagePort { Scenarios = input.Scenarios, Query = input.Query }) .QueryMatchResults.Where(x => x.Match == MatchResultType.Success).Select(y => y.ScenarioId).ToList(); Assert.Empty(Actual); }
public void QueryMatchFilterMatchSuccessTest() { #region TestSetup var faker = new Faker(); var fakerQueryRule = new Faker <KeyValuePairRule>() .CustomInstantiator(f => new KeyValuePairRule() { Type = f.PickRandomWithout <ComparerType>(ComparerType.JSONCONTAINS, ComparerType.JSONEQUALITY, ComparerType.JSONPATH, ComparerType.JSONSCHEMA, ComparerType.REGEX), RuleValue = new KeyValuePair <string, string>(f.Random.AlphaNumeric(15), f.Random.AlphaNumeric(15)) }); var scenarioFaker = new Faker <Scenario>() .RuleFor(m => m.RequestMatchRules, f => new RequestMatchRules { QueryRules = fakerQueryRule.Generate(10) }) .RuleFor(m => m.Id, f => f.Random.Word()); var fakeScenario = scenarioFaker.Generate(); var input = new { Scenarios = new List <Scenario>() { fakeScenario }, Query = fakeScenario.RequestMatchRules.QueryRules.Select(r => r.RuleValue) }; #endregion var Target = new QueryMatchFilter <ProcessMessagePort>(assertFactory, ruleMatcher); var Actual = Target.Process(new ProcessMessagePort { Scenarios = input.Scenarios, Query = input.Query }) .QueryMatchResults.Where(x => x.Match.Equals(MatchResultType.Success)).Select(x => x.ScenarioId).ToList(); var Expected = fakeScenario.Id; Assert.Contains(Expected, Actual); }