diff options
| author | mo khan <mo@mokhan.ca> | 2025-05-12 18:17:54 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-05-12 18:17:54 -0600 |
| commit | a1fc674ab8ef8530f7fa217231a03da5166932da (patch) | |
| tree | f5f8e18097acaa15cb290a5f92c8b32bb10c7509 /test | |
| parent | b8cb02c1fdb1513a17513b7950654983c8dc47dd (diff) | |
test: record http client requests
Diffstat (limited to 'test')
| -rw-r--r-- | test/integration/container.go | 5 | ||||
| -rw-r--r-- | test/integration/http.go | 15 | ||||
| -rw-r--r-- | test/integration/oidc.go | 2 |
3 files changed, 18 insertions, 4 deletions
diff --git a/test/integration/container.go b/test/integration/container.go index 53fe9f2..a991333 100644 --- a/test/integration/container.go +++ b/test/integration/container.go @@ -2,6 +2,7 @@ package test import ( "context" + "net/http" "net/url" "strconv" "strings" @@ -15,7 +16,7 @@ import ( ) func normalizeIssuer(t *testing.T, originalIssuer string) (string, int) { - issuer := strings.Replace(originalIssuer, "[::]", testcontainers.HostInternal, 1) + issuer := strings.Replace(originalIssuer, "127.0.0.1", testcontainers.HostInternal, 1) u, err := url.Parse(issuer) require.NoError(t, err) @@ -26,6 +27,8 @@ func normalizeIssuer(t *testing.T, originalIssuer string) (string, int) { } func NewContainer(t *testing.T, ctx context.Context, envVars map[string]string) *testcontainers.DockerContainer { + require.Equal(t, http.StatusOK, HttpGet(t, ctx, envVars["OIDC_ISSUER"]+"/.well-known/openid-configuration").StatusCode) + issuer, port := normalizeIssuer(t, envVars["OIDC_ISSUER"]) envVars["OIDC_ISSUER"] = issuer t.Logf("issuer: %v, port: %v\n", issuer, port) diff --git a/test/integration/http.go b/test/integration/http.go index 8aeeb77..951d971 100644 --- a/test/integration/http.go +++ b/test/integration/http.go @@ -9,11 +9,22 @@ import ( "github.com/stretchr/testify/require" ) -var client *http.Client = &http.Client{ - Timeout: 5 * time.Second, +type testTransport struct { + t *testing.T +} + +func (r *testTransport) RoundTrip(request *http.Request) (*http.Response, error) { + response, err := http.DefaultTransport.RoundTrip(request) + r.t.Logf("%v %v %v %v\n", request.Method, request.URL, response.StatusCode, err) + return response, err } func HttpGet(t *testing.T, ctx context.Context, path string) *http.Response { + client := &http.Client{ + Timeout: 5 * time.Second, + Transport: &testTransport{t: t}, + } + request, err := http.NewRequestWithContext(ctx, http.MethodGet, path, nil) require.NoError(t, err) diff --git a/test/integration/oidc.go b/test/integration/oidc.go index 3a061fb..eeaf8ea 100644 --- a/test/integration/oidc.go +++ b/test/integration/oidc.go @@ -20,7 +20,7 @@ func NewOIDCTestServer(t *testing.T) *mockoidc.MockOIDC { }) }) - ln, err := net.Listen("tcp", "0.0.0.0:0") + ln, err := net.Listen("tcp", "127.0.0.1:0") require.NoError(t, err) require.NoError(t, srv.Start(ln, nil)) return srv |
