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

Function TestProvisionerDaemonReport

coderd/healthcheck/provisioner_test.go:25–380  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

23)
24
25func TestProvisionerDaemonReport(t *testing.T) {
26 t.Parallel()
27
28 var (
29 now = dbtime.Now()
30 oneHourAgo = now.Add(-time.Hour)
31 staleThreshold = now.Add(-provisionerdserver.StaleInterval).Add(-time.Second)
32 )
33
34 for _, tt := range []struct {
35 name string
36 currentVersion string
37 currentAPIMajorVersion int
38 provisionerDaemons []database.ProvisionerDaemon
39 provisionerDaemonsErr error
40 expectedSeverity health.Severity
41 expectedWarningCode health.Code
42 expectedError string
43 expectedItems []healthsdk.ProvisionerDaemonsReportItem
44 }{
45 {
46 name: "current version empty",
47 currentVersion: "",
48 expectedSeverity: health.SeverityError,
49 expectedError: "Developer error: CurrentVersion is empty",
50 expectedItems: []healthsdk.ProvisionerDaemonsReportItem{},
51 },
52 {
53 name: "no daemons",
54 currentVersion: "v1.2.3",
55 currentAPIMajorVersion: proto.CurrentMajor,
56 expectedSeverity: health.SeverityError,
57 expectedItems: []healthsdk.ProvisionerDaemonsReportItem{},
58 expectedWarningCode: health.CodeProvisionerDaemonsNoProvisionerDaemons,
59 },
60 {
61 name: "error fetching daemons",
62 currentVersion: "v1.2.3",
63 currentAPIMajorVersion: proto.CurrentMajor,
64 provisionerDaemonsErr: assert.AnError,
65 expectedSeverity: health.SeverityError,
66 expectedError: assert.AnError.Error(),
67 expectedItems: []healthsdk.ProvisionerDaemonsReportItem{},
68 },
69 {
70 name: "one daemon up to date",
71 currentVersion: "v1.2.3",
72 currentAPIMajorVersion: proto.CurrentMajor,
73 expectedSeverity: health.SeverityOK,
74 provisionerDaemons: []database.ProvisionerDaemon{
75 fakeProvisionerDaemon(t, withName("pd-ok"), withVersion("v1.2.3"), withAPIVersion("1.0"), withCreatedAt(now), withLastSeenAt(now)),
76 },
77 expectedItems: []healthsdk.ProvisionerDaemonsReportItem{
78 {
79 ProvisionerDaemon: codersdk.ProvisionerDaemon{
80 ID: uuid.Nil,
81 Name: "pd-ok",
82 CreatedAt: now,

Callers

nothing calls this directly

Calls 15

EXPECTMethod · 0.95
RunMethod · 0.95
NowFunction · 0.92
NewNullTimeFunction · 0.92
NewMockStoreFunction · 0.92
fakeProvisionerDaemonFunction · 0.85
withNameFunction · 0.85
withVersionFunction · 0.85
withAPIVersionFunction · 0.85
withCreatedAtFunction · 0.85
withLastSeenAtFunction · 0.85
NotEmptyMethod · 0.80

Tested by

no test coverage detected