mirror of
https://github.com/gitpod-io/gitpod.git
synced 2025-12-08 17:36:30 +00:00
42 lines
847 B
Go
42 lines
847 B
Go
// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
|
|
// Licensed under the GNU Affero General Public License (AGPL).
|
|
// See License.AGPL.txt in the project root for license information.
|
|
|
|
package scheduler
|
|
|
|
import (
|
|
"github.com/robfig/cron"
|
|
"github.com/stretchr/testify/require"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestScheduler(t *testing.T) {
|
|
firstRan := false
|
|
secondRan := false
|
|
s := New(
|
|
JobSpec{
|
|
Job: JobFunc(func() error {
|
|
firstRan = true
|
|
return nil
|
|
}),
|
|
ID: "first",
|
|
Schedule: cron.ConstantDelaySchedule{Delay: time.Second},
|
|
},
|
|
JobSpec{
|
|
Job: JobFunc(func() error {
|
|
secondRan = true
|
|
return nil
|
|
}),
|
|
ID: "second",
|
|
Schedule: cron.ConstantDelaySchedule{Delay: time.Second},
|
|
},
|
|
)
|
|
s.Start()
|
|
time.Sleep(1 * time.Second)
|
|
s.Stop()
|
|
|
|
require.True(t, firstRan)
|
|
require.True(t, secondRan)
|
|
}
|