示例#1
0
        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);
        }
示例#2
0
        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());
        }
示例#3
0
        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));
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }