From 2e336966fe76e6ffa1d34a323c0f08d8fbf47ce6 Mon Sep 17 00:00:00 2001 From: qevolg <2227465945@qq.com> Date: Fri, 1 Nov 2024 14:51:10 +0800 Subject: [PATCH 1/7] chore(.github): modify go test command --- .github/workflows/taoskeeper-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/taoskeeper-ci.yml b/.github/workflows/taoskeeper-ci.yml index ba43937029..9fedf1adf5 100644 --- a/.github/workflows/taoskeeper-ci.yml +++ b/.github/workflows/taoskeeper-ci.yml @@ -48,7 +48,7 @@ jobs: working-directory: tools/keeper run: | go mod tidy - go test -v -coverpkg=./... -coverprofile=coverage.out ./... + go test -v -ldflags="-X 'github.com/taosdata/taoskeeper/version.IsEnterprise=true'" -coverpkg=./... -coverprofile=coverage.out ./... go tool cover -func=coverage.out - name: Clean up From b2eba84cdc5269102fe7bba2287f1d79f8b97b6b Mon Sep 17 00:00:00 2001 From: qevolg <2227465945@qq.com> Date: Fri, 1 Nov 2024 14:51:53 +0800 Subject: [PATCH 2/7] style(keeper): format code --- tools/keeper/main.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/keeper/main.go b/tools/keeper/main.go index 43432bde3d..5f7d47cb1c 100644 --- a/tools/keeper/main.go +++ b/tools/keeper/main.go @@ -1,11 +1,8 @@ package main -import ( - "github.com/taosdata/taoskeeper/system" -) +import "github.com/taosdata/taoskeeper/system" func main() { r := system.Init() system.Start(r) - // config.IsEnterprise } From 22fbe9453b583165f03fbe0cced1c04f4e2ab32b Mon Sep 17 00:00:00 2001 From: qevolg <2227465945@qq.com> Date: Fri, 1 Nov 2024 14:52:27 +0800 Subject: [PATCH 3/7] test(keeper): add test cases --- tools/keeper/process/empty_test.go | 8 -- tools/keeper/process/handle_test.go | 121 ++++++++++++++++++++++++++++ tools/keeper/system/program_test.go | 25 +++++- 3 files changed, 145 insertions(+), 9 deletions(-) delete mode 100644 tools/keeper/process/empty_test.go create mode 100644 tools/keeper/process/handle_test.go diff --git a/tools/keeper/process/empty_test.go b/tools/keeper/process/empty_test.go deleted file mode 100644 index 6718d12525..0000000000 --- a/tools/keeper/process/empty_test.go +++ /dev/null @@ -1,8 +0,0 @@ -package process - -import ( - "testing" -) - -func TestEmpty(t *testing.T) { -} diff --git a/tools/keeper/process/handle_test.go b/tools/keeper/process/handle_test.go new file mode 100644 index 0000000000..bfd5c369b4 --- /dev/null +++ b/tools/keeper/process/handle_test.go @@ -0,0 +1,121 @@ +package process + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_i2string(t *testing.T) { + tests := []struct { + value interface{} + expected string + }{ + {"abc", "abc"}, + {"abcdef", "abcdef"}, + {[]byte{97, 98, 99, 100, 101, 102}, "abcdef"}, + } + + for _, tt := range tests { + res := i2string(tt.value) + assert.Equal(t, tt.expected, res) + } +} + +func Test_i2string_panic(t *testing.T) { + defer func() { + if r := recover(); r == nil { + t.Errorf("Expected panic for unexpected type, but did not panic") + } + }() + + i2string(12345) +} + +func Test_i2float(t *testing.T) { + tests := []struct { + value interface{} + expected float64 + }{ + {int8(1), 1.0}, + {int16(1), 1.0}, + {int32(1), 1.0}, + {int64(1), 1.0}, + {uint8(1), 1.0}, + {uint16(1), 1.0}, + {uint32(1), 1.0}, + {uint64(1), 1.0}, + {float32(1.5), 1.5}, + {float64(1.5), 1.5}, + {true, 1.0}, + {false, 0.0}, + } + + for _, tt := range tests { + res := i2float(tt.value) + assert.Equal(t, tt.expected, res) + } +} + +func Test_i2float_panic(t *testing.T) { + defer func() { + if r := recover(); r == nil { + t.Errorf("Expected panic for unexpected type, but did not panic") + } + }() + + i2float("unexpected type") +} + +func Test_getRoleStr(t *testing.T) { + tests := []struct { + value float64 + expected string + }{ + {0, "offline"}, + {99.5, "follower"}, + {100, "follower"}, + {100.4, "follower"}, + {100.5, "candidate"}, + {101, "candidate"}, + {101.4, "candidate"}, + {101.5, "leader"}, + {102, "leader"}, + {102.4, "leader"}, + {102.5, "error"}, + {103, "error"}, + {104, "learner"}, + {99.4, "unknown"}, + {105, "unknown"}, + {-1, "unknown"}, + {150, "unknown"}, + } + + for _, tt := range tests { + res := getRoleStr(tt.value) + assert.Equal(t, tt.expected, res) + } +} + +func Test_getStatusStr(t *testing.T) { + tests := []struct { + value float64 + expected string + }{ + {-0.4, "offline"}, + {0, "offline"}, + {0.4, "offline"}, + {0.5, "ready"}, + {1, "ready"}, + {1.4, "ready"}, + {1.5, "unknown"}, + {2, "unknown"}, + {-0.5, "unknown"}, + {-1, "unknown"}, + } + + for _, tt := range tests { + res := getStatusStr(tt.value) + assert.Equal(t, tt.expected, res) + } +} diff --git a/tools/keeper/system/program_test.go b/tools/keeper/system/program_test.go index eabc4fff35..63fbb63014 100644 --- a/tools/keeper/system/program_test.go +++ b/tools/keeper/system/program_test.go @@ -3,15 +3,18 @@ package system import ( "context" "fmt" + "net/http" "testing" + "time" + "github.com/kardianos/service" "github.com/stretchr/testify/assert" "github.com/taosdata/taoskeeper/db" "github.com/taosdata/taoskeeper/infrastructure/config" "github.com/taosdata/taoskeeper/util" ) -func TestStart(t *testing.T) { +func TestInit(t *testing.T) { server := Init() assert.NotNil(t, server) @@ -20,3 +23,23 @@ func TestStart(t *testing.T) { conn.Query(context.Background(), fmt.Sprintf("drop database if exists %s", config.Conf.Metrics.Database.Name), util.GetQidOwn()) conn.Query(context.Background(), fmt.Sprintf("drop database if exists %s", config.Conf.Audit.Database.Name), util.GetQidOwn()) } + +func Test_program(t *testing.T) { + server := &http.Server{} + prg := newProgram(server) + svcConfig := &service.Config{ + Name: "taoskeeper", + DisplayName: "taoskeeper", + Description: "taosKeeper is a tool for TDengine that exports monitoring metrics", + } + svc, err := service.New(prg, svcConfig) + assert.NoError(t, err) + + err = prg.Start(svc) + assert.NoError(t, err) + + time.Sleep(100 * time.Millisecond) + + err = prg.Stop(svc) + assert.NoError(t, err) +} From be1b6db22038c1d6c78496566f5d06675deaf530 Mon Sep 17 00:00:00 2001 From: qevolg <2227465945@qq.com> Date: Fri, 1 Nov 2024 15:00:29 +0800 Subject: [PATCH 4/7] chore(.github): modify go test command --- .github/workflows/taoskeeper-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/taoskeeper-ci.yml b/.github/workflows/taoskeeper-ci.yml index 9fedf1adf5..b991aa9522 100644 --- a/.github/workflows/taoskeeper-ci.yml +++ b/.github/workflows/taoskeeper-ci.yml @@ -48,7 +48,7 @@ jobs: working-directory: tools/keeper run: | go mod tidy - go test -v -ldflags="-X 'github.com/taosdata/taoskeeper/version.IsEnterprise=true'" -coverpkg=./... -coverprofile=coverage.out ./... + sudo go test -v -ldflags="-X 'github.com/taosdata/taoskeeper/version.IsEnterprise=true'" -coverpkg=./... -coverprofile=coverage.out ./... go tool cover -func=coverage.out - name: Clean up From ced675a93c53b113387cbe833522adcaddc36b47 Mon Sep 17 00:00:00 2001 From: qevolg <2227465945@qq.com> Date: Fri, 1 Nov 2024 15:02:56 +0800 Subject: [PATCH 5/7] test(keeper): trigger taoskeeper ci --- tools/keeper/api/adapter2_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/keeper/api/adapter2_test.go b/tools/keeper/api/adapter2_test.go index e6fd263c43..5456dfeecf 100644 --- a/tools/keeper/api/adapter2_test.go +++ b/tools/keeper/api/adapter2_test.go @@ -14,6 +14,7 @@ import ( ) func TestAdapter2(t *testing.T) { + // c := &config.Config{ InstanceID: 64, Port: 6043, From c1d2fe42cdea2692f6fb8140e4d70d3d446be15b Mon Sep 17 00:00:00 2001 From: qevolg <2227465945@qq.com> Date: Fri, 1 Nov 2024 15:03:12 +0800 Subject: [PATCH 6/7] test(keeper): trigger taoskeeper ci --- tools/keeper/api/adapter2_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/keeper/api/adapter2_test.go b/tools/keeper/api/adapter2_test.go index 5456dfeecf..e6fd263c43 100644 --- a/tools/keeper/api/adapter2_test.go +++ b/tools/keeper/api/adapter2_test.go @@ -14,7 +14,6 @@ import ( ) func TestAdapter2(t *testing.T) { - // c := &config.Config{ InstanceID: 64, Port: 6043, From 03bb35a5cbeb2f5e7d5b12df03e377db91433116 Mon Sep 17 00:00:00 2001 From: qevolg <2227465945@qq.com> Date: Fri, 1 Nov 2024 15:09:58 +0800 Subject: [PATCH 7/7] style(.github): format code --- .github/workflows/taoskeeper-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/taoskeeper-ci.yml b/.github/workflows/taoskeeper-ci.yml index b991aa9522..fbc662ffb2 100644 --- a/.github/workflows/taoskeeper-ci.yml +++ b/.github/workflows/taoskeeper-ci.yml @@ -48,7 +48,7 @@ jobs: working-directory: tools/keeper run: | go mod tidy - sudo go test -v -ldflags="-X 'github.com/taosdata/taoskeeper/version.IsEnterprise=true'" -coverpkg=./... -coverprofile=coverage.out ./... + sudo go test -v -ldflags="-X 'github.com/taosdata/taoskeeper/version.IsEnterprise=true'" -coverpkg=./... -coverprofile=coverage.out ./... go tool cover -func=coverage.out - name: Clean up