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