diff --git a/pkg/collector/scaling_schedule_collector.go b/pkg/collector/scaling_schedule_collector.go index 95e349e..8f54505 100644 --- a/pkg/collector/scaling_schedule_collector.go +++ b/pkg/collector/scaling_schedule_collector.go @@ -331,7 +331,7 @@ func calculateMetrics(spec v1.ScalingScheduleSpec, defaultScalingWindow time.Dur } // If no end time was provided, set it to equal the start time - if schedule.EndDate == nil || *schedule.EndDate == "" { + if schedule.EndDate == nil || string(*schedule.EndDate) == "" { scheduledEndTime = scheduledTime } else { scheduledEndTime, err = time.Parse(time.RFC3339, string(*schedule.EndDate)) diff --git a/pkg/collector/scaling_schedule_collector_test.go b/pkg/collector/scaling_schedule_collector_test.go index eef65d4..ecfaf13 100644 --- a/pkg/collector/scaling_schedule_collector_test.go +++ b/pkg/collector/scaling_schedule_collector_test.go @@ -249,6 +249,19 @@ func TestScalingScheduleCollector(t *testing.T) { }, err: ErrInvalidScheduleDate, }, + { + msg: "Return error for one time config end date not in RFC3339 format", + schedules: []schedule{ + { + date: nowTime.Add(-time.Minute * 20).Format(time.RFC3339), + endDate: nowTime.Add(1 * time.Hour).Format(time.RFC822), + kind: "OneTime", + duration: 15, + value: 100, + }, + }, + err: ErrInvalidScheduleDate, + }, { msg: "Return the right value for two one time config", schedules: []schedule{