package utils

import "testing"

func TestFormatClusterBucketName(t *testing.T) {
	tests := []struct {
		name     string
		env      string
		region   string
		project  string
		expected string
	}{
		{
			name:     "dev project",
			env:      "nightly",
			region:   "us-west-2",
			project:  "3200560",
			expected: "dbaas-nightly-us-west-2-nightly-ms-3200560",
		},
		{
			name:     "staging project",
			env:      "staging",
			region:   "us-east-1",
			project:  "1369847559694040829",
			expected: "dbaas-staging-us-east-1-1369847559694040829",
		},
		{
			name:     "prod project",
			env:      "prod",
			region:   "us-west-2",
			project:  "1372813089454524121",
			expected: "dbaas-prod-us-west-2-1372813089454524121",
		},
	}

	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			got := FormatClusterBucketName(tt.env, tt.region, tt.project)
			if got != tt.expected {
				t.Fatalf("unexpected bucket name, got %s, want %s", got, tt.expected)
			}
		})
	}
}
