package ack

import (
	"testing"

	"github.com/stretchr/testify/require"
	"k8s.io/utils/ptr"
)

func TestToACKLabelsSortsByKey(t *testing.T) {
	labels := map[string]string{
		"zone":      "ap-southeast-1a",
		"node-type": "dedicated",
		"component": "tikv",
	}

	got := toACKLabels(labels)

	require.Len(t, got, 3)
	require.Equal(t, "component", ptr.Deref(got[0].Key, ""))
	require.Equal(t, "tikv", ptr.Deref(got[0].Value, ""))
	require.Equal(t, "node-type", ptr.Deref(got[1].Key, ""))
	require.Equal(t, "dedicated", ptr.Deref(got[1].Value, ""))
	require.Equal(t, "zone", ptr.Deref(got[2].Key, ""))
	require.Equal(t, "ap-southeast-1a", ptr.Deref(got[2].Value, ""))
}
