github.com/observiq/carbon@v0.9.11-0.20200820160507-1b872e368a5e/operator/builtin/output/elastic_test.go (about) 1 package output 2 3 import ( 4 "testing" 5 6 "github.com/observiq/carbon/entry" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestFindIndex(t *testing.T) { 11 indexField := entry.NewRecordField("bar") 12 output := &ElasticOutput{ 13 indexField: &indexField, 14 } 15 16 t.Run("StringValue", func(t *testing.T) { 17 entry := entry.New() 18 entry.Set(indexField, "testval") 19 idx, err := output.FindIndex(entry) 20 require.NoError(t, err) 21 require.Equal(t, "testval", idx) 22 }) 23 24 t.Run("ByteValue", func(t *testing.T) { 25 entry := entry.New() 26 entry.Set(indexField, []byte("testval")) 27 idx, err := output.FindIndex(entry) 28 require.NoError(t, err) 29 require.Equal(t, "testval", idx) 30 }) 31 32 t.Run("NoValue", func(t *testing.T) { 33 entry := entry.New() 34 _, err := output.FindIndex(entry) 35 require.Error(t, err) 36 }) 37 38 t.Run("IndexFieldUnset", func(t *testing.T) { 39 entry := entry.New() 40 output := &ElasticOutput{} 41 idx, err := output.FindIndex(entry) 42 require.NoError(t, err) 43 require.Equal(t, "default", idx) 44 }) 45 } 46 47 func TestFindID(t *testing.T) { 48 idField := entry.NewRecordField("foo") 49 output := &ElasticOutput{ 50 idField: &idField, 51 } 52 53 t.Run("StringValue", func(t *testing.T) { 54 entry := entry.New() 55 entry.Set(idField, "testval") 56 idx, err := output.FindID(entry) 57 require.NoError(t, err) 58 require.Equal(t, "testval", idx) 59 }) 60 61 t.Run("ByteValue", func(t *testing.T) { 62 entry := entry.New() 63 entry.Set(idField, []byte("testval")) 64 idx, err := output.FindID(entry) 65 require.NoError(t, err) 66 require.Equal(t, "testval", idx) 67 }) 68 69 t.Run("NoValue", func(t *testing.T) { 70 entry := entry.New() 71 _, err := output.FindID(entry) 72 require.Error(t, err) 73 }) 74 75 t.Run("IDFieldUnset", func(t *testing.T) { 76 entry := entry.New() 77 output := &ElasticOutput{} 78 idx, err := output.FindID(entry) 79 require.NoError(t, err) 80 require.NotEmpty(t, idx) 81 }) 82 }