mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Replace gogs/cron with go-co-op/gocron (#25977)
Replace `github.com/gogs/cron` with `github.com/go-co-op/gocron` as the former package is not maintained for many years. --------- Co-authored-by: delvh <dev.lh@web.de>
This commit is contained in:
		
							
								
								
									
										61
									
								
								services/cron/tasks_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								services/cron/tasks_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | ||||
| // Copyright 2023 The Gitea Authors. All rights reserved. | ||||
| // SPDX-License-Identifier: MIT | ||||
|  | ||||
| package cron | ||||
|  | ||||
| import ( | ||||
| 	"strconv" | ||||
| 	"testing" | ||||
|  | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| ) | ||||
|  | ||||
| func TestAddTaskToScheduler(t *testing.T) { | ||||
| 	assert.Len(t, scheduler.Jobs(), 0) | ||||
| 	defer scheduler.Clear() | ||||
|  | ||||
| 	// no seconds | ||||
| 	err := addTaskToScheduler(&Task{ | ||||
| 		Name: "task 1", | ||||
| 		config: &BaseConfig{ | ||||
| 			Schedule: "5 4 * * *", | ||||
| 		}, | ||||
| 	}) | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.Len(t, scheduler.Jobs(), 1) | ||||
| 	assert.Equal(t, "task 1", scheduler.Jobs()[0].Tags()[0]) | ||||
| 	assert.Equal(t, "5 4 * * *", scheduler.Jobs()[0].Tags()[1]) | ||||
|  | ||||
| 	// with seconds | ||||
| 	err = addTaskToScheduler(&Task{ | ||||
| 		Name: "task 2", | ||||
| 		config: &BaseConfig{ | ||||
| 			Schedule: "30 5 4 * * *", | ||||
| 		}, | ||||
| 	}) | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.Len(t, scheduler.Jobs(), 2) | ||||
| 	assert.Equal(t, "task 2", scheduler.Jobs()[1].Tags()[0]) | ||||
| 	assert.Equal(t, "30 5 4 * * *", scheduler.Jobs()[1].Tags()[1]) | ||||
| } | ||||
|  | ||||
| func TestScheduleHasSeconds(t *testing.T) { | ||||
| 	tests := []struct { | ||||
| 		schedule  string | ||||
| 		hasSecond bool | ||||
| 	}{ | ||||
| 		{"* * * * * *", true}, | ||||
| 		{"* * * * *", false}, | ||||
| 		{"5 4 * * *", false}, | ||||
| 		{"5 4 * * *", false}, | ||||
| 		{"5,8 4 * * *", false}, | ||||
| 		{"*   *   *  * * *", true}, | ||||
| 		{"5,8 4   *  *   *", false}, | ||||
| 	} | ||||
|  | ||||
| 	for i, test := range tests { | ||||
| 		t.Run(strconv.Itoa(i), func(t *testing.T) { | ||||
| 			assert.Equal(t, test.hasSecond, scheduleHasSeconds(test.schedule)) | ||||
| 		}) | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user