From ff531b2dec5190fd308022e1549730f9c48ba86f Mon Sep 17 00:00:00 2001 From: songzhibin97 <718428482@qq.com> Date: Wed, 15 Sep 2021 18:42:17 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/go.mod | 1 + server/go.sum | 1 + server/utils/md5.go | 4 +- server/utils/plugin/plugin_uinx.go | 2 +- server/utils/timer/timed_task_test.go | 65 +++++++++++++++++++++++++++ 5 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 server/utils/timer/timed_task_test.go diff --git a/server/go.mod b/server/go.mod index 58369fe1..0cfd9d05 100644 --- a/server/go.mod +++ b/server/go.mod @@ -25,6 +25,7 @@ require ( github.com/shirou/gopsutil v3.21.1+incompatible github.com/songzhibin97/gkit v1.1.1 github.com/spf13/viper v1.7.0 + github.com/stretchr/testify v1.7.0 // indirect github.com/swaggo/gin-swagger v1.3.0 github.com/swaggo/swag v1.7.0 github.com/tencentyun/cos-go-sdk-v5 v0.7.19 diff --git a/server/go.sum b/server/go.sum index 9a54896f..4cdf6692 100644 --- a/server/go.sum +++ b/server/go.sum @@ -463,6 +463,7 @@ github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= diff --git a/server/utils/md5.go b/server/utils/md5.go index 59ac0e14..252e8b0c 100644 --- a/server/utils/md5.go +++ b/server/utils/md5.go @@ -11,8 +11,8 @@ import ( //@param: str []byte //@return: string -func MD5V(str []byte) string { +func MD5V(str []byte, b ...byte) string { h := md5.New() h.Write(str) - return hex.EncodeToString(h.Sum(nil)) + return hex.EncodeToString(h.Sum(b)) } diff --git a/server/utils/plugin/plugin_uinx.go b/server/utils/plugin/plugin_uinx.go index 5d234ec2..1f8ca106 100644 --- a/server/utils/plugin/plugin_uinx.go +++ b/server/utils/plugin/plugin_uinx.go @@ -82,7 +82,7 @@ func loadPlugin(path string, f fs.FileInfo) error { fmt.Println("loadPlugin err ", fmt.Sprintf("path:%s 没有实现 %s 接口", filepath.Base(fPath), OnlyFuncName)) return errors.New("没有实现指定接口") } else { - + // todo } fmt.Println("loadPlugin add ", filepath.Base(fPath)) ManagementPlugin.SetPlugin(filepath.Base(fPath), p) diff --git a/server/utils/timer/timed_task_test.go b/server/utils/timer/timed_task_test.go new file mode 100644 index 00000000..560beb77 --- /dev/null +++ b/server/utils/timer/timed_task_test.go @@ -0,0 +1,65 @@ +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") + } + } +} -- GitLab