Skip to content

Idea: Unify methods to get endpoint url #33

Open
@bitxon

Description

@bitxon

Proposal

Goal is to simplify public interface of the WireMockContainer class

Current methods

public String getEndpoint() {
  return String.format("http://%s:%d", getHost(), getMappedPort(PORT));
}
public URI getRequestURI(String relativePath) throws URISyntaxException {
  return new URI(getEndpoint() + "/" + relativePath);
}

Option 1

Align method names with WireMockServer class

public String baseUrl() {
  return String.format("http://%s:%d", getHost(), getMappedPort(PORT));
}
public String url(String path) {
  if (!path.startsWith("/")) {
    path = "/" + path;
  }
  return baseUrl() + path;
}

Motivation

  1. Simplify switch from Embedded wiremock to Testcontainer
  2. Familiar api for developers

Option 2

  public String getEndpoint() {
    return String.format("http://%s:%d", getHost(), getMappedPort(PORT));
  }
  public String getEndpoint(String path) {
    if (!path.startsWith("/")) {
      path = "/" + path;
    }
    return getEndpoint() + path
  }

Motivation

  1. Use Overloaded methods getEndpoint
    • naming consistency
    • easier for developer to memorize and intuitively understand what method does
  2. Allow path to be with / and without it
  • simplify switch from WireMockServer to WireMockTestcontainer

References

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions