7
7
"time"
8
8
9
9
"go.uber.org/goleak"
10
+ "golang.org/x/exp/slices"
10
11
12
+ "github.com/google/uuid"
11
13
"github.com/stretchr/testify/require"
12
14
13
15
"cdr.dev/slog/sloggers/slogtest"
@@ -45,6 +47,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
45
47
// given
46
48
_ , err := db .InsertProvisionerDaemon (ctx , database.InsertProvisionerDaemonParams {
47
49
// Provisioner daemon created 14 days ago, and checked in just before 7 days deadline.
50
+ ID : uuid .New (),
48
51
Name : "external-0" ,
49
52
Provisioners : []database.ProvisionerType {"echo" },
50
53
CreatedAt : now .Add (- 14 * 24 * time .Hour ),
@@ -53,6 +56,7 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
53
56
require .NoError (t , err )
54
57
_ , err = db .InsertProvisionerDaemon (ctx , database.InsertProvisionerDaemonParams {
55
58
// Provisioner daemon created 8 days ago, and checked in last time an hour after creation.
59
+ ID : uuid .New (),
56
60
Name : "external-1" ,
57
61
Provisioners : []database.ProvisionerType {"echo" },
58
62
CreatedAt : now .Add (- 8 * 24 * time .Hour ),
@@ -61,13 +65,15 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
61
65
require .NoError (t , err )
62
66
_ , err = db .InsertProvisionerDaemon (ctx , database.InsertProvisionerDaemonParams {
63
67
// Provisioner daemon created 9 days ago, and never checked in.
68
+ ID : uuid .New (),
64
69
Name : "external-2" ,
65
70
Provisioners : []database.ProvisionerType {"echo" },
66
71
CreatedAt : now .Add (- 9 * 24 * time .Hour ),
67
72
})
68
73
require .NoError (t , err )
69
74
_ , err = db .InsertProvisionerDaemon (ctx , database.InsertProvisionerDaemonParams {
70
75
// Provisioner daemon created 6 days ago, and never checked in.
76
+ ID : uuid .New (),
71
77
Name : "external-3" ,
72
78
Provisioners : []database.ProvisionerType {"echo" },
73
79
CreatedAt : now .Add (- 6 * 24 * time .Hour ),
@@ -85,6 +91,13 @@ func TestDeleteOldProvisionerDaemons(t *testing.T) {
85
91
if err != nil {
86
92
return false
87
93
}
88
- return len (daemons ) == 2
94
+ return contains (daemons , "external-0" ) &&
95
+ contains (daemons , "external-3" )
89
96
}, testutil .WaitShort , testutil .IntervalFast )
90
97
}
98
+
99
+ func contains (daemons []database.ProvisionerDaemon , name string ) bool {
100
+ return slices .ContainsFunc (daemons , func (d database.ProvisionerDaemon ) bool {
101
+ return d .Name == name
102
+ })
103
+ }
0 commit comments