package task

import (
	"testing"

	"github.com/stretchr/testify/assert"

	"github.com/tidbcloud/observability/pkg/common/constants"
)

// DeployType classifies a bizType into the ETL deploy type, which selects the
// source-log layout the ETL reads from. Mirrors regionalservice.buildStorageObjectPath.
// Valid ETL deploy types: "serverless", "dedicated", "premium" (premium = next-gen layout).
func TestDeployType(t *testing.T) {
	assert.Equal(t, DeployTypeServerless, DeployType("prod-devtier"))
	assert.Equal(t, DeployTypeServerless, DeployType("dev-devtier"))
	assert.Equal(t, DeployTypePremium, DeployType("staging-tidbcloud-nextgen"))
	assert.Equal(t, DeployTypePremium, DeployType(constants.DefaultByocBizType))
	assert.Equal(t, DeployTypeDedicated, DeployType("staging-tidbcloud"))
	assert.Equal(t, DeployTypeDedicated, DeployType("tidbcloud"))
}
