use of au.com.dius.pact.core.model.RequestResponsePact in project pact-jvm by DiUS.
the class Defect266Test method getUsersFragment2.
@Pact(provider = "266_provider", consumer = "test_consumer")
public RequestResponsePact getUsersFragment2(PactDslWithProvider builder) {
DslPart body = new PactDslJsonArray().minArrayLike(5).uuid("id").stringType("userName").stringType("email").closeObject();
RequestResponsePact pact = builder.given("a user with an id named 'user' exists").uponReceiving("get all users for min").path("/idm/user").method("GET").willRespondWith().status(200).body(body).toPact();
MatchingRules matchingRules = pact.getInteractions().get(0).asSynchronousRequestResponse().getResponse().getMatchingRules();
Map<String, MatchingRuleGroup> bodyMatchingRules = matchingRules.rulesForCategory("body").getMatchingRules();
assertThat(bodyMatchingRules.keySet(), is(equalTo(Sets.newHashSet("$[0][*].userName", "$[0][*].id", "$[0]", "$[0][*].email"))));
assertThat(bodyMatchingRules.get("$[0][*].userName").getRules().get(0), is(equalTo(TypeMatcher.INSTANCE)));
assertThat(bodyMatchingRules.get("$[0][*].id").getRules().get(0), is(equalTo(new RegexMatcher("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"))));
assertThat(bodyMatchingRules.get("$[0]").getRules().get(0), is(equalTo(new MinTypeMatcher(5))));
assertThat(bodyMatchingRules.get("$[0][*].email").getRules().get(0), is(equalTo(TypeMatcher.INSTANCE)));
return pact;
}
use of au.com.dius.pact.core.model.RequestResponsePact in project pact-jvm by DiUS.
the class Defect266Test method getUsersFragment.
@Pact(provider = "266_provider", consumer = "test_consumer")
public RequestResponsePact getUsersFragment(PactDslWithProvider builder) {
DslPart body = new PactDslJsonArray().maxArrayLike(5).uuid("id").stringType("userName").stringType("email").closeObject();
RequestResponsePact pact = builder.given("a user with an id named 'user' exists").uponReceiving("get all users for max").path("/idm/user").method("GET").willRespondWith().status(200).body(body).toPact();
MatchingRules matchingRules = pact.getInteractions().get(0).asSynchronousRequestResponse().getResponse().getMatchingRules();
Map<String, MatchingRuleGroup> bodyMatchingRules = matchingRules.rulesForCategory("body").getMatchingRules();
assertThat(bodyMatchingRules.keySet(), is(equalTo(Sets.newHashSet("$[0][*].userName", "$[0][*].id", "$[0]", "$[0][*].email"))));
assertThat(bodyMatchingRules.get("$[0][*].userName").getRules().get(0), is(equalTo(TypeMatcher.INSTANCE)));
assertThat(bodyMatchingRules.get("$[0][*].id").getRules().get(0), is(equalTo(new RegexMatcher("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"))));
assertThat(bodyMatchingRules.get("$[0]").getRules().get(0), is(equalTo(new MaxTypeMatcher(5))));
assertThat(bodyMatchingRules.get("$[0][*].email").getRules().get(0), is(equalTo(TypeMatcher.INSTANCE)));
return pact;
}
use of au.com.dius.pact.core.model.RequestResponsePact in project pact-jvm by DiUS.
the class ValueMatcherTest method createFragment.
@Pact(provider = "ValueMatcherProvider", consumer = "ValueMatcherConsumer")
public RequestResponsePact createFragment(PactDslWithProvider builder) {
DslPart body = new PactDslJsonBody().eachLike("articles").eachLike("variants").eachKeyMappedToAnArrayLike("001").eachLike("bundles").eachKeyLike("001-A").stringType("description", "Some Description").eachLike("referencedArticles").id("bundleId", 23456L).eachKeyLike("001-A-1", PactDslJsonRootValue.id(12345L)).closeObject().closeArray().closeObject().closeObject().closeArray().closeObject().closeArray().closeObject().closeArray().closeObject().closeArray().object("foo").eachKeyLike("001", PactDslJsonRootValue.numberType(42)).closeObject();
RequestResponsePact pact = builder.uponReceiving("a request for an article").path("/").method("GET").willRespondWith().status(200).body(body).toPact();
MatcherTestUtils.assertResponseMatcherKeysEqualTo(pact, "body", "$.articles", "$.articles[*].variants", "$.articles[*].variants[*]", "$.articles[*].variants[*].*[*].bundles", "$.articles[*].variants[*].*[*].bundles[*]", "$.articles[*].variants[*].*[*].bundles[*].*.description", "$.articles[*].variants[*].*[*].bundles[*].*.referencedArticles", "$.articles[*].variants[*].*[*].bundles[*].*.referencedArticles[*]", "$.articles[*].variants[*].*[*].bundles[*].*.referencedArticles[*].*", "$.articles[*].variants[*].*[*].bundles[*].*.referencedArticles[*].bundleId", "$.foo", "$.foo.*");
return pact;
}
use of au.com.dius.pact.core.model.RequestResponsePact in project pact-jvm by DiUS.
the class PactDslJsonArrayTest method createPact.
@Override
protected RequestResponsePact createPact(PactDslWithProvider builder) {
DslPart body = new PactDslJsonArray().includesStr("test").equalsTo("Test").object().id().stringValue("name", "Rogger the Dogger").includesStr("v1", "test").datetime("timestamp").date("dob", "MM/dd/yyyy").closeObject().object().id().stringValue("name", "Cat in the Hat").datetime("timestamp").date("dob", "MM/dd/yyyy").array("things").valueFromProviderState("thingName", "Thing 1").closeArray().closeObject();
RequestResponsePact pact = builder.uponReceiving("java test interaction with a DSL array body").path("/").method("GET").willRespondWith().status(200).body(body).toPact();
MatcherTestUtils.assertResponseMatcherKeysEqualTo(pact, "body", "$[0]", "$[1]", "$[2].id", "$[2].timestamp", "$[2].dob", "$[2].v1", "$[3].id", "$[3].timestamp", "$[3].dob", "$[3].things[0]");
MatcherTestUtils.assertResponseGeneratorKeysEqualTo(pact, "body", "$[2].id", "$[2].timestamp", "$[2].dob", "$[3].id", "$[3].timestamp", "$[3].dob", "$[3].things[0]");
return pact;
}
use of au.com.dius.pact.core.model.RequestResponsePact in project pact-jvm by DiUS.
the class PactDslJsonBodyTest method createPact.
@Override
protected RequestResponsePact createPact(PactDslWithProvider builder) {
DslPart body = new PactDslJsonBody().id().object("2").id().stringValue("test", (String) null).includesStr("v1", "test").closeObject().array("numbers").id().number(100).numberValue(101).hexValue().object().id().stringValue("full_name", "Rogger the Dogger").datetime("timestamp").date("date_of_birth", "MM/dd/yyyy").closeObject().closeArray();
RequestResponsePact pact = builder.uponReceiving("java test interaction with a DSL body").path("/").method("GET").willRespondWith().status(200).body(body).toPact();
MatcherTestUtils.assertResponseMatcherKeysEqualTo(pact, "body", "$.id", "$.2.id", "$.2.v1", "$.numbers[0]", "$.numbers[3]", "$.numbers[4].id", "$.numbers[4].timestamp", "$.numbers[4].date_of_birth");
return pact;
}
Aggregations