Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3a18111

Browse files
chore: fix some tests
1 parent 771b3b7 commit 3a18111

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
@@ -1319,9 +1319,9 @@ func TestAPI(t *testing.T) {
13191319
return nil
13201320
}) // Exec pwd.
13211321
testutil.RequireSend(ctx, t, fakeDCCLI.readConfigErrC, func(envs []string) (agentcontainers.DevcontainerConfig, error) {
1322-
assert.Contains(t, envs, "CODER_AGENT_NAME=test-container")
1322+
assert.Contains(t, envs, "CODER_WORKSPACE_AGENT_NAME=test-container")
13231323
assert.Contains(t, envs, "CODER_WORKSPACE_NAME=test-workspace")
1324-
assert.Contains(t, envs, "CODER_USER_NAME=test-user")
1324+
assert.Contains(t, envs, "CODER_WORKSPACE_OWNER_NAME=test-user")
13251325
assert.Contains(t, envs, "CODER_DEPLOYMENT_URL=test-subagent-url")
13261326
return agentcontainers.DevcontainerConfig{}, nil
13271327
})
@@ -1466,9 +1466,9 @@ func TestAPI(t *testing.T) {
14661466
return nil
14671467
}) // Exec pwd.
14681468
testutil.RequireSend(ctx, t, fakeDCCLI.readConfigErrC, func(envs []string) (agentcontainers.DevcontainerConfig, error) {
1469-
assert.Contains(t, envs, "CODER_AGENT_NAME=test-container")
1469+
assert.Contains(t, envs, "CODER_WORKSPACE_AGENT_NAME=test-container")
14701470
assert.Contains(t, envs, "CODER_WORKSPACE_NAME=test-workspace")
1471-
assert.Contains(t, envs, "CODER_USER_NAME=test-user")
1471+
assert.Contains(t, envs, "CODER_WORKSPACE_OWNER_NAME=test-user")
14721472
assert.Contains(t, envs, "CODER_DEPLOYMENT_URL=test-subagent-url")
14731473
return agentcontainers.DevcontainerConfig{}, nil
14741474
})
@@ -1631,17 +1631,17 @@ func TestAPI(t *testing.T) {
16311631
Slug: "web-app",
16321632
DisplayName: ptr.Ref("Web Application"),
16331633
URL: ptr.Ref("http://localhost:8080"),
1634-
OpenIn: codersdk.WorkspaceAppOpenInTab,
1635-
Share: codersdk.WorkspaceAppSharingLevelOwner,
1634+
OpenIn: ptr.Ref(codersdk.WorkspaceAppOpenInTab),
1635+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelOwner),
16361636
Icon: ptr.Ref("/icons/web.svg"),
16371637
Order: ptr.Ref(int32(1)),
16381638
},
16391639
{
16401640
Slug: "api-server",
16411641
DisplayName: ptr.Ref("API Server"),
16421642
URL: ptr.Ref("http://localhost:3000"),
1643-
OpenIn: codersdk.WorkspaceAppOpenInSlimWindow,
1644-
Share: codersdk.WorkspaceAppSharingLevelAuthenticated,
1643+
OpenIn: ptr.Ref(codersdk.WorkspaceAppOpenInSlimWindow),
1644+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelAuthenticated),
16451645
Icon: ptr.Ref("/icons/api.svg"),
16461646
Order: ptr.Ref(int32(2)),
16471647
Hidden: ptr.Ref(true),
@@ -1650,8 +1650,8 @@ func TestAPI(t *testing.T) {
16501650
Slug: "docs",
16511651
DisplayName: ptr.Ref("Documentation"),
16521652
URL: ptr.Ref("http://localhost:4000"),
1653-
OpenIn: codersdk.WorkspaceAppOpenInTab,
1654-
Share: codersdk.WorkspaceAppSharingLevelPublic,
1653+
OpenIn: ptr.Ref(codersdk.WorkspaceAppOpenInTab),
1654+
Share: ptr.Ref(codersdk.WorkspaceAppSharingLevelPublic),
16551655
Icon: ptr.Ref("/icons/book.svg"),
16561656
Order: ptr.Ref(int32(3)),
16571657
},
@@ -1665,17 +1665,17 @@ func TestAPI(t *testing.T) {
16651665
assert.Equal(t, "web-app", subAgent.Apps[0].Slug)
16661666
assert.Equal(t, "Web Application", *subAgent.Apps[0].DisplayName)
16671667
assert.Equal(t, "http://localhost:8080", *subAgent.Apps[0].URL)
1668-
assert.Equal(t, codersdk.WorkspaceAppOpenInTab, subAgent.Apps[0].OpenIn)
1669-
assert.Equal(t, codersdk.WorkspaceAppSharingLevelOwner, subAgent.Apps[0].Share)
1668+
assert.Equal(t, codersdk.WorkspaceAppOpenInTab, *subAgent.Apps[0].OpenIn)
1669+
assert.Equal(t, codersdk.WorkspaceAppSharingLevelOwner, *subAgent.Apps[0].Share)
16701670
assert.Equal(t, "/icons/web.svg", *subAgent.Apps[0].Icon)
16711671
assert.Equal(t, int32(1), *subAgent.Apps[0].Order)
16721672

16731673
// Verify second app
16741674
assert.Equal(t, "api-server", subAgent.Apps[1].Slug)
16751675
assert.Equal(t, "API Server", *subAgent.Apps[1].DisplayName)
16761676
assert.Equal(t, "http://localhost:3000", *subAgent.Apps[1].URL)
1677-
assert.Equal(t, codersdk.WorkspaceAppOpenInSlimWindow, subAgent.Apps[1].OpenIn)
1678-
assert.Equal(t, codersdk.WorkspaceAppSharingLevelAuthenticated, subAgent.Apps[1].Share)
1677+
assert.Equal(t, codersdk.WorkspaceAppOpenInSlimWindow, *subAgent.Apps[1].OpenIn)
1678+
assert.Equal(t, codersdk.WorkspaceAppSharingLevelAuthenticated, *subAgent.Apps[1].Share)
16791679
assert.Equal(t, "/icons/api.svg", *subAgent.Apps[1].Icon)
16801680
assert.Equal(t, int32(2), *subAgent.Apps[1].Order)
16811681
assert.Equal(t, true, *subAgent.Apps[1].Hidden)
@@ -1684,8 +1684,8 @@ func TestAPI(t *testing.T) {
16841684
assert.Equal(t, "docs", subAgent.Apps[2].Slug)
16851685
assert.Equal(t, "Documentation", *subAgent.Apps[2].DisplayName)
16861686
assert.Equal(t, "http://localhost:4000", *subAgent.Apps[2].URL)
1687-
assert.Equal(t, codersdk.WorkspaceAppOpenInTab, subAgent.Apps[2].OpenIn)
1688-
assert.Equal(t, codersdk.WorkspaceAppSharingLevelPublic, subAgent.Apps[2].Share)
1687+
assert.Equal(t, codersdk.WorkspaceAppOpenInTab, *subAgent.Apps[2].OpenIn)
1688+
assert.Equal(t, codersdk.WorkspaceAppSharingLevelPublic, *subAgent.Apps[2].Share)
16891689
assert.Equal(t, "/icons/book.svg", *subAgent.Apps[2].Icon)
16901690
assert.Equal(t, int32(3), *subAgent.Apps[2].Order)
16911691
},

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
@@ -47,19 +47,19 @@ func (s SubAgent) EqualConfig(other SubAgent) bool {
4747
}
4848

4949
type SubAgentApp struct {
50-
Slug string `json:"slug"`
51-
Command *string `json:"command"`
52-
DisplayName *string `json:"displayName"`
53-
External *bool `json:"external"`
54-
Group *string `json:"group"`
55-
HealthCheck *SubAgentHealthCheck `json:"healthCheck"`
56-
Hidden *bool `json:"hidden"`
57-
Icon *string `json:"icon"`
58-
OpenIn codersdk.WorkspaceAppOpenIn `json:"openIn"`
59-
Order *int32 `json:"order"`
60-
Share codersdk.WorkspaceAppSharingLevel `json:"share"`
61-
Subdomain *bool `json:"subdomain"`
62-
URL *string `json:"url"`
50+
Slug string `json:"slug"`
51+
Command *string `json:"command"`
52+
DisplayName *string `json:"displayName"`
53+
External *bool `json:"external"`
54+
Group *string `json:"group"`
55+
HealthCheck *SubAgentHealthCheck `json:"healthCheck"`
56+
Hidden *bool `json:"hidden"`
57+
Icon *string `json:"icon"`
58+
OpenIn *codersdk.WorkspaceAppOpenIn `json:"openIn"`
59+
Order *int32 `json:"order"`
60+
Share *codersdk.WorkspaceAppSharingLevel `json:"share"`
61+
Subdomain *bool `json:"subdomain"`
62+
URL *string `json:"url"`
6363
}
6464

6565
type SubAgentHealthCheck struct {
@@ -161,25 +161,29 @@ func (a *subAgentAPIClient) Create(ctx context.Context, agent SubAgent) (SubAgen
161161
}
162162

163163
var openIn *agentproto.CreateSubAgentRequest_App_OpenIn
164-
switch app.OpenIn {
165-
case codersdk.WorkspaceAppOpenInSlimWindow:
166-
openIn = agentproto.CreateSubAgentRequest_App_SLIM_WINDOW.Enum()
167-
case codersdk.WorkspaceAppOpenInTab:
168-
openIn = agentproto.CreateSubAgentRequest_App_TAB.Enum()
169-
default:
170-
return SubAgent{}, xerrors.Errorf("unexpected codersdk.WorkspaceAppOpenIn: %#v", app.OpenIn)
164+
if app.OpenIn != nil {
165+
switch *app.OpenIn {
166+
case codersdk.WorkspaceAppOpenInSlimWindow:
167+
openIn = agentproto.CreateSubAgentRequest_App_SLIM_WINDOW.Enum()
168+
case codersdk.WorkspaceAppOpenInTab:
169+
openIn = agentproto.CreateSubAgentRequest_App_TAB.Enum()
170+
default:
171+
return SubAgent{}, xerrors.Errorf("unexpected codersdk.WorkspaceAppOpenIn: %#v", app.OpenIn)
172+
}
171173
}
172174

173175
var share *agentproto.CreateSubAgentRequest_App_SharingLevel
174-
switch app.Share {
175-
case codersdk.WorkspaceAppSharingLevelAuthenticated:
176-
share = agentproto.CreateSubAgentRequest_App_AUTHENTICATED.Enum()
177-
case codersdk.WorkspaceAppSharingLevelOwner:
178-
share = agentproto.CreateSubAgentRequest_App_OWNER.Enum()
179-
case codersdk.WorkspaceAppSharingLevelPublic:
180-
share = agentproto.CreateSubAgentRequest_App_PUBLIC.Enum()
181-
default:
182-
return SubAgent{}, xerrors.Errorf("unexpected codersdk.WorkspaceAppSharingLevel: %#v", app.Share)
176+
if app.Share != nil {
177+
switch *app.Share {
178+
case codersdk.WorkspaceAppSharingLevelAuthenticated:
179+
share = agentproto.CreateSubAgentRequest_App_AUTHENTICATED.Enum()
180+
case codersdk.WorkspaceAppSharingLevelOwner:
181+
share = agentproto.CreateSubAgentRequest_App_OWNER.Enum()
182+
case codersdk.WorkspaceAppSharingLevelPublic:
183+
share = agentproto.CreateSubAgentRequest_App_PUBLIC.Enum()
184+
default:
185+
return SubAgent{}, xerrors.Errorf("unexpected codersdk.WorkspaceAppSharingLevel: %#v", app.Share)
186+
}
183187
}
184188

185189
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)