MCPcopy Index your code
hub / github.com/coder/coder / TestWorkspaceBuild

Function TestWorkspaceBuild

coderd/workspacebuilds_test.go:45–87  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

43)
44
45func TestWorkspaceBuild(t *testing.T) {
46 t.Parallel()
47 otel.SetTextMapPropagator(
48 propagation.NewCompositeTextMapPropagator(
49 propagation.TraceContext{},
50 propagation.Baggage{},
51 ),
52 )
53 ctx := testutil.Context(t, testutil.WaitLong)
54 auditor := audit.NewMock()
55 client, db := coderdtest.NewWithDatabase(t, &coderdtest.Options{
56 IncludeProvisionerDaemon: true,
57 Auditor: auditor,
58 })
59 user := coderdtest.CreateFirstUser(t, client)
60 up, err := db.UpdateUserProfile(dbauthz.AsSystemRestricted(ctx), database.UpdateUserProfileParams{
61 ID: user.UserID,
62 Email: coderdtest.FirstUserParams.Email,
63 Username: coderdtest.FirstUserParams.Username,
64 Name: "Admin",
65 AvatarURL: client.URL.String(),
66 UpdatedAt: dbtime.Now(),
67 })
68 require.NoError(t, err)
69 version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
70 template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
71 coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
72 auditor.ResetLogs()
73 workspace := coderdtest.CreateWorkspace(t, client, template.ID)
74 _ = coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
75 // Create workspace will also start a build, so we need to wait for
76 // it to ensure all events are recorded.
77 require.Eventually(t, func() bool {
78 logs := auditor.AuditLogs()
79 return len(logs) == 2 &&
80 assert.Equal(t, logs[0].Ip.IPNet.IP.String(), "127.0.0.1") &&
81 assert.Equal(t, logs[1].Ip.IPNet.IP.String(), "127.0.0.1")
82 }, testutil.WaitShort, testutil.IntervalFast)
83 wb, err := client.WorkspaceBuild(testutil.Context(t, testutil.WaitShort), workspace.LatestBuild.ID)
84 require.NoError(t, err)
85 require.Equal(t, up.Username, wb.WorkspaceOwnerName)
86 require.Equal(t, up.AvatarURL, wb.WorkspaceOwnerAvatarURL)
87}
88
89func TestWorkspaceBuildByBuildNumber(t *testing.T) {
90 t.Parallel()

Callers

nothing calls this directly

Calls 15

ContextFunction · 0.92
NewMockFunction · 0.92
NewWithDatabaseFunction · 0.92
CreateFirstUserFunction · 0.92
AsSystemRestrictedFunction · 0.92
NowFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
CreateWorkspaceFunction · 0.92
ResetLogsMethod · 0.80

Tested by

no test coverage detected