master
go 52 lines 1.17 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package sd
4
5 import (
6 "encoding/json"
7
8 "github.com/netdata/netdata/go/plugins/plugin/agent/discovery/sd/model"
9 )
10
11 const testDiscovererSchema = `{"jsonSchema":{"type":"object"}}`
12
13 func testDiscovererRegistry() Registry {
14 return NewRegistry(
15 NewDescriptor(
16 testDiscovererTypeNetListeners,
17 testDiscovererSchema,
18 parseJSONTestConfig[testNetListenersConfig],
19 newTestDiscoverers[testNetListenersConfig],
20 ),
21 NewDescriptor(
22 testDiscovererTypeDocker,
23 testDiscovererSchema,
24 parseJSONTestConfig[testDockerConfig],
25 newTestDiscoverers[testDockerConfig],
26 ),
27 NewDescriptor(
28 testDiscovererTypeK8s,
29 testDiscovererSchema,
30 parseJSONTestConfig[[]testK8sConfig],
31 newTestDiscoverers[[]testK8sConfig],
32 ),
33 NewDescriptor(
34 testDiscovererTypeSNMP,
35 testDiscovererSchema,
36 parseJSONTestConfig[testSNMPConfig],
37 newTestDiscoverers[testSNMPConfig],
38 ),
39 )
40 }
41
42 func parseJSONTestConfig[T any](raw json.RawMessage) (T, error) {
43 var cfg T
44 if err := json.Unmarshal(raw, &cfg); err != nil {
45 return cfg, err
46 }
47 return cfg, nil
48 }
49
50 func newTestDiscoverers[T any](_ T, _ string) ([]model.Discoverer, error) {
51 return nil, nil
52 }