fix(maintenance): timezone handling offset issue (#981)
* fix: uses time.Date to construct time at midnight in Timezone instead of Truncate * test: check for Perth validity using adjusted timezone handling * chore: remove newlines around day adjustment block * chore: remove separate define of dayWhereMaintenancePeriodWouldStart
This commit is contained in:
@ -264,6 +264,15 @@ func TestConfig_IsUnderMaintenance(t *testing.T) {
|
||||
},
|
||||
expected: true,
|
||||
},
|
||||
{
|
||||
name: "under-maintenance-perth-timezone-starting-now-for-2h",
|
||||
cfg: &Config{
|
||||
Start: fmt.Sprintf("%02d:00", inTimezone(now, "Australia/Perth", t).Hour()),
|
||||
Duration: 2 * time.Hour,
|
||||
Timezone: "Australia/Perth",
|
||||
},
|
||||
expected: true,
|
||||
},
|
||||
{
|
||||
name: "under-maintenance-utc-timezone-starting-now-for-2h",
|
||||
cfg: &Config{
|
||||
@ -340,3 +349,12 @@ func normalizeHour(hour int) int {
|
||||
}
|
||||
return hour
|
||||
}
|
||||
|
||||
func inTimezone(passedTime time.Time, timezone string, t *testing.T) time.Time {
|
||||
timezoneLocation, err := time.LoadLocation(timezone)
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("timezone %s did not load", timezone)
|
||||
}
|
||||
return passedTime.In(timezoneLocation)
|
||||
}
|
||||
|
Reference in New Issue
Block a user