package mocks import ( "perms-system-server/internal/loaders" "perms-system-server/internal/model" "perms-system-server/internal/model/dept" "perms-system-server/internal/model/perm" "perms-system-server/internal/model/product" "perms-system-server/internal/model/productmember" "perms-system-server/internal/model/role" "perms-system-server/internal/model/roleperm" "perms-system-server/internal/model/user" "perms-system-server/internal/model/userperm" "perms-system-server/internal/model/userrole" "perms-system-server/internal/svc" "perms-system-server/internal/testutil" "github.com/zeromicro/go-zero/core/stores/redis" ) type MockModels struct { User user.SysUserModel Product product.SysProductModel Perm perm.SysPermModel Dept dept.SysDeptModel Role role.SysRoleModel RolePerm roleperm.SysRolePermModel UserPerm userperm.SysUserPermModel UserRole userrole.SysUserRoleModel ProductMember productmember.SysProductMemberModel } func NewMockServiceContext(m MockModels) *svc.ServiceContext { cfg := testutil.GetTestConfig() models := &model.Models{} if m.User != nil { models.SysUserModel = m.User } if m.Product != nil { models.SysProductModel = m.Product } if m.Perm != nil { models.SysPermModel = m.Perm } if m.Dept != nil { models.SysDeptModel = m.Dept } if m.Role != nil { models.SysRoleModel = m.Role } if m.RolePerm != nil { models.SysRolePermModel = m.RolePerm } if m.UserPerm != nil { models.SysUserPermModel = m.UserPerm } if m.UserRole != nil { models.SysUserRoleModel = m.UserRole } if m.ProductMember != nil { models.SysProductMemberModel = m.ProductMember } rds := redis.MustNewRedis(cfg.CacheRedis.Nodes[0].RedisConf) return &svc.ServiceContext{ Config: cfg, Models: models, Redis: rds, UserDetailsLoader: loaders.NewUserDetailsLoader(rds, cfg.CacheRedis.KeyPrefix, models), } }