Skip to content

Commit ac32943

Browse files
committed
code-cov
Signed-off-by: Manik2708 <[email protected]>
1 parent b3a901c commit ac32943

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed

internal/storage/v2/elasticsearch/tracestore/tag_appender_test.go

+96
Original file line numberDiff line numberDiff line change
@@ -146,3 +146,99 @@ func TestAppendTagWhenTagKeysAsField(t *testing.T) {
146146
expected := dbmodel.KeyValue{Key: "testing.key.2", Type: "int64", Value: "2"}
147147
assert.Equal(t, expected, tags[0])
148148
}
149+
150+
func TestAppendTag(t *testing.T) {
151+
t.Run("allTagsAsFields=true", func(t *testing.T) {
152+
testAppendTags(t, true)
153+
})
154+
t.Run("allTagsAsFields=false", func(t *testing.T) {
155+
testAppendTags(t, false)
156+
})
157+
}
158+
159+
func testAppendTags(t *testing.T, allTagsAsFields bool) {
160+
tests := []struct {
161+
name string
162+
value pcommon.Value
163+
dbType dbmodel.ValueType
164+
}{
165+
{
166+
name: "int.val",
167+
value: pcommon.NewValueInt(1),
168+
dbType: dbmodel.Int64Type,
169+
},
170+
{
171+
name: "string.val",
172+
value: pcommon.NewValueStr("testing-string"),
173+
dbType: dbmodel.StringType,
174+
},
175+
{
176+
name: "bool.val",
177+
value: pcommon.NewValueBool(true),
178+
dbType: dbmodel.BoolType,
179+
},
180+
{
181+
name: "double.val",
182+
value: pcommon.NewValueDouble(1.2),
183+
dbType: dbmodel.Float64Type,
184+
},
185+
{
186+
name: "bytes.val",
187+
value: pcommon.NewValueBytes(),
188+
dbType: dbmodel.BinaryType,
189+
},
190+
{
191+
name: "map.val",
192+
value: pcommon.NewValueMap(),
193+
dbType: dbmodel.StringType,
194+
},
195+
{
196+
name: "slice.val",
197+
value: pcommon.NewValueSlice(),
198+
dbType: dbmodel.StringType,
199+
},
200+
}
201+
for _, test := range tests {
202+
t.Run(test.name, func(t *testing.T) {
203+
tagAppender := newTagAppender(allTagsAsFields, nil, ".")
204+
tagAppender.appendTag(test.name, test.value)
205+
tags, tagMap := tagAppender.getTags()
206+
if allTagsAsFields && test.dbType != dbmodel.BinaryType {
207+
assert.Empty(t, tags)
208+
assert.Len(t, tagMap, 1)
209+
switch test.dbType {
210+
case dbmodel.StringType:
211+
assert.Equal(t, test.value.AsString(), tagMap[test.name])
212+
case dbmodel.Int64Type:
213+
assert.Equal(t, test.value.Int(), tagMap[test.name])
214+
case dbmodel.BoolType:
215+
assert.Equal(t, test.value.Bool(), tagMap[test.name])
216+
case dbmodel.Float64Type:
217+
assert.InDelta(t, test.value.Double(), tagMap[test.name], 0.01)
218+
default:
219+
t.Errorf("unknown db type: %v", test.dbType)
220+
}
221+
} else {
222+
assert.Len(t, tags, 1)
223+
assert.Empty(t, tagMap)
224+
expected := dbmodel.KeyValue{
225+
Key: test.name,
226+
Type: test.dbType,
227+
Value: test.value.AsString(),
228+
}
229+
assert.Equal(t, expected, tags[0])
230+
}
231+
})
232+
}
233+
}
234+
235+
func TestAttributeToDbType_UnknownType(t *testing.T) {
236+
dbType := attributeToDbType(pcommon.ValueType(13))
237+
assert.Equal(t, dbmodel.ValueType(""), dbType)
238+
}
239+
240+
func TestAttributeToDbValue_UnknownType(t *testing.T) {
241+
val := pcommon.NewValueEmpty()
242+
dbValue := attributeToDbValue(pcommon.NewValueEmpty())
243+
assert.Equal(t, val.AsString(), dbValue)
244+
}

0 commit comments

Comments
 (0)