helper.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package mocks
  2. import (
  3. "perms-system-server/internal/loaders"
  4. "perms-system-server/internal/model"
  5. "perms-system-server/internal/model/dept"
  6. "perms-system-server/internal/model/perm"
  7. "perms-system-server/internal/model/product"
  8. "perms-system-server/internal/model/productmember"
  9. "perms-system-server/internal/model/role"
  10. "perms-system-server/internal/model/roleperm"
  11. "perms-system-server/internal/model/user"
  12. "perms-system-server/internal/model/userperm"
  13. "perms-system-server/internal/model/userrole"
  14. "perms-system-server/internal/svc"
  15. "perms-system-server/internal/testutil"
  16. "github.com/zeromicro/go-zero/core/stores/redis"
  17. )
  18. type MockModels struct {
  19. User user.SysUserModel
  20. Product product.SysProductModel
  21. Perm perm.SysPermModel
  22. Dept dept.SysDeptModel
  23. Role role.SysRoleModel
  24. RolePerm roleperm.SysRolePermModel
  25. UserPerm userperm.SysUserPermModel
  26. UserRole userrole.SysUserRoleModel
  27. ProductMember productmember.SysProductMemberModel
  28. }
  29. func NewMockServiceContext(m MockModels) *svc.ServiceContext {
  30. cfg := testutil.GetTestConfig()
  31. models := &model.Models{}
  32. if m.User != nil {
  33. models.SysUserModel = m.User
  34. }
  35. if m.Product != nil {
  36. models.SysProductModel = m.Product
  37. }
  38. if m.Perm != nil {
  39. models.SysPermModel = m.Perm
  40. }
  41. if m.Dept != nil {
  42. models.SysDeptModel = m.Dept
  43. }
  44. if m.Role != nil {
  45. models.SysRoleModel = m.Role
  46. }
  47. if m.RolePerm != nil {
  48. models.SysRolePermModel = m.RolePerm
  49. }
  50. if m.UserPerm != nil {
  51. models.SysUserPermModel = m.UserPerm
  52. }
  53. if m.UserRole != nil {
  54. models.SysUserRoleModel = m.UserRole
  55. }
  56. if m.ProductMember != nil {
  57. models.SysProductMemberModel = m.ProductMember
  58. }
  59. rds := redis.MustNewRedis(cfg.CacheRedis.Nodes[0].RedisConf)
  60. return &svc.ServiceContext{
  61. Config: cfg,
  62. Models: models,
  63. UserDetailsLoader: loaders.NewUserDetailsLoader(rds, cfg.CacheRedis.KeyPrefix, models),
  64. }
  65. }