mirror of https://github.com/linkerd/linkerd2.git
56 lines
1.7 KiB
Go
56 lines
1.7 KiB
Go
package k8s
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
|
|
k8sV1 "k8s.io/api/apps/v1"
|
|
meta "k8s.io/apimachinery/pkg/apis/meta/v1"
|
|
)
|
|
|
|
func TestGetOwnerLabels(t *testing.T) {
|
|
t.Run("Maps proxy labels to prometheus labels", func(t *testing.T) {
|
|
metadata := meta.ObjectMeta{
|
|
Labels: map[string]string{
|
|
ControllerNSLabel: "conduit-namespace",
|
|
ProxyDeploymentLabel: "test-deployment",
|
|
ProxyReplicationControllerLabel: "test-replication-controller",
|
|
ProxyReplicaSetLabel: "test-replica-set",
|
|
ProxyJobLabel: "test-job",
|
|
ProxyDaemonSetLabel: "test-daemon-set",
|
|
ProxyStatefulSetLabel: "test-stateful-set",
|
|
k8sV1.DefaultDeploymentUniqueLabelKey: "test-pth",
|
|
},
|
|
}
|
|
|
|
expectedLabels := map[string]string{
|
|
"conduit_io_control_plane_ns": "conduit-namespace",
|
|
"deployment": "test-deployment",
|
|
"replication_controller": "test-replication-controller",
|
|
"replica_set": "test-replica-set",
|
|
"k8s_job": "test-job",
|
|
"daemon_set": "test-daemon-set",
|
|
"stateful_set": "test-stateful-set",
|
|
"pod_template_hash": "test-pth",
|
|
}
|
|
|
|
ownerLabels := GetOwnerLabels(metadata)
|
|
|
|
if !reflect.DeepEqual(ownerLabels, expectedLabels) {
|
|
t.Fatalf("Expected owner labels [%v] but got [%v]", expectedLabels, ownerLabels)
|
|
}
|
|
})
|
|
|
|
t.Run("Ignores non-proxy labels", func(t *testing.T) {
|
|
metadata := meta.ObjectMeta{
|
|
Labels: map[string]string{"app": "foo"},
|
|
}
|
|
|
|
ownerLabels := GetOwnerLabels(metadata)
|
|
|
|
if len(ownerLabels) != 0 {
|
|
t.Fatalf("Expected no owner labels but got [%v]", ownerLabels)
|
|
}
|
|
})
|
|
}
|