Skip to content

Commit

Permalink
fix: support for cron with dual hour ranges (#365)
Browse files Browse the repository at this point in the history
  • Loading branch information
shreddedbacon authored Sep 9, 2024
1 parent 21333a3 commit 1ab7d8a
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
9 changes: 9 additions & 0 deletions internal/helpers/helpers_cron.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,15 @@ func ConvertCrontab(namespace, cron string) (string, error) {
hours = val
continue
}
sVal := strings.Split(val, ",")
if len(sVal) > 1 {
for _, r := range sVal {
if isInRange(r, 0, 23) {
continue
}
}
hours = val
}
// if the value is not valid, return an error with where the issue is
if hours == "" {
return "", fmt.Errorf("cron definition '%s' is invalid, unable to determine hours value", cron)
Expand Down
8 changes: 8 additions & 0 deletions internal/helpers/helpers_cron_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,14 @@ func TestConvertCrontab(t *testing.T) {
wantErrMsg: "cron definition '*/1 * * * * 7' is invalid, 6 fields provided, required 5",
wantErr: true,
},
{
name: "test22 - split range hours",
args: args{
namespace: "example-com-main",
cron: "*/30 0-12,22-23 * * *",
},
want: "1,31 0-12,22-23 * * *",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
Expand Down

0 comments on commit 1ab7d8a

Please sign in to comment.