Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/grafana-agent
Path: blob/main/component/common/kubernetes/kubernetes_test.go
4096 views
1
package kubernetes
2
3
import (
4
"testing"
5
6
"github.com/grafana/agent/pkg/river"
7
"github.com/stretchr/testify/require"
8
)
9
10
func TestUnmarshalRiver(t *testing.T) {
11
var exampleRiverConfig = `
12
api_server = "localhost:9091"
13
proxy_url = "http://0.0.0.0:11111"
14
`
15
var args ClientArguments
16
err := river.Unmarshal([]byte(exampleRiverConfig), &args)
17
require.NoError(t, err)
18
19
exampleRiverConfig = `
20
kubeconfig_file = "/etc/k8s/kubeconfig.yaml"
21
`
22
var args1 ClientArguments
23
err = river.Unmarshal([]byte(exampleRiverConfig), &args1)
24
require.NoError(t, err)
25
}
26
27
func TestBadConfigs(t *testing.T) {
28
tests := []struct {
29
name string
30
config string
31
}{
32
{
33
name: "api_server and kubeconfig_file",
34
config: `
35
api_server = "localhost:9091"
36
kubeconfig_file = "/etc/k8s/kubeconfig.yaml"
37
`,
38
},
39
{
40
name: "kubeconfig_file and custom HTTP client",
41
config: `
42
kubeconfig_file = "/etc/k8s/kubeconfig.yaml"
43
proxy_url = "http://0.0.0.0:11111"
44
`,
45
},
46
{
47
name: "api_server missing when using custom HTTP client",
48
config: `
49
proxy_url = "http://0.0.0.0:11111"
50
`,
51
},
52
}
53
54
for _, test := range tests {
55
t.Run(test.name, func(t *testing.T) {
56
var args ClientArguments
57
err := river.Unmarshal([]byte(test.config), &args)
58
require.Error(t, err)
59
})
60
}
61
}
62
63