public void BodyMatchFilterEmptyJsonMatchSuccess() { #region var fakeScenario = scenarioFaker.Generate(); fakeScenario.RequestMatchRules.BodyRules = new List <BodyRule> { new BodyRule(ComparerType.JSONEQUALITY, new JObject()) }; var input = new { Scenarios = new List <Scenario>() { fakeScenario }, Body = new JObject() }; #endregion var Target = new BodyMatchFilter <ProcessMessagePort>(new AssertFactory(), new RuleMatcher()); var Actual = Target.Process(new ProcessMessagePort() { Scenarios = input.Scenarios, Body = input.Body.ToString() }) .BodyMatchResults.Where(x => x.Match.Equals(MatchResultType.Success)).Select(x => x.ScenarioId); var Expected = new List <string> { fakeScenario.Id }; Assert.Equal(Expected, Actual); }
public void BodyMatchFilterMatchFail() { #region var fakeScenario = scenarioFaker.Generate(); var input = new { Scenarios = new List <Scenario>() { fakeScenario }, Body = "{}" }; #endregion var Target = new BodyMatchFilter <ProcessMessagePort>(new AssertFactory(), new RuleMatcher()); var Actual = Target.Process(new ProcessMessagePort() { Scenarios = input.Scenarios, Body = input.Body }) .BodyMatchResults.Where(x => x.Match.Equals(MatchResultType.Fail)).Select(x => x.ScenarioId).ToList(); Assert.Contains(fakeScenario.Id, Actual); }
public void BodyMatchContainsNestedJSONKeyValueFirstTestFail() { #region var fakeScenario = scenarioFaker.Generate(); fakeScenario.RequestMatchRules.BodyRules = new List <BodyRule> { new BodyRule(ComparerType.JSONCONTAINS, JObject.Parse("{'a': 'b', 'c': 'd', 'e': {'f': 'g'}}")) }; var input = new { Scenarios = new List <Scenario>() { fakeScenario }, Body = JObject.Parse("{'e': 'f'}") }; #endregion var Target = new BodyMatchFilter <ProcessMessagePort>(new AssertFactory(), new RuleMatcher()); var Actual = Target.Process(new ProcessMessagePort() { Scenarios = input.Scenarios, Body = input.Body.ToString() }) .BodyMatchResults.Where(x => x.Match.Equals(MatchResultType.Success)).Select(x => x.ScenarioId); var Expected = new List <string> { fakeScenario.Id }; Assert.Empty(Actual); }
public void BodyMatchFilterMatchSuccess() { #region var fakeScenario = scenarioFaker.Generate(); var input = new { Scenarios = new List <Scenario>() { fakeScenario }, Body = fakeScenario.RequestMatchRules.BodyRules.ToList()[0].RuleValue.ToString() }; #endregion var Target = new BodyMatchFilter <ProcessMessagePort>(new AssertFactory(), new RuleMatcher()); var Actual = Target.Process(new ProcessMessagePort() { Scenarios = input.Scenarios, Body = input.Body }) .BodyMatchResults.Where(x => x.Match.Equals(MatchResultType.Success)).Select(x => x.ScenarioId); var Expected = fakeScenario.Id; Assert.Equal(Expected, Actual.First()); }
public void BodyMatchEqualitysPartialTripleNestedTestFail() { #region var fakeScenario = scenarioFaker.Generate(); fakeScenario.RequestMatchRules.BodyRules = new List <BodyRule> { new BodyRule(ComparerType.JSONEQUALITY, JObject.Parse("{'a': 'b'}")) }; var input = new { Scenarios = new List <Scenario>() { fakeScenario }, Body = JObject.Parse("{'x': {'a': 'c'}, 'xy': {'a': 'd', 'b': {'a': 'b'}}}") }; #endregion var Target = new BodyMatchFilter <ProcessMessagePort>(new AssertFactory(), new RuleMatcher()); var Actual = Target.Process(new ProcessMessagePort() { Scenarios = input.Scenarios, Body = input.Body.ToString() }) .BodyMatchResults.Where(x => x.Match.Equals(MatchResultType.Success)).Select(x => x.ScenarioId); var Expected = new List <string> { fakeScenario.Id }; 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; }