package au.com.dius.pact.consumer; import au.com.dius.pact.model.MockProviderConfig; import au.com.dius.pact.model.PactFragment; import org.apache.commons.lang3.time.StopWatch; import org.jetbrains.annotations.NotNull; import org.json.JSONObject; import org.junit.Test; import java.io.IOException; import java.util.HashMap; import java.util.Map; import static au.com.dius.pact.consumer.ConsumerPactRunnerKt.runConsumerTest; public class PerfTest { @Test public void test() { StopWatch stopWatch = new StopWatch(); stopWatch.start(); // Define the test data: String path = "/mypath/abc/"; //Header data: Map<String, String> headerData = new HashMap<String, String>(); headerData.put("Content-Type", "application/json"); // Put as JSON object: JSONObject bodyExpected = new JSONObject(); bodyExpected.put("name", "myName"); stopWatch.split(); System.out.println("Setup: " + stopWatch.getSplitTime()); PactFragment pactFragment = ConsumerPactBuilder .consumer("perf_test_consumer") .hasPactWith("perf_test_provider") .uponReceiving("a request to get values") .path(path) .method("GET") .willRespondWith() .status(200) .headers(headerData) .body(bodyExpected) .toFragment(); stopWatch.split(); System.out.println("Setup Fragment: " + stopWatch.getSplitTime()); MockProviderConfig config = MockProviderConfig.createDefault(); PactVerificationResult result = runConsumerTest(pactFragment.toPact(), config, new PactTestRun() { @Override public void run(@NotNull MockServer mockServer) throws IOException { try { stopWatch.split(); System.out.println("In Test: " + stopWatch.getSplitTime()); new ConsumerClient(config.url()).getAsList(path); } catch (IOException e) { } stopWatch.split(); System.out.println("After Test: " + stopWatch.getSplitTime()); } }); stopWatch.split(); System.out.println("End of Test: " + stopWatch.getSplitTime()); stopWatch.stop(); System.out.println(stopWatch.toString()); } }