mock_service.go 1.2 KB

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