func TestMetricContainsServerAndDomainAndRecordTypeTags(t *testing.T) { if testing.Short() { t.Skip("Skipping network-dependent test in short mode.") } var dnsConfig = DnsQuery{ Servers: servers, Domains: domains, } var acc testutil.Accumulator tags := map[string]string{ "server": "8.8.8.8", "domain": "google.com", "record_type": "NS", } fields := map[string]interface{}{} err := dnsConfig.Gather(&acc) assert.NoError(t, err) metric, ok := acc.Get("dns_query") require.True(t, ok) queryTime, _ := metric.Fields["query_time_ms"].(float64) fields["query_time_ms"] = queryTime acc.AssertContainsTaggedFields(t, "dns_query", fields, tags) }
func TestGathering(t *testing.T) { var dnsConfig = DnsQuery{ Servers: servers, Domains: domains, } var acc testutil.Accumulator err := dnsConfig.Gather(&acc) assert.NoError(t, err) metric, ok := acc.Get("dns_query") require.True(t, ok) queryTime, _ := metric.Fields["query_time_ms"].(float64) assert.NotEqual(t, 0, queryTime) }
func TestProcesses(t *testing.T) { processes := &Processes{ execPS: execPS, readProcFile: readProcFile, } var acc testutil.Accumulator err := processes.Gather(&acc) require.NoError(t, err) assert.True(t, acc.HasIntField("processes", "running")) assert.True(t, acc.HasIntField("processes", "sleeping")) assert.True(t, acc.HasIntField("processes", "stopped")) assert.True(t, acc.HasIntField("processes", "total")) total, ok := acc.Get("processes") require.True(t, ok) assert.True(t, total.Fields["total"].(int64) > 0) }
func TestGatheringMxRecord(t *testing.T) { if testing.Short() { t.Skip("Skipping network-dependent test in short mode.") } var dnsConfig = DnsQuery{ Servers: servers, Domains: domains, } var acc testutil.Accumulator dnsConfig.RecordType = "MX" err := dnsConfig.Gather(&acc) assert.NoError(t, err) metric, ok := acc.Get("dns_query") require.True(t, ok) queryTime, _ := metric.Fields["query_time_ms"].(float64) assert.NotEqual(t, 0, queryTime) }
func TestPostgresqlTagsMetricsWithDatabaseName(t *testing.T) { if testing.Short() { t.Skip("Skipping integration test in short mode") } p := &Postgresql{ Address: fmt.Sprintf("host=%s user=postgres sslmode=disable", testutil.GetLocalHost()), Databases: []string{"postgres"}, } var acc testutil.Accumulator err := p.Gather(&acc) require.NoError(t, err) point, ok := acc.Get("postgresql") require.True(t, ok) assert.Equal(t, "postgres", point.Tags["db"]) }
func TestGatheringRootDomain(t *testing.T) { var dnsConfig = DnsQuery{ Servers: servers, Domains: []string{"."}, RecordType: "MX", } var acc testutil.Accumulator tags := map[string]string{ "server": "8.8.8.8", "domain": ".", "record_type": "MX", } fields := map[string]interface{}{} err := dnsConfig.Gather(&acc) assert.NoError(t, err) metric, ok := acc.Get("dns_query") require.True(t, ok) queryTime, _ := metric.Fields["query_time_ms"].(float64) fields["query_time_ms"] = queryTime acc.AssertContainsTaggedFields(t, "dns_query", fields, tags) }