Skip to content

Commit

Permalink
Removed deprecated API routes
Browse files Browse the repository at this point in the history
  • Loading branch information
tomakehurst committed Jul 20, 2023
1 parent 3ca1ee0 commit 47d4201
Show file tree
Hide file tree
Showing 10 changed files with 56 additions and 181 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,12 @@ private void initDefaultRoutes(Router router) {
router.add(POST, "/mappings", new CreateStubMappingTask());
router.add(DELETE, "/mappings", new ResetStubMappingsTask());

router.add(POST, "/mappings/new", new OldCreateStubMappingTask()); // Deprecated
router.add(POST, "/mappings/remove", new OldRemoveStubMappingTask()); // Deprecated
router.add(POST, "/mappings/edit", new OldEditStubMappingTask()); // Deprecated
router.add(POST, "/mappings/save", new SaveMappingsTask());
router.add(POST, "/mappings/reset", new ResetToDefaultMappingsTask());
router.add(GET, "/mappings/{id}", new GetStubMappingTask());
router.add(PUT, "/mappings/{id}", new EditStubMappingTask());
router.add(DELETE, "/mappings/{id}", new RemoveStubMappingTask());
router.add(POST, "/mappings/remove", new RemoveMatchingStubMappingTask());
router.add(DELETE, "/mappings/{id}", new RemoveStubMappingByIdTask());
router.add(POST, "/mappings/find-by-metadata", new FindStubMappingsByMetadataTask());
router.add(POST, "/mappings/remove-by-metadata", new RemoveStubMappingsByMetadataTask());
router.add(POST, "/mappings/import", new ImportStubMappingsTask());
Expand All @@ -81,7 +79,6 @@ private void initDefaultRoutes(Router router) {

router.add(GET, "/requests", new GetAllRequestsTask());
router.add(DELETE, "/requests", new ResetRequestsTask());
router.add(POST, "/requests/reset", new OldResetRequestsTask()); // Deprecated
router.add(POST, "/requests/count", new GetRequestCountTask());
router.add(POST, "/requests/find", new FindRequestsTask());
router.add(GET, "/requests/unmatched", new FindUnmatchedRequestsTask());
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import com.github.tomakehurst.wiremock.stubbing.ServeEvent;
import com.github.tomakehurst.wiremock.stubbing.StubMapping;

public class OldRemoveStubMappingTask implements AdminTask {
public class RemoveMatchingStubMappingTask implements AdminTask {

@Override
public ResponseDefinition execute(Admin admin, ServeEvent serveEvent, PathParams pathParams) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import com.github.tomakehurst.wiremock.stubbing.ServeEvent;
import java.util.UUID;

public class RemoveStubMappingTask implements AdminTask {
public class RemoveStubMappingByIdTask implements AdminTask {

@Override
public ResponseDefinition execute(Admin admin, ServeEvent serveEvent, PathParams pathParams) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.apache.hc.client5.http.classic.methods.HttpPost;
import org.apache.hc.client5.http.classic.methods.HttpPut;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
import org.apache.hc.core5.http.ClassicHttpRequest;
Expand Down Expand Up @@ -154,18 +155,21 @@ public void addStubMapping(StubMapping stubMapping) {

@Override
public void editStubMapping(StubMapping stubMapping) {
postJsonAssertOkAndReturnBody(urlFor(OldEditStubMappingTask.class), Json.write(stubMapping));
putJsonAssertOkAndReturnBody(
urlFor(EditStubMappingTask.class, PathParams.single("id", stubMapping.getId().toString())),
Json.write(stubMapping));
}

@Override
public void removeStubMapping(StubMapping stubbMapping) {
postJsonAssertOkAndReturnBody(urlFor(OldRemoveStubMappingTask.class), Json.write(stubbMapping));
postJsonAssertOkAndReturnBody(
urlFor(RemoveMatchingStubMappingTask.class), Json.write(stubbMapping));
}

@Override
public void removeStubMapping(UUID id) {
executeRequest(
adminRoutes.requestSpecForTask(RemoveStubMappingTask.class),
adminRoutes.requestSpecForTask(RemoveStubMappingByIdTask.class),
PathParams.single("id", id),
Void.class);
}
Expand Down Expand Up @@ -448,6 +452,15 @@ private String postJsonAssertOkAndReturnBody(String url, String json) {
return safelyExecuteRequest(url, post);
}

private String putJsonAssertOkAndReturnBody(String url, String json) {
HttpPut post = new HttpPut(url);
if (json != null) {
post.setEntity(jsonStringEntity(json));
}

return safelyExecuteRequest(url, post);
}

protected String getJsonAssertOkAndReturnBody(String url) {
HttpGet get = new HttpGet(url);
return safelyExecuteRequest(url, get);
Expand Down Expand Up @@ -536,8 +549,13 @@ private String safelyExecuteRequest(String url, ClassicHttpRequest request) {
}

private String urlFor(Class<? extends AdminTask> taskClass) {
return urlFor(taskClass, PathParams.empty());
}

private String urlFor(Class<? extends AdminTask> taskClass, PathParams pathParams) {
RequestSpec requestSpec = adminRoutes.requestSpecForTask(taskClass);
requireNonNull(requestSpec, "No admin task URL is registered for " + taskClass.getSimpleName());
return String.format(ADMIN_URL_PREFIX + requestSpec.path(), scheme, host, port, urlPathPrefix);
return String.format(
ADMIN_URL_PREFIX + requestSpec.path(pathParams), scheme, host, port, urlPathPrefix);
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public void shouldClearMappingsJournalAndRequestDelayWhenResetCalled() {

@Test
public void shouldClearJournalWhenResetRequestsCalled() {
Request request = aRequest().withUrl("/requests/reset").withMethod(POST).build();
Request request = aRequest().withUrl("/requests").withMethod(DELETE).build();

handler.handle(request, httpResponder, null);
Response response = httpResponder.response;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,19 @@
import static com.github.tomakehurst.wiremock.http.MimeType.JSON;
import static com.google.common.base.Strings.isNullOrEmpty;
import static java.net.HttpURLConnection.HTTP_CREATED;
import static java.net.HttpURLConnection.HTTP_NO_CONTENT;
import static java.net.HttpURLConnection.HTTP_OK;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.hc.core5.http.ContentType.APPLICATION_JSON;
import static org.apache.hc.core5.http.ContentType.APPLICATION_XML;
import static org.apache.hc.core5.http.ContentType.DEFAULT_BINARY;

import com.github.tomakehurst.wiremock.common.Json;
import com.github.tomakehurst.wiremock.stubbing.StubMapping;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.net.URI;
import java.util.Collection;
import java.util.UUID;
import javax.net.ssl.SSLContext;
import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
import org.apache.hc.client5.http.classic.HttpClient;
Expand All @@ -56,9 +58,8 @@
public class WireMockTestClient {

private static final String LOCAL_WIREMOCK_ROOT = "http://%s:%d%s";
private static final String LOCAL_WIREMOCK_NEW_RESPONSE_URL = "http://%s:%d/__admin/mappings/new";
private static final String LOCAL_WIREMOCK_EDIT_RESPONSE_URL =
"http://%s:%d/__admin/mappings/edit";
private static final String LOCAL_WIREMOCK_NEW_RESPONSE_URL = "http://%s:%d/__admin/mappings";
private static final String LOCAL_WIREMOCK_EDIT_RESPONSE_URL = "http://%s:%d/__admin/mappings/%s";
private static final String LOCAL_WIREMOCK_RESET_DEFAULT_MAPPINS_URL =
"http://%s:%d/__admin/mappings/reset";
private static final String LOCAL_WIREMOCK_SNAPSHOT_PATH = "/__admin/recordings/snapshot";
Expand Down Expand Up @@ -87,8 +88,8 @@ private String newMappingUrl() {
return String.format(LOCAL_WIREMOCK_NEW_RESPONSE_URL, address, port);
}

private String editMappingUrl() {
return String.format(LOCAL_WIREMOCK_EDIT_RESPONSE_URL, address, port);
private String editMappingUrl(UUID stubId) {
return String.format(LOCAL_WIREMOCK_EDIT_RESPONSE_URL, address, port, stubId);
}

private String resetDefaultMappingsUrl() {
Expand Down Expand Up @@ -242,8 +243,9 @@ public void addResponse(String responseSpecJson, String charset) {
}

public void editMapping(String mappingSpecJson) {
int status = postJsonAndReturnStatus(editMappingUrl(), mappingSpecJson);
if (status != HTTP_NO_CONTENT) {
StubMapping stubMapping = Json.read(mappingSpecJson, StubMapping.class);
int status = putJsonAndReturnStatus(editMappingUrl(stubMapping.getId()), mappingSpecJson);
if (status != HTTP_OK) {
throw new RuntimeException("Returned status code was " + status);
}
}
Expand Down Expand Up @@ -282,6 +284,25 @@ private int postJsonAndReturnStatus(String url, String json, String charset) {
}
}

private int putJsonAndReturnStatus(String url, String json) {
return putJsonAndReturnStatus(url, json, "utf-8");
}

private int putJsonAndReturnStatus(String url, String json, String charset) {
HttpPut post = new HttpPut(url);
try {
if (json != null) {
post.setEntity(new StringEntity(json, ContentType.create(JSON.toString(), charset)));
}
ClassicHttpResponse httpResponse = httpClient().execute(post);
return httpResponse.getCode();
} catch (RuntimeException re) {
throw re;
} catch (Exception e) {
throw new RuntimeException(e);
}
}

private int postEmptyBodyAndReturnStatus(String url) {
return postJsonAndReturnStatus(url, null);
}
Expand Down

0 comments on commit 47d4201

Please sign in to comment.