mirror of
https://github.com/portainer/portainer.git
synced 2025-07-24 15:59:41 +02:00
fix(gitops): avoid cancelling the auto updates for any error EE-5604 (#10294)
This commit is contained in:
parent
f17da30d31
commit
5a0cb4d0e8
3 changed files with 67 additions and 10 deletions
|
@ -49,7 +49,7 @@ func Test_JobCanBeStopped(t *testing.T) {
|
|||
assert.False(t, workDone, "job shouldn't had a chance to run")
|
||||
}
|
||||
|
||||
func Test_JobShouldStop_UponError(t *testing.T) {
|
||||
func Test_JobShouldStop_UponPermError(t *testing.T) {
|
||||
s := NewScheduler(context.Background())
|
||||
defer s.Shutdown()
|
||||
|
||||
|
@ -58,7 +58,7 @@ func Test_JobShouldStop_UponError(t *testing.T) {
|
|||
s.StartJobEvery(jobInterval, func() error {
|
||||
acc++
|
||||
close(ch)
|
||||
return fmt.Errorf("failed")
|
||||
return NewPermanentError(fmt.Errorf("failed"))
|
||||
})
|
||||
|
||||
<-time.After(3 * jobInterval)
|
||||
|
@ -66,6 +66,28 @@ func Test_JobShouldStop_UponError(t *testing.T) {
|
|||
assert.Equal(t, 1, acc, "job stop after the first run because it returns an error")
|
||||
}
|
||||
|
||||
func Test_JobShouldNotStop_UponError(t *testing.T) {
|
||||
s := NewScheduler(context.Background())
|
||||
defer s.Shutdown()
|
||||
|
||||
var acc int
|
||||
ch := make(chan struct{})
|
||||
s.StartJobEvery(jobInterval, func() error {
|
||||
acc++
|
||||
|
||||
if acc == 2 {
|
||||
close(ch)
|
||||
return NewPermanentError(fmt.Errorf("failed"))
|
||||
}
|
||||
|
||||
return errors.New("non-permanent error")
|
||||
})
|
||||
|
||||
<-time.After(3 * jobInterval)
|
||||
<-ch
|
||||
assert.Equal(t, 2, acc)
|
||||
}
|
||||
|
||||
func Test_CanTerminateAllJobs_ByShuttingDownScheduler(t *testing.T) {
|
||||
s := NewScheduler(context.Background())
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue