Skip to content
Snippets Groups Projects
Commit 15e28938 authored by ensiouel's avatar ensiouel
Browse files

refactor: удалена неиспользуемая функция

parent a01425f0
No related branches found
No related tags found
No related merge requests found
package metrics
import (
"go.opentelemetry.io/otel/attribute"
)
// AttributesFromKV преобразует массив строк args в []attribute.KeyValue.
//
// Функция ожидает, что каждое значение будет следовать за соответствующим ключом в массиве args,
// и возвращает метки, соответствующие парам ключ-значение.
func AttributesFromKV(args []string) []attribute.KeyValue {
labels := make([]attribute.KeyValue, 0, len(args)/2)
for len(args) > 0 {
// если в массиве args остался только один элемент, он будет проигнорирован
if len(args) == 1 {
break
}
labels = append(labels, attribute.Key(args[0]).String(args[1]))
args = args[2:]
}
return labels
}
package metrics
import (
"reflect"
"testing"
"github.com/stretchr/testify/require"
"go.opentelemetry.io/otel/attribute"
)
func TestAttributesFromKV(t *testing.T) {
testcases := []struct {
name string
input []string
want []attribute.KeyValue
}{
{
name: "input is empty",
input: []string{},
want: []attribute.KeyValue{},
},
{
name: "input is nil",
input: nil,
want: []attribute.KeyValue{},
},
{
name: "valid",
input: []string{"key", "value"},
want: []attribute.KeyValue{attribute.Key("key").String("value")},
},
{
name: "multi valid",
input: []string{"key", "value", "key1", "value1"},
want: []attribute.KeyValue{attribute.Key("key").String("value"), attribute.Key("key1").String("value1")},
},
{
name: "bad key",
input: []string{"value"},
want: []attribute.KeyValue{},
},
{
name: "multi bad key",
input: []string{"key", "value", "value1"},
want: []attribute.KeyValue{attribute.Key("key").String("value")},
},
}
for _, tc := range testcases {
t.Run(tc.name, func(t *testing.T) {
got := AttributesFromKV(tc.input)
require.True(t, reflect.DeepEqual(tc.want, got))
})
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment