package token import ( "github.com/stretchr/testify/assert" "testing" ) func TestAdditional_String(t *testing.T) { tests := []struct { name string input Additional expected string }{ {"ID to String", ID, "id"}, {"Role to String", Role, "role"}, {"Device to String", Device, "device"}, {"UID to String", UID, "uid"}, {"Account to String", Account, "account"}, {"Scope to String", Scope, "scope"}, {"Type to String", Type, "token_type"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { result := tt.input.String() assert.Equal(t, tt.expected, result) }) } } func TestIsValidAdditional(t *testing.T) { validKeys := []Additional{ ID, Role, Device, UID, Account, Scope, Type, } invalidKeys := []Additional{ "invalid", "unknown", "random", "test", } // 測試有效 Key for _, key := range validKeys { t.Run("ValidKey_"+key.String(), func(t *testing.T) { assert.True(t, IsValidAdditional(key)) }) } // 測試無效 Key for _, key := range invalidKeys { t.Run("InvalidKey_"+string(key), func(t *testing.T) { assert.False(t, IsValidAdditional(key)) }) } }