Files
unitech-golib/metric/metric_test.go

49 lines
1.0 KiB
Go
Raw Normal View History

2020-04-06 19:57:19 +08:00
package metric
import (
"github.com/prometheus/client_golang/prometheus"
"reflect"
"testing"
)
func Test_labelAlignment(t *testing.T) {
tds := []struct {
in1 []string
in2 prometheus.Labels
in2New prometheus.Labels
}{
{
[]string{"label1", "label2"},
map[string]string{"label1": "1"},
map[string]string{"label1": "1", "label2": missVal},
},
{
[]string{"label1", "label3"},
map[string]string{"label1": "1", "label2": "2"},
map[string]string{"label1": "1", "label3": missVal},
},
{
[]string{},
map[string]string{"label1": "1", "label2": "2"},
map[string]string{},
},
{
[]string{"label1", "label3", "label4"},
map[string]string{"label1": "1", "label2": "2"},
map[string]string{"label1": "1", "label3": missVal, "label4": missVal},
},
}
for _, d := range tds {
//var org map[string]string
//copy(org, d.in2)
result := labelAlignment(d.in1, d.in2)
t.Log(result, d.in2New)
if !reflect.DeepEqual(result, d.in2New) {
t.Errorf("Input: %#v, Expected is not same as , get ", d)
}
}
}