Skip to content

Commit 561cc53

Browse files
authored
chore(integration): update TestLogs to validate that CODER_ASGENT_SUBSYSTEM is set correctly (#397)
1 parent 08bdb8d commit 561cc53

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

integration/integration_test.go

+24-1
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,11 @@ func TestLogs(t *testing.T) {
123123
"Dockerfile": fmt.Sprintf(`FROM %s`, testImageUbuntu),
124124
},
125125
})
126-
_, err := runEnvbuilder(t, runOpts{env: []string{
126+
ctrID, err := runEnvbuilder(t, runOpts{env: []string{
127127
envbuilderEnv("GIT_URL", srv.URL),
128128
"CODER_AGENT_URL=" + logSrv.URL,
129129
"CODER_AGENT_TOKEN=" + token,
130+
"ENVBUILDER_INIT_SCRIPT=env",
130131
}})
131132
require.NoError(t, err)
132133
ctx, cancel := context.WithTimeout(context.Background(), time.Minute)
@@ -136,6 +137,28 @@ func TestLogs(t *testing.T) {
136137
t.Fatal("timed out waiting for logs")
137138
case <-logsDone:
138139
}
140+
141+
// Wait for the container to exit
142+
client, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation())
143+
require.NoError(t, err)
144+
require.Eventually(t, func() bool {
145+
status, err := client.ContainerInspect(ctx, ctrID)
146+
if !assert.NoError(t, err) {
147+
return false
148+
}
149+
return !status.State.Running
150+
}, 10*time.Second, time.Second, "container never exited")
151+
152+
// Check the expected log output
153+
logReader, err := client.ContainerLogs(ctx, ctrID, container.LogsOptions{
154+
ShowStdout: true,
155+
ShowStderr: true,
156+
})
157+
require.NoError(t, err)
158+
logBytes, err := io.ReadAll(logReader)
159+
require.NoError(t, err)
160+
logs := string(logBytes)
161+
require.Contains(t, logs, "CODER_AGENT_SUBSYSTEM=envbuilder")
139162
}
140163

141164
func TestInitScriptInitCommand(t *testing.T) {

0 commit comments

Comments
 (0)