Пример #1
0
func TestGatherClusterStats(t *testing.T) {
	es := NewElasticsearch()
	es.Servers = []string{"http://example.com:9200"}
	es.ClusterHealth = true
	es.client.Transport = newTransportMock(http.StatusOK, clusterResponse)

	var acc testutil.Accumulator
	require.NoError(t, es.Gather(&acc))

	var clusterHealthTests = []struct {
		measurement string
		fields      map[string]interface{}
		tags        map[string]string
	}{
		{
			"cluster_health",
			clusterHealthExpected,
			map[string]string{"name": "elasticsearch_telegraf"},
		},
		{
			"indices",
			v1IndexExpected,
			map[string]string{"index": "v1"},
		},
		{
			"indices",
			v2IndexExpected,
			map[string]string{"index": "v2"},
		},
	}

	for _, exp := range clusterHealthTests {
		assert.NoError(t, acc.ValidateTaggedFields(exp.measurement, exp.fields, exp.tags))
	}
}