package mock import ( "context" "time" "gitea.pena/PenaSide/treasurer/internal/errors" svc_mock "gitea.pena/PenaSide/treasurer/internal/service/mock" "go.uber.org/zap" ) type WorkerDeps struct { Logger *zap.Logger MockService *svc_mock.Service } type Worker struct { logger *zap.Logger mockService *svc_mock.Service } func New(deps WorkerDeps) (*Worker, errors.Error) { if deps.Logger == nil { return nil, errors.NewWithMessage("logger is nil on ", errors.ErrInvalidArgs) } if deps.MockService == nil { return nil, errors.NewWithMessage("MockService urls is nil on ", errors.ErrInvalidArgs) } return &Worker{ logger: deps.Logger, mockService: deps.MockService, }, nil } func (w *Worker) Run(ctx context.Context) { after := time.After(10 * time.Second) select { case <-ctx.Done(): w.logger.Info("register mocks operations canceled ") return case <-after: w.logger.Info("register yoomoney mocks ") isSuccess := w.mockService.Register() if isSuccess { w.logger.Info("register yoomoney mocks complete ") } if !isSuccess { w.logger.Info("register yoomoney mocks failure ") } } }