diff options
| author | mo khan <mo@mokhan.ca> | 2025-05-13 17:13:19 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-05-13 17:13:19 -0600 |
| commit | fc2f0d534ba51d6cab71537efac8a6fd69c25749 (patch) | |
| tree | f99a13e868f0ade14d7c7e685245c81f7b11e7ef /test/integration | |
| parent | b0ec1abe012255d27ce9ea67839d820b1267ade4 (diff) | |
test: normalize the issuer again
Diffstat (limited to 'test/integration')
| -rw-r--r-- | test/integration/container.go | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/test/integration/container.go b/test/integration/container.go index c9284dc..0f77ff8 100644 --- a/test/integration/container.go +++ b/test/integration/container.go @@ -3,6 +3,9 @@ package test import ( "context" "net/http" + "net/url" + "strconv" + "strings" "testing" "time" @@ -14,37 +17,40 @@ import ( "github.com/xlgmokha/x/pkg/env" ) -// func normalizeIssuer(t *testing.T, issuer string) (string, int) { -// for _, loopback := range []string{"0.0.0.0", "127.0.0.1", "[::]", "localhost"} { -// issuer = strings.Replace(issuer, loopback, testcontainers.HostInternal, 1) -// } +func normalizeIssuer(t *testing.T, issuer string) (string, int) { + for _, loopback := range []string{"0.0.0.0", "127.0.0.1", "[::]", "localhost"} { + issuer = strings.Replace(issuer, loopback, testcontainers.HostInternal, 1) + } -// u, err := url.Parse(issuer) -// require.NoError(t, err) -// port, err := strconv.Atoi(u.Port()) -// require.NoError(t, err) + u, err := url.Parse(issuer) + require.NoError(t, err) + port, err := strconv.Atoi(u.Port()) + require.NoError(t, err) -// return issuer, port -// } + return issuer, port +} 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) + issuer, port := normalizeIssuer(t, envVars["OIDC_ISSUER"]) + envVars["OIDC_ISSUER"] = issuer + t.Logf("issuer: %v, port: %v\n", issuer, port) - container, err := testcontainers.Run( - ctx, - env.Fetch("IMAGE_TAG", "sparkled:invalid"), + container, err := testcontainers.Run(ctx, env.Fetch("IMAGE_TAG", "sparkled:invalid"), containerOptions(t, envVars)...) + require.NoError(t, err) + return container +} + +func containerOptions(t *testing.T, envVars map[string]string) []testcontainers.ContainerCustomizer { + return []testcontainers.ContainerCustomizer{ testcontainers.WithEnv(envVars), // testcontainers.WithExposedPorts("8080/tcp", "9901/tcp", "10000/tcp"), + // testcontainers.WithHostPortAccess(port), testcontainers.WithHostConfigModifier(func(cfg *xcontainer.HostConfig) { cfg.NetworkMode = xcontainer.NetworkMode(network.NetworkHost) }), testcontainers.WithLogConsumers(&LogConsumer{t: t}), - testcontainers.WithWaitStrategy(wait.ForLog("Listening on").WithStartupTimeout(10*time.Second)), - ) - require.NoError(t, err) - return container + testcontainers.WithWaitStrategy(wait.ForLog("Listening on").WithStartupTimeout(10 * time.Second)), + } } |
