Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed #1684 - Expose remove stub mapping by ID #1986

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,11 @@ public void removeStubMapping(StubMapping stubMapping) {
wireMockApp.removeStubMapping(stubMapping);
}

@Override
public void removeStubMapping(UUID id) {
wireMockApp.removeStubMapping(id);
}

@Override
public void verify(RequestPatternBuilder requestPatternBuilder) {
client.verifyThat(requestPatternBuilder);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,14 @@ public void removeStubMapping(StubMapping stubbMapping) {
postJsonAssertOkAndReturnBody(urlFor(OldRemoveStubMappingTask.class), Json.write(stubbMapping));
}

@Override
public void removeStubMapping(UUID id) {
executeRequest(
adminRoutes.requestSpecForTask(RemoveStubMappingTask.class),
PathParams.single("id", id),
Void.class);
}

@Override
public ListStubMappingsResult listAllStubMappings() {
return executeRequest(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ public interface Admin {

void removeStubMapping(StubMapping stubbMapping);

void removeStubMapping(UUID id);

ListStubMappingsResult listAllStubMappings();

SingleStubMappingResult getStubMapping(UUID id);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,14 @@ public void removeStubMapping(StubMapping stubMapping) {
stubMappings.removeMapping(stubMapping);
}

@Override
public void removeStubMapping(UUID id) {
final Optional<StubMapping> maybeStub = stubMappings.get(id);
if (maybeStub.isPresent()) {
removeStubMapping(maybeStub.get());
}
}

@Override
public void editStubMapping(StubMapping stubMapping) {
stubMappings.editMapping(stubMapping);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,11 @@ public void removeStubMapping(StubMapping stubbMapping) {
admin.removeStubMapping(stubbMapping);
}

@Override
public void removeStubMapping(UUID id) {
admin.removeStubMapping(id);
}

@Override
public ListStubMappingsResult listAllStubMappings() {
return admin.listAllStubMappings();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -955,6 +955,29 @@ public void jsonResponseWithObjectValue() {
assertThat(response.content(), containsString("\"Json From Object\""));
}

@Test
public void removesASingleStubMapping() {
final UUID id = UUID.randomUUID();
stubFor(get("/stub-to-remove").withId(id).willReturn(aResponse()));

assertThat(testClient.get("/stub-to-remove").statusCode(), is(200));

StubMapping stub = wireMockServer.getSingleStubMapping(id);
wireMockServer.removeStubMapping(stub);
assertThat(testClient.get("/stub-to-remove").statusCode(), is(404));
}

@Test
public void removesASingleStubMappingById() {
final UUID id = UUID.randomUUID();
stubFor(get("/stub-to-remove-by-id").withId(id).willReturn(aResponse()));

assertThat(testClient.get("/stub-to-remove-by-id").statusCode(), is(200));

wireMockServer.removeStubMapping(id);
assertThat(testClient.get("/stub-to-remove-by-id").statusCode(), is(404));
}

private int getStatusCodeUsingJavaUrlConnection(String url) throws IOException {
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.setRequestMethod("GET");
Expand Down

This file was deleted.