Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/grafana-agent
Path: blob/main/pkg/integrations/v2/blackbox_exporter/blackbox_test.go
5403 views
1
package blackbox_exporter_v2
2
3
import (
4
"testing"
5
6
"github.com/grafana/agent/pkg/integrations/blackbox_exporter"
7
"github.com/grafana/agent/pkg/integrations/v2"
8
integrations_v2 "github.com/grafana/agent/pkg/integrations/v2"
9
autoscrape "github.com/grafana/agent/pkg/integrations/v2/autoscrape"
10
"github.com/grafana/agent/pkg/integrations/v2/common"
11
"github.com/prometheus/common/model"
12
"github.com/prometheus/prometheus/discovery/targetgroup"
13
"github.com/stretchr/testify/require"
14
)
15
16
func TestBlackbox(t *testing.T) {
17
t.Run("targets", func(t *testing.T) {
18
key := "blackbox-test"
19
aEnabled := true
20
21
c := Config{
22
ProbeTimeoutOffset: 0.5,
23
Common: common.MetricsConfig{
24
InstanceKey: &key,
25
Autoscrape: autoscrape.Config{
26
Enable: &aEnabled,
27
},
28
},
29
BlackboxTargets: []blackbox_exporter.BlackboxTarget{{
30
Name: "icmp_cloudflare",
31
Target: "1.1.1.1",
32
Module: "icmp_ipv4",
33
}},
34
}
35
integration, err := c.NewIntegration(nil, integrations_v2.Globals{})
36
require.NoError(t, err)
37
38
i := integration.(integrations.MetricsIntegration)
39
actual := i.Targets(integrations.Endpoint{Host: "test", Prefix: "/test/"})
40
expect := []*targetgroup.Group{{
41
Source: "blackbox/blackbox",
42
Labels: model.LabelSet{
43
"instance": "blackbox-test",
44
"job": "integrations/blackbox",
45
"agent_hostname": "",
46
47
"__meta_agent_integration_name": "blackbox",
48
"__meta_agent_integration_instance": "blackbox",
49
"__meta_agent_integration_autoscrape": "1",
50
},
51
Targets: []model.LabelSet{{
52
model.AddressLabel: "test",
53
model.MetricsPathLabel: "/test/metrics",
54
"blackbox_target": "1.1.1.1",
55
"__param_target": "1.1.1.1",
56
"__param_module": "icmp_ipv4",
57
}},
58
}}
59
require.Equal(t, expect, actual)
60
})
61
}
62
63