123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- package admin_role
- import (
- "context"
- "fmt"
- "golang.org/x/crypto/bcrypt"
- "gorm.io/driver/mysql"
- "gorm.io/gorm"
- "gorm.io/gorm/logger"
- "gorm.io/gorm/schema"
- req "sghgogs.com/sghblog/authorization-service/domain/model/request"
- "sghgogs.com/sghblog/authorization-service/domain/repository"
- "sghgogs.com/sghblog/authorization-service/domain/service"
- pb "sghgogs.com/sghblog/authorization-service/proto"
- "testing"
- )
- // hashPassword 使用 bcrypt 对密码进行哈希
- func hashPassword(password string) (string, error) {
- hash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
- if err != nil {
- return "", err
- }
- return string(hash), nil
- }
- func TestAdminLogin(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)
- }
- repo := repository.NewRepository(db)
- newService := service.NewService(repo)
- t.Run("创建角色", func(t *testing.T) {
- roleRequest := &pb.CreateAdminRoleRequest{
- Name: "admin",
- Description: "管理员",
- }
- err = newService.CreateAdminRole(context.Background(), roleRequest)
- fmt.Println(err)
- fmt.Println(roleRequest)
- })
- t.Run("测试创建", func(t *testing.T) {
- // role := req.AdminRole{
- // Name: "12sdfa3",
- // Description: "12312312",
- // CreatedBy: "asdf",
- // CreatedAt: time.Time{},
- // UpdatedAt: nil,
- // Status: pb.StatusEnum_DELETED,
- // IsReserved: false,
- // }
- // db.Model(req.AdminRole{}).Create(&role)
- var res req.AdminRole
- db.Where("name = ?", "12sdfa3").Model(res)
- fmt.Println("res", res.Status == pb.StatusEnum_DELETED)
- fmt.Println("res", res.Status == pb.StatusEnum_ENABLED)
- fmt.Println("res", res.Status == pb.StatusEnum_DISABLED)
- // ids := []int64{1, 2, 3, 4, 5, 6, 7}
- // err2 := db.Model(req.AdminRole{}).Where("id IN ?", ids).Updates(map[string]interface{}{
- // "status": pb.StatusEnum_ENABLED,
- // }).Error
- // fmt.Println(err2)
- // err2 := newService.ToggleAdminRole(context.Background(), 1, pb.StatusEnum_ENABLED)
- // fmt.Println(err2)
- })
- t.Run("查询角色列表", func(t *testing.T) {
- rolesRequest := &pb.ListAdminRolesRequest{
- Page: 1,
- PageSize: 10,
- }
- roles, i, err2 := newService.ListAdminRoles(rolesRequest)
- for _, item := range roles {
- fmt.Println("item", item)
- }
- fmt.Println(i)
- fmt.Println(err2)
- })
- t.Run("获取所有启用的角色", func(t *testing.T) {
- roles, err2 := newService.RetrieveEnabledRoles()
- fmt.Println(err2)
- fmt.Println(roles)
- })
- t.Run("获取详情", func(t *testing.T) {
- role, err2 := newService.GetAdminRole(1)
- fmt.Println(err2)
- fmt.Println(role)
- // fmt.Println(role)
- })
- t.Run("授权角色", func(t *testing.T) {
- users := []int64{1}
- // var permissions []int64
- err2 := newService.UpdateAdminRole(&pb.UpdateAdminRoleRequest{
- RoleId: 1,
- Users: users,
- })
- fmt.Println(err2)
- })
- // user, err := repo.AdminLogin(loginRequest)
- // 断言期望的结果
- // assert.NoError(t, err)
- // assert.NotNil(t, user)
- // assert.Equal(t, loginRequest.Username, user.Username)
- }
|