package aerospike import ( "github.com/influxdb/telegraf/testutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "testing" ) func TestAerospikeStatistics(t *testing.T) { if testing.Short() { t.Skip("Skipping integration test in short mode") } a := &Aerospike{ Servers: []string{testutil.GetLocalHost() + ":3000"}, } var acc testutil.Accumulator err := a.Gather(&acc) require.NoError(t, err) // Only use a few of the metrics asMetrics := []string{ "transactions", "stat_write_errs", "stat_read_reqs", "stat_write_reqs", } for _, metric := range asMetrics { assert.True(t, acc.HasIntField("aerospike", metric), metric) } } func TestAerospikeMsgLenFromToBytes(t *testing.T) { var i int64 = 8 assert.True(t, i == msgLenFromBytes(msgLenToBytes(i))) } func TestReadAerospikeStatsNoNamespace(t *testing.T) { // Also test for re-writing var acc testutil.Accumulator stats := map[string]string{ "stat-write-errs": "12345", "stat_read_reqs": "12345", } readAerospikeStats(stats, &acc, "host1", "") fields := map[string]interface{}{ "stat_write_errs": int64(12345), "stat_read_reqs": int64(12345), } tags := map[string]string{ "aerospike_host": "host1", "namespace": "_service", } acc.AssertContainsTaggedFields(t, "aerospike", fields, tags) } // func TestReadAerospikeStatsNamespace(t *testing.T) { // var acc testutil.Accumulator // stats := map[string]string{ // "stat_write_errs": "12345", // "stat_read_reqs": "12345", // } // readAerospikeStats(stats, &acc, "host1", "test") // tags := map[string]string{ // "aerospike_host": "host1", // "namespace": "test", // } // for k := range stats { // assert.True(t, acc.ValidateTaggedValue(k, int64(12345), tags) == nil) // } // } // func TestAerospikeUnmarshalList(t *testing.T) { // i := map[string]string{ // "test": "one;two;three", // } // expected := []string{"one", "two", "three"} // list, err := unmarshalListInfo(i, "test2") // assert.True(t, err != nil) // list, err = unmarshalListInfo(i, "test") // assert.True(t, err == nil) // equal := true // for ix := range expected { // if list[ix] != expected[ix] { // equal = false // break // } // } // assert.True(t, equal) // } // func TestAerospikeUnmarshalMap(t *testing.T) { // i := map[string]string{ // "test": "key1=value1;key2=value2", // } // expected := map[string]string{ // "key1": "value1", // "key2": "value2", // } // m, err := unmarshalMapInfo(i, "test") // assert.True(t, err == nil) // assert.True(t, reflect.DeepEqual(m, expected)) // }