diff options
| author | mo khan <mo@mokhan.ca> | 2025-05-13 17:20:57 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-05-13 17:20:57 -0600 |
| commit | a1bc48aa4eda87d861119217f1b802ac1f22175f (patch) | |
| tree | 47b31901810acc061ae817f7bc8fdc6fd3296a79 | |
| parent | fc2f0d534ba51d6cab71537efac8a6fd69c25749 (diff) | |
test: extract function for container options
| -rw-r--r-- | test/integration/container.go | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/test/integration/container.go b/test/integration/container.go index 0f77ff8..2595025 100644 --- a/test/integration/container.go +++ b/test/integration/container.go @@ -37,20 +37,34 @@ func NewContainer(t *testing.T, ctx context.Context, envVars map[string]string) envVars["OIDC_ISSUER"] = issuer t.Logf("issuer: %v, port: %v\n", issuer, port) - container, err := testcontainers.Run(ctx, env.Fetch("IMAGE_TAG", "sparkled:invalid"), containerOptions(t, envVars)...) + container, err := testcontainers.Run( + ctx, + env.Fetch("IMAGE_TAG", "sparkled:invalid"), + containerOptions(t, port, envVars)..., + ) require.NoError(t, err) return container } -func containerOptions(t *testing.T, envVars map[string]string) []testcontainers.ContainerCustomizer { - return []testcontainers.ContainerCustomizer{ +func containerOptions(t *testing.T, port int, envVars map[string]string) []testcontainers.ContainerCustomizer { + options := []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)), } + + if isGitlabCI() { + options = append(options, testcontainers.WithHostConfigModifier(func(cfg *xcontainer.HostConfig) { + cfg.NetworkMode = xcontainer.NetworkMode(network.NetworkHost) + })) + options = append(options, testcontainers.WithHostPortAccess(port)) + } else { + options = append(options, testcontainers.WithExposedPorts("8080/tcp", "9901/tcp", "10000/tcp")) + } + + return options +} + +func isGitlabCI() bool { + return env.Fetch("CI", "") == "true" } |
