package admin_permission import ( "context" "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "gorm.io/gorm/schema" "sghgogs.com/sghblog/authorization-service/domain/repository" "sghgogs.com/sghblog/authorization-service/domain/service" pb "sghgogs.com/sghblog/authorization-service/proto" "testing" ) func TestPermission(t *testing.T) { address := fmt.Sprintf("%v:%v@(%v:%v)/%v?charset=utf8mb4,utf8&parseTime=True&loc=Local", "root", "xugang131500", "47.56.16.206", 3306, "sghblog") db, err := gorm.Open(mysql.Open(address), &gorm.Config{ Logger: logger.Default.LogMode(logger.Info), NamingStrategy: schema.NamingStrategy{ SingularTable: true, }}) if err != nil { t.Fatal(err) } // type AdminPermission struct { // ID int64 `gorm:"primary_key;not_null;auto_increment;" json:"id"` // Name string `json:"name"` // Description string `json:"description"` // Roles []AdminRole `gorm:"many2many:admin_role_permission;" json:"roles"` // CreatedAt time.Time `json:"created_at"` // CreatedBy string `json:"created_by"` // UpdatedAt *time.Time `json:"updated_at"` // UpdatedBy string `json:"updated_by"` // Status pb.StatusEnum `json:"status"` // 可以是 "enabled", "disabled", "deleted" 等 // IsReserved bool `json:"is_reserved"` // } repo := repository.NewRepository(db) newService := service.NewService(repo) // getAuthentication = &auth.Resource{ // Type: "user", // Name: name, // Endpoint: "AuthenticationService.GetAuthentication", // } // // catchallResource // rulesItems = []*auth.Rule{ // // {Scope: "*", Resource: catchallResource}, toggleAdminRole // {Scope: "admin", Resource: adminLogout, ID: uuid.New().String(), Priority: 1}, // authorizationservice t.Run("创建权限", func(t *testing.T) { err = newService.CreateAdminPermission(context.Background(), &pb.CreateAdminPermissionRequest{ Name: "authorizationservice", Description: "设置权限状态", Endpoint: "AdminPermissionService.ToggleAdminPermission", Status: pb.StatusEnum_ENABLED, }) fmt.Println(err) }) t.Run("角色分配权限", func(t *testing.T) { roles := []int64{2} err = newService.UpdateAdminPermission(context.Background(), &pb.UpdateAdminPermissionRequest{ PermissionId: 21, Status: pb.StatusEnum_ENABLED, Roles: roles, }) fmt.Println(err) }) t.Run("获取权限详情", func(t *testing.T) { permission, err2 := newService.GetAdminPermission(&pb.GetAdminPermissionRequest{ Id: 1, }) fmt.Println(fmt.Sprintf("%+v", permission)) fmt.Println(err2) }) t.Run("获取权限列表", func(t *testing.T) { all, err2 := newService.GetAdminPermissionAll() fmt.Println(err2) for _, item := range all { fmt.Println(fmt.Sprintf("%+v \n", item)) } }) }