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

Skip to content

Commit 56cf0d8

Browse files
authored
test(cli): fix race in provisioner list statuses for golden files (#16205)
1 parent 9d39e9a commit 56cf0d8

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

cli/provisioners_test.go

+11-9
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func TestProvisioners_Golden(t *testing.T) {
7474
memberClient, member := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
7575

7676
// Create initial resources with a running provisioner.
77-
firstProvisioner := coderdtest.NewProvisionerDaemon(t, coderdAPI)
77+
firstProvisioner := coderdtest.NewTaggedProvisionerDaemon(t, coderdAPI, "default-provisioner", map[string]string{"owner": "", "scope": "organization"})
7878
t.Cleanup(func() { _ = firstProvisioner.Close() })
7979
version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, completeWithAgent())
8080
coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
@@ -92,10 +92,11 @@ func TestProvisioners_Golden(t *testing.T) {
9292

9393
// Create a provisioner that's working on a job.
9494
pd1 := dbgen.ProvisionerDaemon(t, coderdAPI.Database, database.ProvisionerDaemon{
95-
Name: "provisioner-1",
96-
CreatedAt: dbtime.Now().Add(1 * time.Second),
97-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
98-
Tags: database.StringMap{"owner": "", "scope": "organization", "foo": "bar"},
95+
Name: "provisioner-1",
96+
CreatedAt: dbtime.Now().Add(1 * time.Second),
97+
LastSeenAt: sql.NullTime{Time: coderdAPI.Clock.Now().Add(time.Hour), Valid: true}, // Stale interval can't be adjusted, keep online.
98+
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
99+
Tags: database.StringMap{"owner": "", "scope": "organization", "foo": "bar"},
99100
})
100101
w1 := dbgen.Workspace(t, coderdAPI.Database, database.WorkspaceTable{
101102
OwnerID: member.ID,
@@ -164,10 +165,11 @@ func TestProvisioners_Golden(t *testing.T) {
164165

165166
// Create a provisioner that is idle.
166167
_ = dbgen.ProvisionerDaemon(t, coderdAPI.Database, database.ProvisionerDaemon{
167-
Name: "provisioner-3",
168-
CreatedAt: dbtime.Now().Add(3 * time.Second),
169-
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
170-
Tags: database.StringMap{"owner": "", "scope": "organization"},
168+
Name: "provisioner-3",
169+
CreatedAt: dbtime.Now().Add(3 * time.Second),
170+
LastSeenAt: sql.NullTime{Time: coderdAPI.Clock.Now().Add(time.Hour), Valid: true}, // Stale interval can't be adjusted, keep online.
171+
KeyID: uuid.MustParse(codersdk.ProvisionerKeyIDBuiltIn),
172+
Tags: database.StringMap{"owner": "", "scope": "organization"},
171173
})
172174

173175
updateReplaceUUIDs(coderdAPI)
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
ID CREATED AT LAST SEEN AT NAME VERSION TAGS KEY NAME STATUS CURRENT JOB ID CURRENT JOB STATUS PREVIOUS JOB ID PREVIOUS JOB STATUS ORGANIZATION
2-
00000000-0000-0000-aaaa-000000000001 ====[timestamp]===== ====[timestamp]===== provisioner-1 v0.0.0 map[foo:bar owner: scope:organization] built-in busy 00000000-0000-0000-bbbb-000000000002 running <nil> <nil> Coder
3-
00000000-0000-0000-aaaa-000000000002 ====[timestamp]===== ====[timestamp]===== provisioner-2 v0.0.0 map[owner: scope:organization] built-in offline <nil> <nil> 00000000-0000-0000-bbbb-000000000003 succeeded Coder
4-
00000000-0000-0000-aaaa-000000000003 ====[timestamp]===== ====[timestamp]===== provisioner-3 v0.0.0 map[owner: scope:organization] built-in idle <nil> <nil> <nil> <nil> Coder
5-
00000000-0000-0000-aaaa-000000000000 ====[timestamp]===== ====[timestamp]===== test v0.0.0-devel map[owner: scope:organization] built-in idle <nil> <nil> 00000000-0000-0000-bbbb-000000000001 succeeded Coder
1+
ID CREATED AT LAST SEEN AT NAME VERSION TAGS KEY NAME STATUS CURRENT JOB ID CURRENT JOB STATUS PREVIOUS JOB ID PREVIOUS JOB STATUS ORGANIZATION
2+
00000000-0000-0000-aaaa-000000000000 ====[timestamp]===== ====[timestamp]===== default-provisioner v0.0.0-devel map[owner: scope:organization] built-in idle <nil> <nil> 00000000-0000-0000-bbbb-000000000001 succeeded Coder
3+
00000000-0000-0000-aaaa-000000000001 ====[timestamp]===== ====[timestamp]===== provisioner-1 v0.0.0 map[foo:bar owner: scope:organization] built-in busy 00000000-0000-0000-bbbb-000000000002 running <nil> <nil> Coder
4+
00000000-0000-0000-aaaa-000000000002 ====[timestamp]===== ====[timestamp]===== provisioner-2 v0.0.0 map[owner: scope:organization] built-in offline <nil> <nil> 00000000-0000-0000-bbbb-000000000003 succeeded Coder
5+
00000000-0000-0000-aaaa-000000000003 ====[timestamp]===== ====[timestamp]===== provisioner-3 v0.0.0 map[owner: scope:organization] built-in idle <nil> <nil> <nil> <nil> Coder

0 commit comments

Comments
 (0)