1

I'm trying to use testcontainers-go with HTTPS mode enabled in tests:

req := testcontainers.ContainerRequest{
        Image:        "wiremock/wiremock",
        ExposedPorts: []string{"8080/tcp", "8443/tcp"},
        Cmd: []string{"--https-port", "8443", "--verbose"},
    }
uri := fmt.Sprintf("https://%s:%s", hostIP, mappedPort.Port())
# see
# https://github.com/testcontainers/testcontainers-go/blob/main/docs/examples/cockroachdb.md
# https://github.com/wiremock/wiremock-docker#start-a-wiremock-container-with-wiremock-arguments

together with walkerus/go-wiremock (WireMock go client) and I'm running into

Post "https://localhost:59279/foo": x509: “Tom Akehurst” certificate is not trusted

I think the reason is go-wiremockconverts wiremock.Post(wiremock.URLPathEqualTo into a direct http call (i.e., it doesn't "expose" http client):

// A Client implements requests to the wiremock server.
type Client struct {
    url string
}

so I can't override it to:

tr := &http.Transport{
        TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
    }
    client := &http.Client{Transport: tr}

Is there other workaround?

Ivan Petrov
  • 135
  • 2
  • 8

0 Answers0