Path: blob/main/pkg/integrations/blackbox_exporter/blackbox_exporter_test.go
5411 views
package blackbox_exporter12import (3"net/url"4"testing"56integrations "github.com/grafana/agent/pkg/integrations/config"7"github.com/stretchr/testify/require"8"gopkg.in/yaml.v2"9)1011func TestBlackboxConfig(t *testing.T) {12t.Run("scrape configs", func(t *testing.T) {13var config Config14strConfig := `---15blackbox_targets:16- name: icmp_cloudflare17address: 1.1.1.118module: icmp_ipv419- name: http_cloudflare20address: https://www.cloudflare.com21module: http_2xx_ipv422blackbox_config:23modules:24http_2xx_ipv4:25prober: http26timeout: 5s27http:28preferred_ip_protocol: "ip4"29icmp_ipv4:30prober: "icmp"31timeout: 5s32icmp:33preferred_ip_protocol: "ip4"34`35require.NoError(t, yaml.UnmarshalStrict([]byte(strConfig), &config), "unmarshal config")3637integration, err := New(nil, &config)38require.NoError(t, err)39expectedScrapeConfigs := []integrations.ScrapeConfig{40{41JobName: "blackbox/icmp_cloudflare",42MetricsPath: "/metrics",43QueryParams: url.Values{"target": []string{"1.1.1.1"}, "module": []string{"icmp_ipv4"}},44},45{46JobName: "blackbox/http_cloudflare",47MetricsPath: "/metrics",48QueryParams: url.Values{"target": []string{"https://www.cloudflare.com"}, "module": []string{"http_2xx_ipv4"}},49},50}51require.Equal(t, integration.ScrapeConfigs(), expectedScrapeConfigs)52})53}545556