github.com/netdata/go.d.plugin@v0.58.1/agent/discovery/file/read_test.go (about) 1 // SPDX-License-Identifier: GPL-3.0-or-later 2 3 package file 4 5 import ( 6 "testing" 7 8 "github.com/netdata/go.d.plugin/agent/confgroup" 9 "github.com/netdata/go.d.plugin/agent/module" 10 11 "github.com/stretchr/testify/assert" 12 ) 13 14 func TestReader_String(t *testing.T) { 15 assert.NotEmpty(t, NewReader(confgroup.Registry{}, nil)) 16 } 17 18 func TestNewReader(t *testing.T) { 19 tests := map[string]struct { 20 reg confgroup.Registry 21 paths []string 22 }{ 23 "empty inputs": { 24 reg: confgroup.Registry{}, 25 paths: []string{}, 26 }, 27 } 28 29 for name, test := range tests { 30 t.Run(name, func(t *testing.T) { assert.NotNil(t, NewReader(test.reg, test.paths)) }) 31 } 32 } 33 34 func TestReader_Run(t *testing.T) { 35 tmp := newTmpDir(t, "reader-run-*") 36 defer tmp.cleanup() 37 38 module1 := tmp.join("module1.conf") 39 module2 := tmp.join("module2.conf") 40 module3 := tmp.join("module3.conf") 41 42 tmp.writeYAML(module1, staticConfig{ 43 Jobs: []confgroup.Config{{"name": "name"}}, 44 }) 45 tmp.writeYAML(module2, staticConfig{ 46 Jobs: []confgroup.Config{{"name": "name"}}, 47 }) 48 tmp.writeString(module3, "# a comment") 49 50 reg := confgroup.Registry{ 51 "module1": {}, 52 "module2": {}, 53 "module3": {}, 54 } 55 discovery := prepareDiscovery(t, Config{ 56 Registry: reg, 57 Read: []string{module1, module2, module3}, 58 }) 59 expected := []*confgroup.Group{ 60 { 61 Source: module1, 62 Configs: []confgroup.Config{ 63 { 64 "name": "name", 65 "module": "module1", 66 "update_every": module.UpdateEvery, 67 "autodetection_retry": module.AutoDetectionRetry, 68 "priority": module.Priority, 69 "__source__": module1, 70 "__provider__": "file reader", 71 }, 72 }, 73 }, 74 { 75 Source: module2, 76 Configs: []confgroup.Config{ 77 { 78 "name": "name", 79 "module": "module2", 80 "update_every": module.UpdateEvery, 81 "autodetection_retry": module.AutoDetectionRetry, 82 "priority": module.Priority, 83 "__source__": module2, 84 "__provider__": "file reader", 85 }, 86 }, 87 }, 88 { 89 Source: module3, 90 }, 91 } 92 93 sim := discoverySim{ 94 discovery: discovery, 95 expectedGroups: expected, 96 } 97 98 sim.run(t) 99 }