mock_service.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // package mock_service -- мок-сервис для тестирования
  2. package mock_service
  3. import (
  4. "context"
  5. "sync"
  6. "git.p78su.freemyip.com/svi/gostore/pkg/types"
  7. )
  8. // MockService -- мок-сервис для тестирования
  9. type MockService struct {
  10. fnCancel func()
  11. ctx context.Context
  12. ServHttp_ types.IServHttp
  13. Store_ types.IStore
  14. Wg_ *sync.WaitGroup
  15. }
  16. // NewMockService -- возвращает новый мок-сервис
  17. func NewMockService() *MockService {
  18. ctxBg := context.Background()
  19. ctx, fnCancel := context.WithCancel(ctxBg)
  20. sf := &MockService{
  21. ctx: ctx,
  22. fnCancel: fnCancel,
  23. Wg_: &sync.WaitGroup{},
  24. }
  25. return sf
  26. }
  27. // Wg -- возвращает ожидатель группы потоков
  28. func (sf *MockService) Wg() *sync.WaitGroup {
  29. return sf.Wg_
  30. }
  31. // Store -- возвращает хранилище
  32. func (sf *MockService) Store() types.IStore {
  33. return sf.Store_
  34. }
  35. // ServHttp -- возвращает HTTP-сервис
  36. func (sf *MockService) ServHttp() types.IServHttp {
  37. return sf.ServHttp_
  38. }
  39. // Run -- запускает сервис в работу
  40. func (sf *MockService) Run() error {
  41. return nil
  42. }
  43. // Ctx -- возвращает контекст приложения
  44. func (sf *MockService) Ctx() context.Context {
  45. return sf.ctx
  46. }
  47. // CancelApp -- отменяет контекст приложения
  48. func (sf *MockService) CancelApp() {
  49. sf.fnCancel()
  50. }