package utils_test

import (
	"os"
	"testing"

	"github.com/stretchr/testify/assert"
	"github.com/tidbcloud/auto-deploy/internal/utils"
	"k8s.io/client-go/tools/clientcmd"
)

func TestCheckResources(t *testing.T) {
	homedir, _ := os.UserHomeDir()
	config, err := clientcmd.BuildConfigFromFlags("", homedir+"/.kube/config")
	assert.NoError(t, err)

	{
		hasResources, err := utils.CheckResources([]string{"not-found"}, config)
		assert.NoError(t, err)
		assert.False(t, hasResources)
	}

	{
		hasResources, err := utils.CheckResources([]string{"regionserver"}, config) // category
		assert.NoError(t, err)
		assert.True(t, hasResources)
	}

	{
		hasResources, err := utils.CheckResources([]string{"providerconfigusages.aws.upbound.io"}, config) // full name
		assert.NoError(t, err)
		assert.True(t, hasResources)
	}

	{
		hasResources, err := utils.CheckResources([]string{"providerconfigusage"}, config) // singular name
		assert.NoError(t, err)
		assert.True(t, hasResources)
	}
}
