Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/grafana-agent
Path: blob/main/component/prometheus/exporter/windows/windows_test.go
4096 views
1
package windows
2
3
import (
4
"testing"
5
6
"github.com/grafana/agent/pkg/river"
7
"github.com/stretchr/testify/require"
8
)
9
10
var (
11
exampleRiverConfig = `
12
enabled_collectors = ["textfile","cpu"]
13
14
exchange {
15
enabled_list = ["example"]
16
}
17
18
iis {
19
site_include = ".+"
20
site_exclude = ""
21
app_include = ".+"
22
app_exclude = ""
23
}
24
25
text_file {
26
text_file_directory = "C:"
27
}
28
29
smtp {
30
include = ".+"
31
exclude = ""
32
}
33
34
service {
35
where_clause = "where"
36
}
37
38
process {
39
include = ".+"
40
exclude = ""
41
}
42
43
network {
44
include = ".+"
45
exclude = ""
46
}
47
48
mssql {
49
enabled_classes = ["accessmethods"]
50
}
51
52
msmq {
53
where_clause = "where"
54
}
55
56
logical_disk {
57
include = ".+"
58
exclude = ""
59
}
60
`
61
)
62
63
func TestRiverUnmarshal(t *testing.T) {
64
var args Arguments
65
err := river.Unmarshal([]byte(exampleRiverConfig), &args)
66
require.NoError(t, err)
67
68
require.Equal(t, []string{"textfile", "cpu"}, args.EnabledCollectors)
69
require.Equal(t, []string{"example"}, args.Exchange.EnabledList)
70
require.Equal(t, "", args.IIS.SiteExclude)
71
require.Equal(t, ".+", args.IIS.SiteInclude)
72
require.Equal(t, "", args.IIS.AppExclude)
73
require.Equal(t, ".+", args.IIS.AppInclude)
74
require.Equal(t, "C:", args.TextFile.TextFileDirectory)
75
require.Equal(t, "", args.SMTP.Exclude)
76
require.Equal(t, ".+", args.SMTP.Include)
77
require.Equal(t, "where", args.Service.Where)
78
require.Equal(t, "", args.Process.Exclude)
79
require.Equal(t, ".+", args.Process.Include)
80
require.Equal(t, "", args.Network.Exclude)
81
require.Equal(t, ".+", args.Network.Include)
82
require.Equal(t, []string{"accessmethods"}, args.MSSQL.EnabledClasses)
83
require.Equal(t, "where", args.MSMQ.Where)
84
require.Equal(t, "", args.LogicalDisk.Exclude)
85
require.Equal(t, ".+", args.LogicalDisk.Include)
86
}
87
88
func TestConvert(t *testing.T) {
89
var args Arguments
90
err := river.Unmarshal([]byte(exampleRiverConfig), &args)
91
require.NoError(t, err)
92
93
conf := args.Convert()
94
95
require.Equal(t, "textfile,cpu", conf.EnabledCollectors)
96
require.Equal(t, "example", conf.Exchange.EnabledList)
97
require.Equal(t, "", conf.IIS.SiteExclude)
98
require.Equal(t, ".+", conf.IIS.SiteInclude)
99
require.Equal(t, "", conf.IIS.AppExclude)
100
require.Equal(t, ".+", conf.IIS.AppInclude)
101
require.Equal(t, "C:", conf.TextFile.TextFileDirectory)
102
require.Equal(t, "", conf.SMTP.Exclude)
103
require.Equal(t, ".+", conf.SMTP.Include)
104
require.Equal(t, "where", conf.Service.Where)
105
require.Equal(t, "", conf.Process.Exclude)
106
require.Equal(t, ".+", conf.Process.Include)
107
require.Equal(t, "", conf.Network.Exclude)
108
require.Equal(t, ".+", conf.Network.Include)
109
require.Equal(t, "accessmethods", conf.MSSQL.EnabledClasses)
110
require.Equal(t, "where", conf.MSMQ.Where)
111
require.Equal(t, "", conf.LogicalDisk.Exclude)
112
require.Equal(t, ".+", conf.LogicalDisk.Include)
113
}
114
115