summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/agent/module/mock.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/go/collectors/go.d.plugin/agent/module/mock.go94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/agent/module/mock.go b/src/go/collectors/go.d.plugin/agent/module/mock.go
new file mode 100644
index 000000000..f83c7dbcc
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/agent/module/mock.go
@@ -0,0 +1,94 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package module
+
+import "errors"
+
+const MockConfigSchema = `
+{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "type": "object",
+ "properties": {
+ "option_str": {
+ "type": "string",
+ "description": "Option string value"
+ },
+ "option_int": {
+ "type": "integer",
+ "description": "Option integer value"
+ }
+ },
+ "required": [
+ "option_str",
+ "option_int"
+ ]
+}
+`
+
+type MockConfiguration struct {
+ OptionStr string `yaml:"option_str" json:"option_str"`
+ OptionInt int `yaml:"option_int" json:"option_int"`
+}
+
+// MockModule MockModule.
+type MockModule struct {
+ Base
+
+ Config MockConfiguration `yaml:",inline" json:""`
+
+ FailOnInit bool
+
+ InitFunc func() error
+ CheckFunc func() error
+ ChartsFunc func() *Charts
+ CollectFunc func() map[string]int64
+ CleanupFunc func()
+ CleanupDone bool
+}
+
+// Init invokes InitFunc.
+func (m *MockModule) Init() error {
+ if m.FailOnInit {
+ return errors.New("mock init error")
+ }
+ if m.InitFunc == nil {
+ return nil
+ }
+ return m.InitFunc()
+}
+
+// Check invokes CheckFunc.
+func (m *MockModule) Check() error {
+ if m.CheckFunc == nil {
+ return nil
+ }
+ return m.CheckFunc()
+}
+
+// Charts invokes ChartsFunc.
+func (m *MockModule) Charts() *Charts {
+ if m.ChartsFunc == nil {
+ return nil
+ }
+ return m.ChartsFunc()
+}
+
+// Collect invokes CollectDunc.
+func (m *MockModule) Collect() map[string]int64 {
+ if m.CollectFunc == nil {
+ return nil
+ }
+ return m.CollectFunc()
+}
+
+// Cleanup sets CleanupDone to true.
+func (m *MockModule) Cleanup() {
+ if m.CleanupFunc != nil {
+ m.CleanupFunc()
+ }
+ m.CleanupDone = true
+}
+
+func (m *MockModule) Configuration() any {
+ return m.Config
+}