Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/grafana-agent
Path: blob/main/pkg/integrations/v2/app_agent_receiver/config_test.go
5371 views
1
package app_agent_receiver
2
3
import (
4
"testing"
5
6
"github.com/stretchr/testify/require"
7
"gopkg.in/yaml.v2"
8
)
9
10
func TestConfig_DefaultConfig(t *testing.T) {
11
var cfg Config
12
cb := `
13
test-conf: test-val`
14
err := yaml.Unmarshal([]byte(cb), &cfg)
15
require.NoError(t, err)
16
require.Equal(t, []string(nil), cfg.Server.CORSAllowedOrigins)
17
require.Equal(t, "127.0.0.1", cfg.Server.Host)
18
require.Equal(t, 12347, cfg.Server.Port)
19
require.Equal(t, true, cfg.Server.RateLimiting.Enabled)
20
}
21
22
func TestConfig_EnableRateLimitNoRPS(t *testing.T) {
23
var cfg Config
24
cb := `
25
server:
26
rate_limiting:
27
enabled: true`
28
err := yaml.Unmarshal([]byte(cb), &cfg)
29
require.NoError(t, err)
30
require.Equal(t, true, cfg.Server.RateLimiting.Enabled)
31
require.Equal(t, 100.0, cfg.Server.RateLimiting.RPS)
32
require.Equal(t, 50, cfg.Server.RateLimiting.Burstiness)
33
}
34
35
func TestConfig_EnableRateLimitRPS(t *testing.T) {
36
var cfg Config
37
cb := `
38
server:
39
rate_limiting:
40
enabled: true
41
rps: 142`
42
err := yaml.Unmarshal([]byte(cb), &cfg)
43
require.NoError(t, err)
44
require.Equal(t, true, cfg.Server.RateLimiting.Enabled)
45
require.Equal(t, 142.0, cfg.Server.RateLimiting.RPS)
46
require.Equal(t, 50, cfg.Server.RateLimiting.Burstiness)
47
}
48
49
func TestConfig_MultipleUnmarshals(t *testing.T) {
50
var cfg1 Config
51
cb1 := `
52
sourcemaps:
53
download_origins: ["one"]
54
logs_labels:
55
app: frontend
56
one: two`
57
var cfg2 Config
58
cb2 := `
59
logs_labels:
60
app: backend
61
bar: baz`
62
63
err := yaml.UnmarshalStrict([]byte(cb1), &cfg1)
64
require.NoError(t, err)
65
err = yaml.UnmarshalStrict([]byte(cb2), &cfg2)
66
require.NoError(t, err)
67
68
require.Equal(t, map[string]string{
69
"app": "frontend",
70
"one": "two",
71
}, cfg1.LogsLabels)
72
require.Equal(t, []string{"one"}, cfg1.SourceMaps.DownloadFromOrigins)
73
74
require.Equal(t, map[string]string{
75
"app": "backend",
76
"bar": "baz",
77
}, cfg2.LogsLabels)
78
require.Equal(t, []string{"*"}, cfg2.SourceMaps.DownloadFromOrigins)
79
}
80
81