Skip to content

Commit 2d72c03

Browse files
committed
add provisionerd tests
1 parent 5b49e83 commit 2d72c03

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

coderd/database/dbgen/dbgen.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,17 @@ func WorkspaceAgentScriptTiming(t testing.TB, db database.Store, orig database.W
255255
panic("failed to insert workspace agent script timing")
256256
}
257257

258+
func WorkspaceAgentDevcontainer(t testing.TB, db database.Store, orig database.WorkspaceAgentDevcontainer) database.WorkspaceAgentDevcontainer {
259+
devcontainers, err := db.InsertWorkspaceAgentDevcontainers(genCtx, database.InsertWorkspaceAgentDevcontainersParams{
260+
WorkspaceAgentID: takeFirst(orig.WorkspaceAgentID, uuid.New()),
261+
ID: []uuid.UUID{takeFirst(orig.ID, uuid.New())},
262+
WorkspaceFolder: []string{takeFirst(orig.WorkspaceFolder, "")},
263+
ConfigPath: []string{takeFirst(orig.ConfigPath, "")},
264+
})
265+
require.NoError(t, err, "insert workspace agent devcontainer")
266+
return devcontainers[0]
267+
}
268+
258269
func Workspace(t testing.TB, db database.Store, orig database.WorkspaceTable) database.WorkspaceTable {
259270
t.Helper()
260271

coderd/provisionerdserver/provisionerdserver_test.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2190,6 +2190,37 @@ func TestInsertWorkspaceResource(t *testing.T) {
21902190
require.Equal(t, int32(50), volMonitors[1].Threshold)
21912191
require.Equal(t, "/volume2", volMonitors[1].Path)
21922192
})
2193+
2194+
t.Run("Devcontainers", func(t *testing.T) {
2195+
t.Parallel()
2196+
db := dbmem.New()
2197+
job := uuid.New()
2198+
err := insert(db, job, &sdkproto.Resource{
2199+
Name: "something",
2200+
Type: "aws_instance",
2201+
Agents: []*sdkproto.Agent{{
2202+
Name: "dev",
2203+
Devcontainers: []*sdkproto.Devcontainer{
2204+
{WorkspaceFolder: "/workspace1"},
2205+
{WorkspaceFolder: "/workspace2", ConfigPath: "/workspace2/.devcontainer/devcontainer.json"},
2206+
},
2207+
}},
2208+
})
2209+
require.NoError(t, err)
2210+
resources, err := db.GetWorkspaceResourcesByJobID(ctx, job)
2211+
require.NoError(t, err)
2212+
require.Len(t, resources, 1)
2213+
agents, err := db.GetWorkspaceAgentsByResourceIDs(ctx, []uuid.UUID{resources[0].ID})
2214+
require.NoError(t, err)
2215+
require.Len(t, agents, 1)
2216+
agent := agents[0]
2217+
devcontainers, err := db.GetWorkspaceAgentDevcontainersByWorkspaceAgentID(ctx, agent.ID)
2218+
require.NoError(t, err)
2219+
require.Len(t, devcontainers, 2)
2220+
require.Equal(t, "/workspace1", devcontainers[0].WorkspaceFolder)
2221+
require.Equal(t, "/workspace2", devcontainers[1].WorkspaceFolder)
2222+
require.Equal(t, "/workspace2/.devcontainer/devcontainer.json", devcontainers[1].ConfigPath)
2223+
})
21932224
}
21942225

21952226
func TestNotifications(t *testing.T) {

0 commit comments

Comments
 (0)