49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
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)
|
|
}
|
|
|
|
}
|
|
}
|