testing mockserver tls with testcontainers

Mockserver supports HTTPS without additional configuration:

import { MockserverContainer, type StartedMockserverContainer } from "@testcontainers/mockserver"
import { mockServerClient } from "mockserver-client"

let ms!: StartedMockserverContainer

try {
    ms = await new MockserverContainer("mockserver/mockserver:5.15.0").start()
    const client = mockServerClient(ms.getHost(), ms.getMockserverPort())

    await client.mockSimpleResponse("/hello", "Hello", 200)

    const response = await fetch(`https://${ms.getHost()}:${ms.getFirstMappedPort()}/hello`)
    const body = await response.text()

    console.log(
        response,
        body
    )
} finally {
    await ms?.stop()
}

Note that you must disable certificate verification because mockserver uses a self-signed certificate:

# You must start the test with cert verification disabled.
NODE_TLS_REJECT_UNAUTHORIZED=0 node app.ts