public async Task PatchRegionHttpTrigger_ReturnsStatusCodeBadRequest_WhenMissingBody() { // arrange const string path = ValidPathValue + "_Patch"; const PageRegions pageRegion = PageRegions.Body; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.BadRequest; var responseModel = new Regions.Models.Region() { DocumentId = Guid.NewGuid(), Path = "a-path", PageRegion = PageRegions.Body, RegionEndpoint = ValidEndpointValueWithPlaceHolder, }; _httpRequestHelper.GetResourceFromRequest <JsonPatchDocument <Region> >(_request).Returns(Task.FromResult(default(JsonPatchDocument <Region>)).Result); _regionService.GetAsync(Arg.Any <string>(), Arg.Any <PageRegions>()).Returns(Task.FromResult(responseModel).Result); _regionService.ReplaceAsync(Arg.Any <Regions.Models.Region>()).Returns(Task.FromResult(responseModel).Result); _httpResponseMessageHelper.BadRequest().Returns(x => new HttpResponseMessage(expectedHttpStatusCode)); // act var result = await RunFunctionAsync(path, (int)pageRegion); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
public async Task PutRegionHttpTrigger_ReturnsStatusCodeBadRequest_WhenBadPathUrlInBody() { // arrange const string path = ValidPathValue + "_Put"; const PageRegions pageRegion = PageRegions.Body; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.BadRequest; var responseModel = new Regions.Models.Region() { DocumentId = Guid.NewGuid(), Path = NullPathValue, PageRegion = pageRegion, RegionEndpoint = ValidEndpointValue }; _httpRequestHelper.GetResourceFromRequest <Regions.Models.Region>(_request).Returns(Task.FromResult(responseModel).Result); _regionService.ReplaceAsync(Arg.Any <Regions.Models.Region>()).Returns(Task.FromResult(responseModel).Result); _httpResponseMessageHelper.BadRequest().Returns(x => new HttpResponseMessage(expectedHttpStatusCode)); // act var result = await RunFunctionAsync(path, (int)pageRegion); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
private async Task <HttpResponseMessage> RunFunctionAsync(string path, Regions.Models.Region regionModel) { var request = serviceProvider.GetService <DefaultHttpRequest>(); var log = serviceProvider.GetService <ILogger>(); var loggerHelper = serviceProvider.GetService <ILoggerHelper>(); var httpRequestHelper = serviceProvider.GetService <IHttpRequestHelper>(); var httpResponseMessageHelper = serviceProvider.GetService <IHttpResponseMessageHelper>(); var jsonHelper = serviceProvider.GetService <IJsonHelper>(); var regionService = serviceProvider.GetService <Services.IRegionService>(); request.Body = MemoryStreamFromObject(regionModel); var response = await DFC.Composite.Regions.Functions.PostRegionHttpTrigger.Run( request, log, path, loggerHelper, httpRequestHelper, httpResponseMessageHelper, jsonHelper, regionService ).ConfigureAwait(false); return(response); }
public async Task PutRegionHttpTrigger_ReturnsStatusCodeOk_ForUpdatedRegion_WithPlaceHolder() { // arrange const string path = ValidPathValue + "_Put"; const PageRegions pageRegion = PageRegions.Body; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.OK; var responseModel = new Regions.Models.Region() { DocumentId = Guid.NewGuid(), Path = path, PageRegion = pageRegion, RegionEndpoint = ValidEndpointValueWithPlaceHolder, OfflineHtml = ValidHtmlFragment }; _httpRequestHelper.GetResourceFromRequest <Regions.Models.Region>(_request).Returns(Task.FromResult(responseModel).Result); _regionService.ReplaceAsync(Arg.Any <Regions.Models.Region>()).Returns(Task.FromResult(responseModel).Result); _httpResponseMessageHelper.Ok(Arg.Any <string>()).Returns(x => new HttpResponseMessage(expectedHttpStatusCode)); // act var result = await RunFunctionAsync(path, (int)pageRegion); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
public async Task PutRegionHttpTrigger_ReturnsStatusCodeBadRequest_WhenPageRegionDoesNotMatchRoute() { // arrange const string path = ValidPathValue + "_Put"; const PageRegions pageRegion = PageRegions.Body; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.BadRequest; var responseModel = new Regions.Models.Region() { DocumentId = Guid.NewGuid(), Path = path, PageRegion = PageRegions.SidebarRight, RegionEndpoint = ValidEndpointValue, OfflineHtml = ValidHtmlFragment }; _httpRequestHelper.GetResourceFromRequest <Regions.Models.Region>(_request).Returns(Task.FromResult(responseModel).Result); _httpResponseMessageHelper.BadRequest().Returns(x => new HttpResponseMessage(expectedHttpStatusCode)); // act var result = await RunFunctionAsync(path, (int)pageRegion); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
public async Task PostRegionHttpTrigger_ReturnsStatusCodeBadRequest_WhenMalformedHtml() { // arrange const string path = ValidPathValue + "_Post"; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.BadRequest; var responseModel = new Regions.Models.Region() { Path = path, PageRegion = PageRegions.Body, RegionEndpoint = ValidEndpointValue, OfflineHtml = MalformedHtmlFragment }; _httpRequestHelper.GetResourceFromRequest <Regions.Models.Region>(_request).Returns(Task.FromResult(responseModel).Result); _regionService.CreateAsync(Arg.Any <Regions.Models.Region>()).Returns(Task.FromResult(responseModel).Result); _httpResponseMessageHelper.BadRequest().Returns(x => new HttpResponseMessage(expectedHttpStatusCode)); // act var result = await RunFunctionAsync(path); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
public async Task PutRegionHttpTrigger_ReturnsStatusCodeOk_ForUpdatedRegion_WithPlaceHolder() { // arrange const string path = ValidPathValue + "_Put"; const PageRegions pageRegion = PageRegions.Body; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.OK; var regionModel = new Regions.Models.Region() { DocumentId = Guid.NewGuid(), Path = path, PageRegion = pageRegion, RegionEndpoint = ValidEndpointValueWithPlaceHolder, OfflineHtml = ValidHtmlFragment }; var regionService = serviceProvider.GetService <Services.IRegionService>(); regionModel = await regionService.CreateAsync(regionModel); // act var result = await RunFunctionAsync(path, (int)pageRegion, regionModel); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
public async Task GetRegionHttpTrigger_ReturnsStatusCodeOk_WhenRegionExists() { // arrange const string path = ValidPathValue + "_Get"; const PageRegions pageRegion = PageRegions.Body; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.OK; var responseModel = new Regions.Models.Region(); _regionService.GetAsync(Arg.Any <string>(), Arg.Any <PageRegions>()).Returns(Task.FromResult(responseModel).Result); _httpResponseMessageHelper.Ok(Arg.Any <string>()).Returns(x => new HttpResponseMessage(expectedHttpStatusCode)); // act var result = await RunFunctionAsync(path, (int)pageRegion); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
public async Task PostRegionHttpTrigger_ReturnsStatusCodeBadRequest_WhenPathIsInvalid() { // arrange const string path = InvalidPathValue; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.BadRequest; var regionModel = new Regions.Models.Region() { Path = path, PageRegion = PageRegions.Body, RegionEndpoint = ValidEndpointValue, OfflineHtml = ValidHtmlFragment }; // act var result = await RunFunctionAsync(path, regionModel); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
public async Task PostRegionHttpTrigger_ReturnsStatusCodeOk_ForNewRegionWithPlaceHolder() { // arrange const string path = ValidPathValue + "_Post_WithPlaceHolder"; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.OK; var regionModel = new Regions.Models.Region() { Path = path, PageRegion = PageRegions.Body, RegionEndpoint = ValidEndpointValueWithPlaceHolder, OfflineHtml = ValidHtmlFragment }; // act var result = await RunFunctionAsync(path, regionModel); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
public async Task PutRegionHttpTrigger_ReturnsStatusCodeBadRequest_WhenMalformedHtml() { // arrange const string path = ValidPathValue + "_Put"; const PageRegions pageRegion = PageRegions.Body; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.BadRequest; var regionModel = new Regions.Models.Region() { DocumentId = Guid.NewGuid(), Path = path, PageRegion = pageRegion, RegionEndpoint = ValidEndpointValue, OfflineHtml = MalformedHtmlFragment }; // act var result = await RunFunctionAsync(path, (int)pageRegion, regionModel); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }
public async Task PostRegionHttpTrigger_ReturnsStatusCodeBadRequest_WhenPageRegionIsInvalid() { // arrange const string path = ValidPathValue + "_Post"; const HttpStatusCode expectedHttpStatusCode = HttpStatusCode.BadRequest; var responseModel = new Regions.Models.Region() { Path = path, PageRegion = (PageRegions)(-1), RegionEndpoint = ValidEndpointValue }; _httpRequestHelper.GetResourceFromRequest <Regions.Models.Region>(_request).Returns(Task.FromResult(responseModel).Result); _httpResponseMessageHelper.BadRequest().Returns(x => new HttpResponseMessage(expectedHttpStatusCode)); // act var result = await RunFunctionAsync(path); // assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual(expectedHttpStatusCode, result.StatusCode); }