Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3ef47ec

Browse files
committed
add coderd test
1 parented1fafa commit3ef47ec

File tree

4 files changed

+98
-7
lines changed

4 files changed

+98
-7
lines changed

‎coderd/database/dbfake/dbfake.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4431,6 +4431,8 @@ func (q *FakeQuerier) InsertWorkspaceAgent(_ context.Context, arg database.Inser
44314431
DisplayApps:arg.DisplayApps,
44324432
}
44334433

4434+
fmt.Printf("display apps: %+v\n",arg.DisplayApps)
4435+
44344436
q.workspaceAgents=append(q.workspaceAgents,agent)
44354437
returnagent,nil
44364438
}

‎coderd/workspaceagents.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1360,7 +1360,7 @@ func convertWorkspaceAgent(derpMap *tailcfg.DERPMap, coordinator tailnet.Coordin
13601360
ShutdownScript:dbAgent.ShutdownScript.String,
13611361
ShutdownScriptTimeoutSeconds:dbAgent.ShutdownScriptTimeoutSeconds,
13621362
Subsystems:subsystems,
1363-
DisplayApps:convertDefaultApps(dbAgent.DisplayApps),
1363+
DisplayApps:convertDisplayApps(dbAgent.DisplayApps),
13641364
}
13651365
node:=coordinator.Node(dbAgent.ID)
13661366
ifnode!=nil {
@@ -1422,7 +1422,7 @@ func convertWorkspaceAgent(derpMap *tailcfg.DERPMap, coordinator tailnet.Coordin
14221422
returnworkspaceAgent,nil
14231423
}
14241424

1425-
funcconvertDefaultApps(apps []database.DisplayApp) []codersdk.DisplayApp {
1425+
funcconvertDisplayApps(apps []database.DisplayApp) []codersdk.DisplayApp {
14261426
ifapps==nil {
14271427
returncodersdk.DefaultApps
14281428
}
@@ -1432,6 +1432,8 @@ func convertDefaultApps(apps []database.DisplayApp) []codersdk.DisplayApp {
14321432
switchcodersdk.DisplayApp(app) {
14331433
casecodersdk.DisplayAppVSCodeDesktop,codersdk.DisplayAppVSCodeInsiders,codersdk.DisplayAppPortForward,codersdk.DisplayAppWebTerminal,codersdk.DisplayAppSSH:
14341434
dapps=append(dapps,codersdk.DisplayApp(app))
1435+
default:
1436+
fmt.Println("WTF: ",app)
14351437
}
14361438
}
14371439

‎coderd/workspaceagents_test.go

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,93 @@ func TestWorkspaceAgent(t *testing.T) {
174174
require.False(t,workspace.LatestBuild.Resources[0].Agents[0].Health.Healthy)
175175
require.NotEmpty(t,workspace.LatestBuild.Resources[0].Agents[0].Health.Reason)
176176
})
177+
178+
t.Run("DisplayApps",func(t*testing.T) {
179+
t.Parallel()
180+
client:=coderdtest.New(t,&coderdtest.Options{
181+
IncludeProvisionerDaemon:true,
182+
})
183+
user:=coderdtest.CreateFirstUser(t,client)
184+
authToken:=uuid.NewString()
185+
tmpDir:=t.TempDir()
186+
apps:=&proto.DisplayApps{
187+
Vscode:true,
188+
VscodeInsiders:true,
189+
WebTerminal:true,
190+
PortForwardingHelper:true,
191+
SshHelper:true,
192+
}
193+
194+
echoResp:=&echo.Responses{
195+
Parse:echo.ParseComplete,
196+
ProvisionPlan:echo.PlanComplete,
197+
ProvisionApply: []*proto.Response{{
198+
Type:&proto.Response_Apply{
199+
Apply:&proto.ApplyComplete{
200+
Resources: []*proto.Resource{{
201+
Name:"example",
202+
Type:"aws_instance",
203+
Agents: []*proto.Agent{{
204+
Id:uuid.NewString(),
205+
Directory:tmpDir,
206+
Auth:&proto.Agent_Token{
207+
Token:authToken,
208+
},
209+
DisplayApps:apps,
210+
},
211+
}},
212+
}},
213+
},
214+
}},
215+
}
216+
217+
version:=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,echoResp)
218+
template:=coderdtest.CreateTemplate(t,client,user.OrganizationID,version.ID)
219+
coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
220+
workspace:=coderdtest.CreateWorkspace(t,client,user.OrganizationID,template.ID)
221+
coderdtest.AwaitWorkspaceBuildJob(t,client,workspace.LatestBuild.ID)
222+
223+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
224+
defercancel()
225+
226+
workspace,err:=client.Workspace(ctx,workspace.ID)
227+
require.NoError(t,err)
228+
agent,err:=client.WorkspaceAgent(ctx,workspace.LatestBuild.Resources[0].Agents[0].ID)
229+
require.NoError(t,err)
230+
expectedApps:= []codersdk.DisplayApp{
231+
codersdk.DisplayAppPortForward,
232+
codersdk.DisplayAppSSH,
233+
codersdk.DisplayAppVSCodeDesktop,
234+
codersdk.DisplayAppVSCodeInsiders,
235+
codersdk.DisplayAppWebTerminal,
236+
}
237+
require.ElementsMatch(t,expectedApps,agent.DisplayApps)
238+
239+
// Flips all the apps to false.
240+
apps.PortForwardingHelper=false
241+
apps.Vscode=false
242+
apps.VscodeInsiders=false
243+
apps.SshHelper=false
244+
apps.WebTerminal=false
245+
246+
version=coderdtest.CreateTemplateVersion(t,client,user.OrganizationID,echoResp,
247+
func(req*codersdk.CreateTemplateVersionRequest) {
248+
req.TemplateID=template.ID
249+
})
250+
251+
err=client.UpdateActiveTemplateVersion(ctx,template.ID, codersdk.UpdateActiveTemplateVersion{
252+
ID:version.ID,
253+
})
254+
require.NoError(t,err)
255+
coderdtest.AwaitTemplateVersionJob(t,client,version.ID)
256+
// Creating another workspace is just easier.
257+
workspace=coderdtest.CreateWorkspace(t,client,user.OrganizationID,template.ID)
258+
build:=coderdtest.AwaitWorkspaceBuildJob(t,client,workspace.LatestBuild.ID)
259+
require.NoError(t,err)
260+
agent,err=client.WorkspaceAgent(ctx,build.Resources[0].Agents[0].ID)
261+
require.NoError(t,err)
262+
require.Len(t,agent.DisplayApps,0)
263+
})
177264
}
178265

179266
funcTestWorkspaceAgentStartupLogs(t*testing.T) {

‎codersdk/workspaceagents.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,11 +136,11 @@ type WorkspaceAgentMetadata struct {
136136
typeDisplayAppstring
137137

138138
const (
139-
DisplayAppVSCodeDesktopDisplayApp="vscode-desktop"
140-
DisplayAppVSCodeInsidersDisplayApp="vscode-insiders"
141-
DisplayAppWebTerminalDisplayApp="web-terminal"
142-
DisplayAppPortForwardDisplayApp="port-forward-helper"
143-
DisplayAppSSHDisplayApp="ssh-helper"
139+
DisplayAppVSCodeDesktopDisplayApp="vscode"
140+
DisplayAppVSCodeInsidersDisplayApp="vscode_insiders"
141+
DisplayAppWebTerminalDisplayApp="web_terminal"
142+
DisplayAppPortForwardDisplayApp="port_forwarding_helper"
143+
DisplayAppSSHDisplayApp="ssh_helper"
144144
)
145145

146146
varDefaultApps= []DisplayApp{DisplayAppVSCodeDesktop,DisplayAppWebTerminal,DisplayAppPortForward,DisplayAppWebTerminal,DisplayAppSSH}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp