@@ -12,11 +12,14 @@ import (
12
12
"github.com/coder/coder/v2/coderd/rbac"
13
13
"github.com/coder/coder/v2/coderd/schedule/cron"
14
14
"github.com/coder/coder/v2/codersdk"
15
+ "github.com/coder/coder/v2/enterprise/coderd"
15
16
"github.com/coder/coder/v2/enterprise/coderd/coderdenttest"
16
17
"github.com/coder/coder/v2/enterprise/coderd/license"
17
18
"github.com/coder/coder/v2/testutil"
18
19
)
19
20
21
+ const TimeFormatHHMM = coderd .TimeFormatHHMM
22
+
20
23
func TestUserQuietHours (t * testing.T ) {
21
24
t .Parallel ()
22
25
@@ -42,15 +45,17 @@ func TestUserQuietHours(t *testing.T) {
42
45
43
46
t .Run ("OK" , func (t * testing.T ) {
44
47
t .Parallel ()
45
-
46
- defaultQuietHoursSchedule := "CRON_TZ=America/Chicago 0 1 * * *"
48
+ // Using 10 for minutes lets us test a format bug in which values greater
49
+ // than 5 were causing the API to explode because the time was returned
50
+ // incorrectly
51
+ defaultQuietHoursSchedule := "CRON_TZ=America/Chicago 10 1 * * *"
47
52
defaultScheduleParsed , err := cron .Daily (defaultQuietHoursSchedule )
48
53
require .NoError (t , err )
49
54
nextTime := defaultScheduleParsed .Next (time .Now ().In (defaultScheduleParsed .Location ()))
50
55
if time .Until (nextTime ) < time .Hour {
51
56
// Use a different default schedule instead, because we want to avoid
52
57
// the schedule "ticking over" during this test run.
53
- defaultQuietHoursSchedule = "CRON_TZ=America/Chicago 0 13 * * *"
58
+ defaultQuietHoursSchedule = "CRON_TZ=America/Chicago 10 13 * * *"
54
59
defaultScheduleParsed , err = cron .Daily (defaultQuietHoursSchedule )
55
60
require .NoError (t , err )
56
61
}
@@ -79,7 +84,7 @@ func TestUserQuietHours(t *testing.T) {
79
84
require .NoError (t , err )
80
85
require .Equal (t , defaultScheduleParsed .String (), sched1 .RawSchedule )
81
86
require .False (t , sched1 .UserSet )
82
- require .Equal (t , defaultScheduleParsed .TimeParsed ().Format ("15:40" ), sched1 .Time )
87
+ require .Equal (t , defaultScheduleParsed .TimeParsed ().Format (TimeFormatHHMM ), sched1 .Time )
83
88
require .Equal (t , defaultScheduleParsed .Location ().String (), sched1 .Timezone )
84
89
require .WithinDuration (t , defaultScheduleParsed .Next (time .Now ()), sched1 .Next , 15 * time .Second )
85
90
@@ -102,7 +107,7 @@ func TestUserQuietHours(t *testing.T) {
102
107
require .NoError (t , err )
103
108
require .Equal (t , customScheduleParsed .String (), sched2 .RawSchedule )
104
109
require .True (t , sched2 .UserSet )
105
- require .Equal (t , customScheduleParsed .TimeParsed ().Format ("15:40" ), sched2 .Time )
110
+ require .Equal (t , customScheduleParsed .TimeParsed ().Format (TimeFormatHHMM ), sched2 .Time )
106
111
require .Equal (t , customScheduleParsed .Location ().String (), sched2 .Timezone )
107
112
require .WithinDuration (t , customScheduleParsed .Next (time .Now ()), sched2 .Next , 15 * time .Second )
108
113
@@ -111,7 +116,7 @@ func TestUserQuietHours(t *testing.T) {
111
116
require .NoError (t , err )
112
117
require .Equal (t , customScheduleParsed .String (), sched3 .RawSchedule )
113
118
require .True (t , sched3 .UserSet )
114
- require .Equal (t , customScheduleParsed .TimeParsed ().Format ("15:40" ), sched3 .Time )
119
+ require .Equal (t , customScheduleParsed .TimeParsed ().Format (TimeFormatHHMM ), sched3 .Time )
115
120
require .Equal (t , customScheduleParsed .Location ().String (), sched3 .Timezone )
116
121
require .WithinDuration (t , customScheduleParsed .Next (time .Now ()), sched3 .Next , 15 * time .Second )
117
122
0 commit comments