master
go 51 lines 1.43 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package cockroachdb
4
5 import (
6 "testing"
7
8 "github.com/netdata/netdata/go/plugins/pkg/funcapi"
9 "github.com/stretchr/testify/assert"
10 )
11
12 func TestCockroachDBMethods(t *testing.T) {
13 methods := cockroachMethods()
14
15 require := assert.New(t)
16 require.Len(methods, 2)
17
18 for _, method := range methods {
19 require.NotEmpty(method.ID)
20 require.NotEmpty(method.Name)
21 require.NotEmpty(method.RequiredParams)
22
23 var sortParam *funcapi.ParamConfig
24 for i := range method.RequiredParams {
25 if method.RequiredParams[i].ID == "__sort" {
26 sortParam = &method.RequiredParams[i]
27 break
28 }
29 }
30 require.NotNil(sortParam, "expected __sort required param")
31 require.NotEmpty(sortParam.Options)
32 }
33 }
34
35 func TestCockroachDBTopColumns_HasRequiredColumns(t *testing.T) {
36 required := []string{"fingerprintId", "query", "executions", "totalTime"}
37
38 cs := funcapi.Columns(topQueriesColumns, func(c topQueriesColumn) funcapi.ColumnMeta { return c.ColumnMeta })
39 for _, id := range required {
40 assert.True(t, cs.ContainsColumn(id), "column %s should be defined", id)
41 }
42 }
43
44 func TestCockroachDBRunningColumns_HasRequiredColumns(t *testing.T) {
45 required := []string{"queryId", "query", "elapsedMs"}
46
47 cs := funcapi.Columns(runningQueriesColumns, func(c runningQueriesColumn) funcapi.ColumnMeta { return c.ColumnMeta })
48 for _, id := range required {
49 assert.True(t, cs.ContainsColumn(id), "column %s should be defined", id)
50 }
51 }