package au.com.dius.pact.consumer; import au.com.dius.pact.consumer.dsl.DslPart; import au.com.dius.pact.consumer.dsl.PactDslJsonArray; import au.com.dius.pact.consumer.dsl.PactDslJsonBody; import au.com.dius.pact.consumer.dsl.PactDslWithProvider; import au.com.dius.pact.consumer.exampleclients.ConsumerClient; import au.com.dius.pact.model.RequestResponsePact; public class PactDslJsonArrayTemplateTest extends ConsumerPactTestMk2 { @Override protected RequestResponsePact createPact(PactDslWithProvider builder) { DslPart personTemplate = new PactDslJsonBody() .id() .stringType("name") .date("dob"); DslPart body = new PactDslJsonArray() .template(personTemplate, 3); RequestResponsePact pact = builder .uponReceiving("java test interaction with a DSL array body with templates") .path("/") .method("GET") .willRespondWith() .status(200) .body(body) .toPact(); MatcherTestUtils.assertResponseMatcherKeysEqualTo(pact, "$.body[0].id", "$.body[0].name", "$.body[0].dob", "$.body[1].id", "$.body[1].name", "$.body[1].dob", "$.body[2].id", "$.body[2].name", "$.body[2].dob" ); return pact; } @Override protected String providerName() { return "test_provider_array"; } @Override protected String consumerName() { return "test_consumer_array"; } @Override protected void runTest(MockServer mockServer) { try { new ConsumerClient(mockServer.getUrl()).getAsList("/"); } catch (Exception e) { throw new RuntimeException(e); } } }