mirror of https://github.com/goharbor/harbor.git
69 lines
1.2 KiB
Go
69 lines
1.2 KiB
Go
package token
|
|
|
|
import (
|
|
"github.com/goharbor/harbor/src/common/rbac"
|
|
"github.com/stretchr/testify/assert"
|
|
"testing"
|
|
)
|
|
|
|
func TestValid(t *testing.T) {
|
|
|
|
rbacPolicy := &rbac.Policy{
|
|
Resource: "/project/libray/repository",
|
|
Action: "pull",
|
|
}
|
|
policies := []*rbac.Policy{}
|
|
policies = append(policies, rbacPolicy)
|
|
|
|
rClaims := &RobotClaims{
|
|
TokenID: 1,
|
|
ProjectID: 2,
|
|
Policy: policies,
|
|
}
|
|
assert.Nil(t, rClaims.Valid())
|
|
}
|
|
|
|
func TestUnValidTokenID(t *testing.T) {
|
|
|
|
rbacPolicy := &rbac.Policy{
|
|
Resource: "/project/libray/repository",
|
|
Action: "pull",
|
|
}
|
|
policies := []*rbac.Policy{}
|
|
policies = append(policies, rbacPolicy)
|
|
|
|
rClaims := &RobotClaims{
|
|
TokenID: -1,
|
|
ProjectID: 2,
|
|
Policy: policies,
|
|
}
|
|
assert.NotNil(t, rClaims.Valid())
|
|
}
|
|
|
|
func TestUnValidProjectID(t *testing.T) {
|
|
|
|
rbacPolicy := &rbac.Policy{
|
|
Resource: "/project/libray/repository",
|
|
Action: "pull",
|
|
}
|
|
policies := []*rbac.Policy{}
|
|
policies = append(policies, rbacPolicy)
|
|
|
|
rClaims := &RobotClaims{
|
|
TokenID: 1,
|
|
ProjectID: -2,
|
|
Policy: policies,
|
|
}
|
|
assert.NotNil(t, rClaims.Valid())
|
|
}
|
|
|
|
func TestUnValidPolicy(t *testing.T) {
|
|
|
|
rClaims := &RobotClaims{
|
|
TokenID: 1,
|
|
ProjectID: 2,
|
|
Policy: nil,
|
|
}
|
|
assert.NotNil(t, rClaims.Valid())
|
|
}
|