mock_service.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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() {}
  41. // Ctx -- возвращает контекст приложения
  42. func (sf *MockService) Ctx() context.Context {
  43. return sf.ctx
  44. }
  45. // CancelApp -- отменяет контекст приложения
  46. func (sf *MockService) CancelApp() {
  47. sf.fnCancel()
  48. }