Skip to content

Commit

Permalink
Pact Live: manual wiremock init
Browse files Browse the repository at this point in the history
  • Loading branch information
yacekmm committed Aug 28, 2024
1 parent 81ad3a8 commit 30d5f39
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import au.com.dius.pact.consumer.dsl.PactDslWithProvider;
import au.com.dius.pact.core.model.RequestResponsePact;
import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.client.WireMock;
import com.github.tomakehurst.wiremock.http.HttpHeader;
import com.github.tomakehurst.wiremock.http.HttpHeaders;
Expand Down Expand Up @@ -57,8 +58,8 @@ public RequestResponsePact stubApplyPercentageDiscount(PactDslWithProvider build
.toPact();
}

public void stubApplyPercentageDiscount() {
WireMock.stubFor(WireMock.request(METHOD, WireMock.urlEqualTo(PATH))
public void stubApplyPercentageDiscount(WireMockServer pricingMockServer) {
pricingMockServer.stubFor(WireMock.request(METHOD, WireMock.urlEqualTo(PATH))
.withRequestBody(WireMock.equalToJson(REQ_BODY))
.willReturn(WireMock.aResponse()
.withStatus(RES_STATUS)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,43 @@
import com.bottega.promoter.concert.domain.ConcertId;
import com.bottega.promoter.concert.fixtures.PricingStubs;
import com.bottega.promoter.fixtures.FrameworkTestBase;
import com.github.tomakehurst.wiremock.client.WireMock;
import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.common.ConsoleNotifier;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.contract.wiremock.AutoConfigureWireMock;

import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options;
import static org.assertj.core.api.Assertions.assertThat;

@AutoConfigureWireMock(port = 8181)
public class PricingClient_applyDiscount_liveCoding_wiremockDepTest extends FrameworkTestBase {

PricingClient httpPricingClient;

@Autowired
PricingStubs pricingStubs;

static WireMockServer pricingMockServer;

@BeforeEach
void setUp() {
httpPricingClient = concertFixtures.pricingClient;
WireMock.reset();

pricingMockServer = new WireMockServer(options().port(8181)
.notifier(new ConsoleNotifier(true)));
pricingMockServer.start();
}

@AfterEach
void tearDown() {
pricingMockServer.stop();
}

@Test
public void applyDiscount_isValid() {
//given
pricingStubs.stubApplyPercentageDiscount();
pricingStubs.stubApplyPercentageDiscount(pricingMockServer);

//when
var result = httpPricingClient.applyPercentageDiscount(new ConcertId("123"), 10);
Expand Down

0 comments on commit 30d5f39

Please sign in to comment.