ProofedMesh/services/attest-reconciler/internal/reconcile/scheduler_test.go

41 lines
790 B
Go
Raw Normal View History

package reconcile
import (
"testing"
"time"
)
func TestParseSpec(t *testing.T) {
cases := []struct {
in string
want time.Duration
wantErr bool
}{
{"@every 30s", 30 * time.Second, false},
{"@every 2m", 2 * time.Minute, false},
{"5m", 5 * time.Minute, false},
{"1h30m", 90 * time.Minute, false},
{"", 0, true},
{"@every", 0, true},
{"@every 0s", 0, true},
{"-1m", 0, true},
{"* * * * *", 0, true},
}
for _, c := range cases {
got, err := ParseSpec(c.in)
if c.wantErr {
if err == nil {
t.Errorf("ParseSpec(%q) err=nil; want error", c.in)
}
continue
}
if err != nil {
t.Errorf("ParseSpec(%q) err=%v; want nil", c.in, err)
continue
}
if got != c.want {
t.Errorf("ParseSpec(%q) = %v; want %v", c.in, got, c.want)
}
}
}