zhangqian
2023-08-14 676ef551324d415ed5280166407c686481c6f51f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package timer
 
import (
    "fmt"
    "testing"
    "time"
 
    "github.com/stretchr/testify/assert"
)
 
var job = mockJob{}
 
type mockJob struct{}
 
func (job mockJob) Run() {
    mockFunc()
}
 
func mockFunc() {
    time.Sleep(time.Second)
    fmt.Println("1s...")
}
 
func TestNewTimerTask(t *testing.T) {
    tm := NewTimerTask()
    _tm := tm.(*timer)
 
    {
        _, err := tm.AddTaskByFunc("func", "@every 1s", mockFunc)
        assert.Nil(t, err)
        _, ok := _tm.taskList["func"]
        if !ok {
            t.Error("no find func")
        }
    }
 
    {
        _, err := tm.AddTaskByJob("job", "@every 1s", job)
        assert.Nil(t, err)
        _, ok := _tm.taskList["job"]
        if !ok {
            t.Error("no find job")
        }
    }
 
    {
        _, ok := tm.FindCron("func")
        if !ok {
            t.Error("no find func")
        }
        _, ok = tm.FindCron("job")
        if !ok {
            t.Error("no find job")
        }
        _, ok = tm.FindCron("none")
        if ok {
            t.Error("find none")
        }
    }
    {
        tm.Clear("func")
        _, ok := tm.FindCron("func")
        if ok {
            t.Error("find func")
        }
    }
}