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.CreateSubAgentRequest_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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy