mock_service.go 1.4 KB

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