public void ShouldReturnNotFoundWhenInvalidURL() { var dataAccessMock = new Mock <IDataAccessService>(); dataAccessMock.Setup(x => x.ReadFile(It.IsAny <String>())).Throws(new FileNotFoundException()); HttpContext defaultContext = new DefaultHttpContext(); var contextAccessorMock = new Mock <IHttpContextAccessor>(); contextAccessorMock.Setup(x => x.HttpContext).Returns(defaultContext); var hostEnvMock = new Mock <IHostingEnvironment>(); hostEnvMock.Setup(x => x.ContentRootPath).Returns("some/dir"); StubDataController controller = new StubDataController(dataAccessMock.Object, contextAccessorMock.Object, hostEnvMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = defaultContext; var result = controller.Get(); Assert.IsType <NotFoundResult>(result); var actualResult = (NotFoundResult)result; Assert.Equal(404, actualResult.StatusCode); }
public void ShouldContainCorrectData() { string filePath = "/some-controller/someaction/chk1000.json"; var dataAccessMock = new Mock <IDataAccessService>(); string fakeData = "{\r\n \"name\": \"jabed\"\r\n}"; dataAccessMock.Setup(x => x.ReadFile(filePath)).Returns(fakeData); HttpContext defaultContext = new DefaultHttpContext(); var contextAccessorMock = new Mock <IHttpContextAccessor>(); contextAccessorMock.Setup(x => x.HttpContext).Returns(defaultContext); var hostEnvMock = new Mock <IHostingEnvironment>(); hostEnvMock.Setup(x => x.ContentRootPath).Returns("some/dir"); StubDataController controller = new StubDataController(dataAccessMock.Object, contextAccessorMock.Object, hostEnvMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = defaultContext; string urlPath = "/some-controller/someaction/chk1000"; controller.HttpContext.Request.Path = urlPath; var result = controller.Get(); Assert.IsType <OkObjectResult>(result); var actualData = (OkObjectResult)result; Assert.Equal(fakeData, actualData.Value.ToString()); }
public void ThrowExceptionAtBadURL() { var dataAccessMock = new Mock <IDataAccessService>(); dataAccessMock.Setup(x => x.ReadFile(It.IsAny <string>())).Throws <FileNotFoundException>(); HttpContext defaultContext = new DefaultHttpContext(); var contextAccessorMock = new Mock <IHttpContextAccessor>(); contextAccessorMock.Setup(x => x.HttpContext).Returns(defaultContext); var hostEnvMock = new Mock <IHostingEnvironment>(); hostEnvMock.Setup(x => x.ContentRootPath).Returns("some/dir"); StubDataController controller = new StubDataController(dataAccessMock.Object, contextAccessorMock.Object, hostEnvMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = defaultContext; string urlPath = ""; controller.HttpContext.Request.Path = urlPath; Assert.Throws <BadUrlFormatException>(() => ContextHelper.GetData(controller.HttpContext)); }
public void ShouldContainCorrectHeaders() { var dataAccessMock = new Mock <IDataAccessService>(); dataAccessMock.Setup(x => x.ReadFile(It.IsAny <string>())).Returns("{ 'name': 'jabed' }"); string urlPath = "/some-controller/someaction/chk1000"; HttpContext defaultContext = new DefaultHttpContext(); defaultContext.Request.Path = urlPath; var contextAccessorMock = new Mock <IHttpContextAccessor>(); contextAccessorMock.Setup(x => x.HttpContext).Returns(defaultContext); var hostEnvMock = new Mock <IHostingEnvironment>(); hostEnvMock.Setup(x => x.ContentRootPath).Returns("some/dir"); StubDataController controller = new StubDataController(dataAccessMock.Object, contextAccessorMock.Object, hostEnvMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = defaultContext; controller.HttpContext.Request.Path = urlPath; var result = controller.Get(); Assert.IsType <OkObjectResult>(result); var objResult = (OkObjectResult)result; Assert.Equal(200, objResult.StatusCode.Value); }
public void GetDirectoryAndFilesFromValidURLWithoutQueryString() { var dataAccessMock = new Mock <IDataAccessService>(); dataAccessMock.Setup(x => x.ReadFile(It.IsAny <string>())).Returns("expectedData"); HttpContext defaultContext = new DefaultHttpContext(); var contextAccessorMock = new Mock <IHttpContextAccessor>(); contextAccessorMock.Setup(x => x.HttpContext).Returns(defaultContext); var hostEnvMock = new Mock <IHostingEnvironment>(); hostEnvMock.Setup(x => x.ContentRootPath).Returns("some/dir"); StubDataController controller = new StubDataController(dataAccessMock.Object, contextAccessorMock.Object, hostEnvMock.Object); controller.ControllerContext = new ControllerContext(); controller.ControllerContext.HttpContext = defaultContext; string urlPath = "/some-controller/someaction/chk1000"; controller.HttpContext.Request.Path = urlPath; URLData urlData = ContextHelper.GetData(controller.HttpContext); Assert.Equal("/some-controller/someaction", urlData.Directory); Assert.Equal("/some-controller/someaction/chk1000.json", urlData.Path); Assert.Equal("chk1000.json", urlData.FileName); }