8000 chore: fix some tests · coder/coder@a2ee1a6 · GitHub
[go: up one dir, main page]

Skip to content

Commit a2ee1a6

Browse files
chore: fix some tests
1 parent 5d87f12 commit a2ee1a6

File tree

4 files changed

+71
-101
lines changed

4 files changed

+71
-101
lines changed

agent/agentcontainers/api_test.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,9 +1315,9 @@ func TestAPI(t *testing.T) {
13151315
return nil
13161316
}) // Exec pwd.
13171317
testutil.RequireSend(ctx, t, fakeDCCLI.readConfigErrC, func(envs []string) (agentcontainers.DevcontainerConfig, error) {
1318-
assert.Contains(t, envs, "CODER_AGENT_NAME=test-container")
1318+
assert.Contains(t, envs, "CODER_WORKSPACE_AGENT_NAME=test-container")
13191319
assert.Contains(t, envs, "CODER_WORKSPACE_NAME=test-workspace")
1320-
assert.Contains(t, envs, "CODER_USER_NAME=test-user")
1320+
assert.Contains(t, envs, "CODER_WORKSPACE_OWNER_NAME=test-user")
13211321
assert.Contains(t, envs, "CODER_DEPLOYMENT_URL=test-subagent-url")
13221322
return agentcontainers.DevcontainerConfig{}, nil
13231323
})
@@ -1426,9 +1426,9 @@ func TestAPI(t *testing.T) {
14261426
return nil
14271427
}) // Exec pwd.
14281428
testutil.RequireSend(ctx, t, fakeDCCLI.readConfigErrC, func(envs []string) (agentcontainers.DevcontainerConfig, error) {
1429-
assert.Contains(t, envs, "CODER_AGENT_NAME=test-container")
1429+
assert.Contains(t, envs, "CODER_WORKSPACE_AGENT_NAME=test-container")
14301430
assert.Contains(t, envs, "CODER_WORKSPACE_NAME=test-workspace")
1431-
assert.Contains(t, envs, "CODER_USER_NAME=test-user")
1431+
assert.Contains(t, envs, "CODER_WORKSPACE_OWNER_NAME=test-user")
14321432
assert.Contains(t, envs, "CODER_DEPLOYMENT_URL=test-subagent-url")
14331433
return agentcontainers.DevcontainerConfig{}, nil
14341434
})
@@ -1594,17 +1594,17 @@ func TestAPI(t *testing.T) {
15941594
Slug: "web-app",
15951595
DisplayName: ptr.Ref("Web Application"),
15961596
URL: ptr.Ref("http://localhost:8080"),
1597-
OpenIn: codersdk.WorkspaceAppOpenInTab,
1598-
Share: codersdk.WorkspaceAppSharingLevelOwner,
1597+
OpenIn: ptr.Ref(codersdk.WorkspaceAppOpenInTab),
1598+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelOwner),
15991599
Icon: ptr.Ref("/icons/web.svg"),
16001600
Order: ptr.Ref(int32(1)),
16011601
},
16021602
{
16031603
Slug: "api-server",
16041604
DisplayName: ptr.Ref("API Server"),
16051605
URL: ptr.Ref("http://localhost:3000"),
1606-
OpenIn: codersdk.WorkspaceAppOpenInSlimWindow,
1607-
Share: codersdk.WorkspaceAppSharingLevelAuthenticated,
1606+
OpenIn: ptr.Ref(codersdk.WorkspaceAppOpenInSlimWindow),
1607+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelAuthenticated),
16081608
Icon: ptr.Ref("/icons/api.svg"),
16091609
Order: ptr.Ref(int32(2)),
16101610
Hidden: ptr.Ref(true),
@@ -1613,8 +1613,8 @@ func TestAPI(t *testing.T) {
16131613
Slug: "docs",
16141614
DisplayName: ptr.Ref("Documentation"),
16151615
URL: ptr.Ref("http://localhost:4000"),
1616-
OpenIn: codersdk.WorkspaceAppOpenInTab,
1617-
Share: codersdk.WorkspaceAppSharingLevelPublic,
1616+
OpenIn: ptr.Ref(codersdk.WorkspaceAppOpenInTab),
1617+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelPublic),
16181618
Icon: ptr.Ref("/icons/book.svg"),
16191619
Order: ptr.Ref(int32(3)),
16201620
},
@@ -1628,17 +1628,17 @@ func TestAPI(t *testing.T) {
16281628
assert.Equal(t, "web-app", subAgent.Apps[0].Slug)
16291629
assert.Equal(t, "Web Application", *subAgent.Apps[0].DisplayName)
16301630
assert.Equal(t, "http://localhost:8080", *subAgent.Apps[0].URL)
1631-
assert.Equal(t, codersdk.WorkspaceAppOpenInTab, subAgent.Apps[0].OpenIn)
1632-
assert.Equal(t, codersdk.WorkspaceAppSharingLevelOwner, subAgent.Apps[0].Share)
1631+
assert.Equal(t, codersdk.WorkspaceAppOpenInTab, *subAgent.Apps[0].OpenIn)
1632+
assert.Equal(t, codersdk.WorkspaceAppSharingLevelOwner, *subAgent.Apps[0].Share)
16331633
assert.Equal(t, "/icons/web.svg", *subAgent.Apps[0].Icon)
16341634
assert.Equal(t, int32(1), *subAgent.Apps[0].Order)
16351635

16361636
// Verify second app
16371637
assert.Equal(t, "api-server", subAgent.Apps[1].Slug)
16381638
assert.Equal(t, "API Server", *subAgent.Apps[1].DisplayName)
16391639
assert.Equal(t, "http://localhost:3000", *subAgent.Apps[1].URL)
1640-
assert.Equal(t, codersdk.WorkspaceAppOpenInSlimWindow, subAgent.Apps[1].OpenIn)
1641-
assert.Equal(t, codersdk.WorkspaceAppSharingLevelAuthenticated, subAgent.Apps[1].Share)
1640+
assert.Equal(t, codersdk.WorkspaceAppOpenInSlimWindow, *subAgent.Apps[1].OpenIn)
1641+
assert.Equal(t, codersdk.WorkspaceAppSharingLevelAuthenticated, *subAgent.Apps[1].Share)
16421642
assert.Equal(t, "/icons/api.svg", *subAgent.Apps[1].Icon)
16431643
assert.Equal(t, int32(2), *subAgent.Apps[1].Order)
16441644
assert.Equal(t, true, *subAgent.Apps[1].Hidden)
@@ -1647,8 +1647,8 @@ func TestAPI(t *testing.T) {
16471647
assert.Equal(t, "docs", subAgent.Apps[2].Slug)
16481648
assert.Equal(t, "Documentation", *subAgent.Apps[2].DisplayName)
16491649
assert.Equal(t, "http://localhost:4000", *subAgent.Apps[2].URL)
1650-
assert.Equal(t, codersdk.WorkspaceAppOpenInTab, subAgent.Apps[2].OpenIn)
1651-
assert.Equal(t, codersdk.WorkspaceAppSharingLevelPublic, subAgent.Apps[2].Share)
1650+
assert.Equal(t, codersdk.WorkspaceAppOpenInTab, *subAgent.Apps[2].OpenIn)
1651+
assert.Equal(t, codersdk.WorkspaceAppSharingLevelPublic, *subAgent.Apps[2].Share)
16521652
assert.Equal(t, "/icons/book.svg", *subAgent.Apps[2].Icon)
16531653
assert.Equal(t, int32(3), *subAgent.Apps[2].Order)
16541654
},

agent/agentcontainers/devcontainercli.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,8 @@ func (d *devcontainerCLI) ReadConfig(ctx context.Context, workspaceFolder, confi
265265
}
266266

267267
c := d.execer.CommandContext(ctx, "devcontainer", args...)
268-
c.Env = append(os.Environ(), env...)
268+
c.Env = append(c.Env, os.Environ()...)
269+
c.Env = append(c.Env, env...)
269270

270271
var stdoutBuf bytes.Buffer
271272
stdoutWriters := []io.Writer{&stdoutBuf, &devcontainerCLILogWriter{ctx: ctx, logger: logger.With(slog.F("stdout", true))}}

agent/agentcontainers/subagent.go

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,19 @@ type SubAgent struct {
2525
}
2626

2727
type SubAgentApp struct {
28-
Slug string `json:"slug"`
29-
Command *string `json:"command"`
30-
DisplayName *string `json:"displayName"`
31-
External *bool `json:"external"`
32-
Group *string `json:"group"`
33-
HealthCheck *SubAgentHealthCheck `json:"healthCheck"`
34-
Hidden *bool `json:"hidden"`
35-
Icon *string `json:"icon"`
36-
OpenIn codersdk.WorkspaceAppOpenIn `json:"openIn"`
37-
Order *int32 `json:"order"`
38-
Share codersdk.WorkspaceAppSharingLevel `json:"share"`
39-
Subdomain *bool `json:"subdomain"`
40-
URL *string `json:"url"`
28+
Slug string `json:"slug"`
29+
Command *string `json:"command"`
30+
DisplayName *string `json:"displayName"`
31+
External *bool `json:"external"`
32+
Group *string `json:"group"`
33+
HealthCheck *SubAgentHealthCheck `json:"healthCheck"`
34+
Hidden *bool `json:"hidden"`
35+
Icon *string `json:"icon"`
36+
OpenIn *codersdk.WorkspaceAppOpenIn `json:"openIn"`
37+
Order *int32 `json:"order"`
38+
Share *codersdk.WorkspaceAppSharingLevel `json:"share"`
39+
Subdomain *bool `json:"subdomain"`
40+
URL *string `json:"url"`
4141
}
4242

4343
type SubAgentHealthCheck struct {
@@ -139,25 +139,29 @@ func (a *subAgentAPIClient) Create(ctx context.Context, agent SubAgent) (SubAgen
139139
}
140140

141141
var openIn *agentproto.CreateSubAgentRequest_App_OpenIn
142-
switch app.OpenIn {
143-
case codersdk.WorkspaceAppOpenInSlimWindow:
144-
openIn = agentproto.CreateSubAgentRequest_App_SLIM_WINDOW.Enum()
145-
case codersdk.WorkspaceAppOpenInTab:
146-
openIn = agentproto.CreateSubAgentRequest_App_TAB.Enum()
147-
default:
148-
return SubAgent{}, xerrors.Errorf("unexpected codersdk.WorkspaceAppOpenIn: %#v", app.OpenIn)
142+
if app.OpenIn != nil {
143+
switch *app.OpenIn {
144+
case codersdk.WorkspaceAppOpenInSlimWindow:
145+
openIn = agentproto.CreateSubAgentRequest_App_SLIM_WINDOW.Enum()
146+
case codersdk.WorkspaceAppOpenInTab:
147+
openIn = agentproto.CreateSubAgentRequest_App_TAB.Enum()
148+
default:
149+
return SubAgent{}, xerrors.Errorf("unexpected codersdk.WorkspaceAppOpenIn: %#v", app.OpenIn)
150+
}
149151
}
150152

151153
var share *agentproto.CreateSubAgentRequest_App_Share
152-
switch app.Share {
153-
case codersdk.WorkspaceAppSharingLevelAuthenticated:
154-
share = agentproto.CreateSubAgentRequest_App_AUTHENTICATED.Enum()
155-
case codersdk.WorkspaceAppSharingLevelOwner:
156-
share = agentproto.CreateSu 1C6A bAgentRequest_App_OWNER.Enum()
157-
case codersdk.WorkspaceAppSharingLevelPublic:
158-
share = agentproto.CreateSubAgentRequest_App_PUBLIC.Enum()
159-
default:
160-
return SubAgent{}, xerrors.Errorf("unexpected codersdk.WorkspaceAppSharingLevel: %#v", app.Share)
154+
if app.Share != nil {
155+
switch *app.Share {
156+
case codersdk.WorkspaceAppSharingLevelAuthenticated:
157+
share = agentproto.CreateSubAgentRequest_App_AUTHENTICATED.Enum()
158+
case codersdk.WorkspaceAppSharingLevelOwner:
159+
share = agentproto.CreateSubAgentRequest_App_OWNER.Enum()
160+
case codersdk.WorkspaceAppSharingLevelPublic:
161+
share = agentproto.CreateSubAgentRequest_App_PUBLIC.Enum()
162+
default:
163+
return SubAgent{}, xerrors.Errorf("unexpected codersdk.WorkspaceAppSharingLevel: %#v", app.Share)
164+
}
161165
}
162166

163167
apps = append(apps, &agentproto.CreateSubAgentRequest_App{

agent/agentcontainers/subagent_test.go

Lines changed: 20 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -114,24 +114,20 @@ func TestSubAgentClient_CreateWithDisplayApps(t *testing.T) {
114114
expectedApps []*agentproto.CreateSubAgentRequest_App
115115
}{
116116
{
117-
name: "single app with minimal fields",
117+
name: "SlugOnly",
118118
apps: []agentcontainers.SubAgentApp{
119119
{
120-
Slug: "code-server",
121-
OpenIn: codersdk.WorkspaceAppOpenInSlimWindow,
122-
Share: codersdk.WorkspaceAppSharingLevelOwner,
120+
Slug: "code-server",
123121
},
124122
},
125123
expectedApps: []*agentproto.CreateSubAgentRequest_App{
126124
{
127-
Slug: "code-server",
128-
OpenIn: agentproto.CreateSubAgentRequest_App_SLIM_WINDOW.Enum(),
129-
Share: agentproto.CreateSubAgentRequest_App_OWNER.Enum(),
125+
Slug: "code-server",
130126
},
131127
},
132128
},
133129
{
134-
name: "single app with all fields",
130+
name: "AllFields",
135131
apps: []agentcontainers.SubAgentApp{
136132
{
137133
Slug: "jupyter",
@@ -146,9 +142,9 @@ func TestSubAgentClient_CreateWithDisplayApps(t *testing.T) {
146142
},
147143
Hidden: ptr.Ref(false),
148144
Icon: ptr.Ref("/icon/jupyter.svg"),
149-
OpenIn: codersdk.WorkspaceAppOpenInTab,
145+
OpenIn: ptr.Ref(codersdk.WorkspaceAppOpenInTab),
150146
Order: ptr.Ref(int32(1)),
151-
Share: codersdk.WorkspaceAppSharingLevelAuthenticated,
147+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelAuthenticated),
152148
Subdomain: ptr.Ref(true),
153149
URL: ptr.Ref("http://localhost:8888"),
154150
},
@@ -176,44 +172,38 @@ func TestSubAgentClient_CreateWithDisplayApps(t *testing.T) {
176172
},
177173
},
178174
{
179-
name: "multiple apps with different sharing levels",
175+
name: "AllSharingLevels",
180176
apps: []agentcontainers.SubAgentApp{
181177
{
182-
Slug: "owner-app",
183-
OpenIn: codersdk.WorkspaceAppOpenInSlimWindow,
184-
Share: codersdk.WorkspaceAppSharingLevelOwner,
178+
Slug: "owner-app",
179+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelOwner),
185180
},
186181
{
187-
Slug: "authenticated-app",
188-
OpenIn: codersdk.WorkspaceAppOpenInTab,
189-
Share: codersdk.WorkspaceAppSharingLevelAuthenticated,
182+
Slug: "authenticated-app",
183+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelAuthenticated),
190184
},
191185
{
192-
Slug: "public-app",
193-
OpenIn: codersdk.WorkspaceAppOpenInSlimWindow,
194-
Share: codersdk.WorkspaceAppSharingLevelPublic,
186+
Slug: "public-app",
187+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelPublic),
195188
},
196189
},
197190
expectedApps: []*agentproto.CreateSubAgentRequest_App{
198191
{
199-
Slug: "owner-app",
200-
OpenIn: agentproto.CreateSubAgentRequest_App_SLIM_WINDOW.Enum(),
201-
Share: agentproto.CreateSubAgentRequest_App_OWNER.Enum(),
192+
Slug: "owner-app",
193+
Share: agentproto.CreateSubAgentRequest_App_OWNER.Enum(),
202194
},
203195
{
204-
Slug: "authenticated-app",
205-
OpenIn: agentproto.CreateSubAgentRequest_App_TAB.Enum(),
206-
Share: agentproto.CreateSubAgentRequest_App_AUTHENTICATED.Enum(),
196+
Slug: "authenticated-app",
197+
Share: agentproto.CreateSubAgentRequest_App_AUTHENTICATED.Enum(),
207198
},
208199
{
209-
Slug: "public-app",
210-
OpenIn: agentproto.CreateSubAgentRequest_App_SLIM_WINDOW.Enum(),
211-
Share: agentproto.CreateSubAgentRequest_App_PUBLIC.Enum(),
200+
Slug: "public-app",
201+
Share: agentproto.CreateSubAgentRequest_App_PUBLIC.Enum(),
212202
},
213203
},
214204
},
215205
{
216-
name: "app with health check",
206+
name: "WithHealthCheck",
217207
apps: []agentcontainers.SubAgentApp{
218208
{
219209
Slug: "health-app",
@@ -222,8 +212,6 @@ func TestSubAgentClient_CreateWithDisplayApps(t *testing.T) {
222212
Threshold: 5,
223213
URL: "http://localhost:3000/health",
224214
},
225-
OpenIn: codersdk.WorkspaceAppOpenInSlimWindow,
226-
Share: codersdk.WorkspaceAppSharingLevelOwner,
227215
},
228216
},
229217
expectedApps: []*agentproto.CreateSubAgentRequest_App{
@@ -234,32 +222,9 @@ func TestSubAgentClient_CreateWithDisplayApps(t *testing.T) {
234222
Threshold: 5,
235223
Url: "http://localhost:3000/health",
236224
},
237-
OpenIn: agentproto.CreateSubAgentRequest_App_SLIM_WINDOW.Enum(),
238-
Share: agentproto.CreateSubAgentRequest_App_OWNER.Enum(),
239225
},
240226
},
241227
},
242-
{
243-
name: "app without health check",
244-
apps: []agentcontainers.SubAgentApp{
245-
{
246-
Slug: "no-health-app",
247-
OpenIn: codersdk.WorkspaceAppOpenInTab,
248-
Share: codersdk.WorkspaceAppSharingLevelOwner,
249-
},
250-
},
251-
expectedApps: []*agentproto.CreateSubAgentRequest_App{
252-
{
253-
Slug: "no-health-app",
254-
OpenIn: agentproto.CreateSubAgentRequest_App_TAB.Enum(),
255-
Share: agentproto.CreateSubAgentRequest_App_OWNER.Enum(),
256-
},
257-
},
258-
},
259-
{
260-
name: "no apps",
261-
apps: []agentcontainers.SubAgentApp{},
262-
},
263228
}
264229

265230
for _, tt := range tests {

0 commit comments

Comments
 (0)
0