github.com/blend/go-sdk@v1.20220411.3/cron/interval_schedule_test.go (about) 1 /* 2 3 Copyright (c) 2022 - Present. Blend Labs, Inc. All rights reserved 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file. 5 6 */ 7 8 package cron 9 10 import ( 11 "testing" 12 "time" 13 14 "github.com/blend/go-sdk/assert" 15 ) 16 17 func Test_IntervalSchedule(t *testing.T) { 18 t.Parallel() 19 its := assert.New(t) 20 21 its.Equal(time.Second, EverySecond().Every) 22 its.Equal(time.Minute, EveryMinute().Every) 23 its.Equal(time.Hour, EveryHour().Every) 24 its.Equal(time.Millisecond, Every(time.Millisecond).Every) 25 26 schedule := EveryHour() 27 its.Equal("@every 1h0m0s", schedule.String()) 28 29 now := time.Now().UTC() 30 firstRun := schedule.Next(Zero) 31 firstRunDiff := firstRun.Sub(now) 32 its.InDelta(float64(firstRunDiff), float64(1*time.Hour), float64(1*time.Second)) 33 next := schedule.Next(now) 34 its.True(next.After(now)) 35 }