package au.com.dius.pact.consumer.v3;
import au.com.dius.pact.consumer.ConsumerPactTestMk2;
import au.com.dius.pact.consumer.MockServer;
import au.com.dius.pact.consumer.dsl.PactDslWithProvider;
import au.com.dius.pact.consumer.exampleclients.ConsumerClient;
import au.com.dius.pact.model.PactSpecVersion;
import au.com.dius.pact.model.RequestResponsePact;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import static org.junit.Assert.assertEquals;
public class V3ConsumerPactTest extends ConsumerPactTestMk2 {
@Override
protected RequestResponsePact createPact(PactDslWithProvider builder) {
return builder
.uponReceiving("v3 test interaction")
.path("/")
.method("GET")
.willRespondWith()
.status(200)
.body("{\"responsetest\": true, \"version\": \"v3\"}")
.toPact();
}
@Override
protected String providerName() {
return "test_provider";
}
@Override
protected String consumerName() {
return "v3_test_consumer";
}
@Override
protected PactSpecVersion getSpecificationVersion() {
return PactSpecVersion.V3;
}
@Override
protected void runTest(MockServer mockServer) throws IOException {
Map expectedResponse = new HashMap();
expectedResponse.put("responsetest", true);
expectedResponse.put("version", "v3");
assertEquals(new ConsumerClient(mockServer.getUrl()).getAsMap("/", ""), expectedResponse);
}
}