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