3 changed files with 43 additions and 4 deletions
@ -0,0 +1,39 @@ |
|||||
|
package jwt |
||||
|
|
||||
|
import ( |
||||
|
"testing" |
||||
|
|
||||
|
"github.com/stretchr/testify/assert" |
||||
|
"github.com/stretchr/testify/require" |
||||
|
) |
||||
|
|
||||
|
func TestGenerateToken_ContainsRole(t *testing.T) { |
||||
|
token, err := GenerateToken(1, "testuser", "admin") |
||||
|
require.NoError(t, err) |
||||
|
require.NotEmpty(t, token) |
||||
|
|
||||
|
// 解析 token 验证 role
|
||||
|
claims, err := ParseToken(token) |
||||
|
require.NoError(t, err) |
||||
|
assert.Equal(t, int64(1), claims.UserID) |
||||
|
assert.Equal(t, "testuser", claims.Username) |
||||
|
assert.Equal(t, "admin", claims.Role) |
||||
|
} |
||||
|
|
||||
|
func TestGenerateToken_SuperAdminRole(t *testing.T) { |
||||
|
token, err := GenerateToken(99, "admin", "super_admin") |
||||
|
require.NoError(t, err) |
||||
|
|
||||
|
claims, err := ParseToken(token) |
||||
|
require.NoError(t, err) |
||||
|
assert.Equal(t, "super_admin", claims.Role) |
||||
|
} |
||||
|
|
||||
|
func TestGenerateToken_EmptyRole(t *testing.T) { |
||||
|
token, err := GenerateToken(1, "user", "") |
||||
|
require.NoError(t, err) |
||||
|
|
||||
|
claims, err := ParseToken(token) |
||||
|
require.NoError(t, err) |
||||
|
assert.Equal(t, "", claims.Role) |
||||
|
} |
||||
Loading…
Reference in new issue