From a1bc48aa4eda87d861119217f1b802ac1f22175f Mon Sep 17 00:00:00 2001 From: mo khan Date: Tue, 13 May 2025 17:20:57 -0600 Subject: test: extract function for container options --- test/integration/container.go | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'test') 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" } -- cgit v1.2.3