package commongcp

import "testing"

func TestDedicatedNodePoolName(t *testing.T) {
	tests := []struct {
		name     string
		baseName string
		specName string
		want     string
	}{
		{
			name:     "k8s default spec keeps logical name",
			baseName: "tidbcloud-o11y-k8s-project-1",
			specName: "default",
			want:     "tidbcloud-o11y-k8s-project-1",
		},
		{
			name:     "k8s non-default spec uses shortened name",
			baseName: "tidbcloud-o11y-k8s-project-1",
			specName: "large",
			want:     "o11y-k8s-project-1-large",
		},
		{
			name:     "tidb non-default spec uses shortened name",
			baseName: "tidbcloud-o11y-tidb-application-1",
			specName: "medium",
			want:     "o11y-tidb-application-1-medium",
		},
	}

	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			if got := DedicatedNodePoolName(tt.baseName, tt.specName); got != tt.want {
				t.Fatalf("DedicatedNodePoolName() = %q, want %q", got, tt.want)
			}
		})
	}
}
