public IHttpActionResult Execute(HeyController controller) { string msg = $"heyRember request {_heyRemember} can't be binded to any method for an unknown reason"; _log.Error(msg); return(controller.ExposedBadRequest(msg)); }
public IHttpActionResult Execute(HeyController controller) { string msg = $"The requestd resource {_id} doesn't exist"; _log.Warn(msg); return(controller.ExposedNotFound()); }
public void TestPostCanFindTheMethodButHangFireIsNotRunning() { HeyRememberDto heyObj = new HeyRememberDto() { Domain = "Hey.Api.Rest.Tests", Name = "Test", DomainSpecificData = $"[{JsonConvert.SerializeObject(DateTime.Now)}, \"abc\"]" }; var scheduleTypeMock = new Mock <IScheduleType>(); scheduleTypeMock .Setup(type => type.Prototype()) .Returns(scheduleTypeMock.Object); scheduleTypeMock .Setup(type => type.Schedule(It.IsAny <HeyRememberDeferredExecution>())) .Throws <Exception>(); var scheduleTypeFactoryMock = new Mock <IJobRepository>(); scheduleTypeFactoryMock .Setup(factory => factory.MakeASchedulePrototype(It.IsAny <HeyRememberDto>())) .Returns(scheduleTypeMock.Object); var heyController = new HeyController(new HeyService(scheduleTypeFactoryMock.Object, new LogExceptionHandler())); var response = heyController.Post(heyObj); Assert.IsInstanceOf <ExceptionResult>(response); scheduleTypeMock.Verify(type => type.Schedule(It.IsAny <HeyRememberDeferredExecution>())); }
public IHttpActionResult Execute(HeyController controller) { string msg = $"Error on parameters. Ensure that DomainSpecific data are in a correct json form. This are yours: {_heyRemember.DomainSpecificData}. If they are, than have a look to the parameter number {ParamNum + 1}"; _log.Warn(msg); return(controller.ExposedBadRequest(msg)); }
public IHttpActionResult Execute(HeyController controller) { string msg = $"The resources {_id} have been deleted on user request"; _log.Info(msg); return(controller.ExposedOk()); }
public void SetUp() { _scheduleTypeMock = new Mock <IScheduleType>(); _scheduleTypeMock .Setup(type => type.Prototype()) .Returns(_scheduleTypeMock.Object); _scheduleTypeMock .Setup(type => type.Schedule(It.IsAny <HeyRememberDeferredExecution>())) .Returns("Mock"); _scheduleTypeFactoryMock = new Mock <IJobRepository>(); _scheduleTypeFactoryMock .Setup(factory => factory.MakeASchedulePrototype(It.IsAny <HeyRememberDto>())) .Returns(_scheduleTypeMock.Object); _heyController = new HeyController(new HeyService(_scheduleTypeFactoryMock.Object, new LogExceptionHandler())); }
public IHttpActionResult Execute(HeyController controller) { HeyRememberDeferredExecution deferredExecution = _methodBinder.CreateDeferredExecution(); HeyRememberDto heyRemember = deferredExecution.HeyRemember; try { string jobId = _scheduleType.Schedule(deferredExecution); string heyId = $"{heyRemember.Domain}/{(heyRemember.Type != string.Empty ? heyRemember.Type + "/" : string.Empty)}{heyRemember.Name}/{heyRemember.Id}/{jobId}"; _log.Info($"{heyRemember} scheduled on {heyId}"); var heyRememberReturn = new HeyRememberDto(heyRemember); heyRememberReturn.When[0] = new FindDatesFromHeyRemember(heyRememberReturn).Next(); return(_returnType.Return(heyId, heyRememberReturn, controller)); } catch (Exception ex) { _log.Error($"{heyRemember}: Error while trying to schedule job", ex); return(controller.ExposedInternalServerError(ex)); } }
public void TestThatWhenTheJobIsScheduledItIsReturnedTheCorrectHttpPath() { Mock <IMethodBinder> methodBinderMock = new Mock <IMethodBinder>(); methodBinderMock .Setup(binder => binder.CreateDeferredExecution()) .Returns(new HeyRememberDeferredExecution() { HeyRemember = _heyObj }); Mock <IScheduleType> scheduleTypeMock = new Mock <IScheduleType>(); scheduleTypeMock .Setup(type => type.Schedule(It.IsAny <HeyRememberDeferredExecution>())) .Returns("banana"); OkHeyResponse response = new OkHeyResponse(methodBinderMock.Object, scheduleTypeMock.Object, new CreatedHttpReturn()); var serviceMock = new Mock <IHeyService>(); serviceMock .Setup(service => service.Create(_heyObj, false)) .Returns(response); HeyController controller = new HeyController(serviceMock.Object) { Request = _httpRequestMessage, Configuration = _httpConfiguration }; IHttpActionResult result = controller.Post(_heyObj); Assert.IsInstanceOf <CreatedAtRouteNegotiatedContentResult <HeyRememberDto> >(result); var createdAtResult = result as CreatedAtRouteNegotiatedContentResult <HeyRememberDto>; Assert.AreEqual("DefaultApi", createdAtResult.RouteName); Assert.AreEqual("TestDomain/TestType/TestId/Default/banana", createdAtResult.RouteValues["id"]); }
public IHttpActionResult Execute(HeyController controller) { _log.Error($"{_heyRemember}: error processing this request"); return(controller.ExposedInternalServerError(_exception)); }
public IHttpActionResult Return(string heyId, HeyRememberDto heyRemember, HeyController controller) { return(controller.ExposedOk()); }
public IHttpActionResult Return(string heyId, HeyRememberDto heyRemember, HeyController controller) { return(controller.ExposedCreatedAtRoute("DefaultApi", new { id = heyId }, heyRemember)); }
public IHttpActionResult Execute(HeyController controller) { _log.Warn($"{_heyRemember}: method not found"); return(controller.ExposedBadRequest($"{_heyRemember.Name} not found in {_heyRemember.Domain}\\{_heyRemember.Type}")); }
public void SetUp() { _backgroundJobServer = HangfireConfig.StartHangfire("TestHeyDb"); GlobalJobFilters.Filters.Add(new AutomaticRetryAttribute { Attempts = 0 }); _repository = new HangfireJobRepository(); var heyService = new HeyService(_repository); _heyController = new HeyController(heyService); _scheduledId = "1"; _scheduledHeyRemember = new HeyRememberDto() { Domain = "Hey.Api.Rest.Tests", Name = "GetTests", Id = _scheduledId, DomainSpecificData = "[]", When = new[] { DateTime.Now + TimeSpan.FromMinutes(60) } }; _processingId = "2"; _processingHeyRemember = new HeyRememberDto() { Domain = "Hey.Api.Rest.Tests", Name = "GetTests", Id = _processingId, DomainSpecificData = "[]", When = new[] { DateTime.Now } }; _succededId = "3"; _succededHeyRemember = new HeyRememberDto() { Domain = "Hey.Api.Rest.Tests", Name = "GetSuccessTests", Id = _succededId, DomainSpecificData = "[]", When = new[] { DateTime.Now } }; _failedId = "3"; _failedHeyRemember = new HeyRememberDto() { Domain = "Hey.Api.Rest.Tests", Name = "FailTests", Id = _failedId, DomainSpecificData = "[]", When = new[] { DateTime.Now } }; _recurringId = "4"; _recurringHeyRemember = new HeyRememberDto() { Domain = "Hey.Api.Rest.Tests", Name = "RecurringTests", Id = _recurringId, DomainSpecificData = "[]", When = new[] { DateTime.Today }, CronExpression = "* * * * *", }; }