helper.go 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. Redis: rds,
  64. UserDetailsLoader: loaders.NewUserDetailsLoader(rds, cfg.CacheRedis.KeyPrefix, models),
  65. }
  66. }