mirror of
				https://github.com/weloe/token-go.git
				synced 2025-10-31 10:56:31 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package token_go
 | |
| 
 | |
| import (
 | |
| 	"github.com/weloe/token-go/model"
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| type MockRbacAuth struct {
 | |
| }
 | |
| 
 | |
| func (m *MockRbacAuth) GetRole(id string) []string {
 | |
| 	var arr = make([]string, 2)
 | |
| 	arr[1] = "user"
 | |
| 	return arr
 | |
| }
 | |
| 
 | |
| type MockAclAuth struct {
 | |
| }
 | |
| 
 | |
| func (m *MockAclAuth) GetPermission(id string) []string {
 | |
| 	var arr = make([]string, 2)
 | |
| 	arr[1] = "user::get"
 | |
| 	return arr
 | |
| }
 | |
| 
 | |
| func TestEnforcer_GetRole(t *testing.T) {
 | |
| 	enforcer, ctx := NewTestEnforcer(t)
 | |
| 	var err error
 | |
| 	m := &MockRbacAuth{}
 | |
| 	enforcer.SetAuth(m)
 | |
| 	loginModel := model.DefaultLoginModel()
 | |
| 	loginModel.Token = "233"
 | |
| 	_, err = enforcer.LoginByModel("id", loginModel, ctx)
 | |
| 	if err != nil {
 | |
| 		t.Errorf("Login() failed: %v", err)
 | |
| 	}
 | |
| 
 | |
| 	err = enforcer.CheckRole(ctx, "user")
 | |
| 	if err != nil {
 | |
| 		t.Errorf("CheckRole() failed: %v", err)
 | |
| 	}
 | |
| 
 | |
| 	err = enforcer.CheckPermission(ctx, "user::get")
 | |
| 	if err == nil {
 | |
| 		t.Errorf("CheckRole() failed")
 | |
| 	}
 | |
| 	t.Logf("CheckPermission() return %v", err)
 | |
| }
 | |
| 
 | |
| func TestEnforcer_CheckPermission(t *testing.T) {
 | |
| 	enforcer, ctx := NewTestEnforcer(t)
 | |
| 	var err error
 | |
| 	if err != nil {
 | |
| 		t.Errorf("NewTestEnforcer() failed: %v", err)
 | |
| 	}
 | |
| 	m := &MockAclAuth{}
 | |
| 	enforcer.SetAuth(m)
 | |
| 	loginModel := model.DefaultLoginModel()
 | |
| 	loginModel.Token = "233"
 | |
| 	_, err = enforcer.LoginByModel("id", loginModel, ctx)
 | |
| 	if err != nil {
 | |
| 		t.Errorf("Login() failed: %v", err)
 | |
| 	}
 | |
| 
 | |
| 	err = enforcer.CheckRole(ctx, "user")
 | |
| 	if err == nil {
 | |
| 		t.Errorf("CheckRole() failed")
 | |
| 	}
 | |
| 	t.Logf("CheckRole() return %v", err)
 | |
| 
 | |
| 	err = enforcer.CheckPermission(ctx, "user::get")
 | |
| 	if err != nil {
 | |
| 		t.Errorf("CheckRole() failed: %v", err)
 | |
| 	}
 | |
| }
 | 
