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.PactDslWithProvider; import au.com.dius.pact.consumer.exampleclients.ConsumerClient; import au.com.dius.pact.model.PactFragment; import au.com.dius.pact.model.RequestResponsePact; public class PactDslJsonArrayTest extends ConsumerPactTestMk2 { @Override protected RequestResponsePact createPact(PactDslWithProvider builder) { DslPart body = new PactDslJsonArray() .object() .id() .stringValue("name", "Rogger the Dogger") .timestamp() .date("dob", "MM/dd/yyyy") .closeObject() .object() .id() .stringValue("name", "Cat in the Hat") .timestamp() .date("dob", "MM/dd/yyyy") .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].id", "$.body[0].timestamp", "$.body[0].dob", "$.body[1].id", "$.body[1].timestamp", "$.body[1].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); } } }