public void Test_Dynamic_Module_Filter_Admin_User()
        {
            // Arrange
            var request = new Mock<HttpRequestBase>();
            request.Setup(r => r.HttpMethod).Returns("GET");
            request.SetupGet(r => r.Url).Returns(new Uri("http://localhost/uac/dyn/0/The-test-module-0"));

            var httpContext = new Mock<HttpContextBase>();
            httpContext.Setup(c => c.Request).Returns(request.Object);

            var routeData = new RouteData(); //
            routeData.Values.Add("moduleid", "0");

            var fakeRepo = new FakeModuleRepository();
            var fakeMembership = new FakeModuleMembership("Fake Admin", "*****@*****.**");
            FakeModuleMembership.FakeUserId = Guid.NewGuid();   // change the user id for one that is not authorized
            var controller = new DynamicModuleController(fakeRepo, fakeMembership);

            var filterContext = new Mock<ActionExecutingContext>();
            filterContext.SetupGet(c => c.HttpContext).Returns(httpContext.Object);
            filterContext.SetupGet(c => c.RouteData).Returns(routeData);
            filterContext.SetupGet(c => c.ActionParameters).Returns(new Dictionary<string, object>());
            filterContext.Setup(c => c.Controller).Returns(controller);

            var attrib = new DynamicModuleActionAttribute() { CheckLogin = true };

            // Act
            attrib.OnActionExecuting(filterContext.Object);

            // Assert
            Assert.IsNotNull(filterContext.Object.ActionParameters["module"]);
            Assert.IsInstanceOfType(filterContext.Object.ActionParameters["module"], typeof(Module));
        }
        public void Test_Dynamic_Module_Filter()
        {
            // Arrange
            var request = new Mock<HttpRequestBase>();
            request.Setup(r => r.HttpMethod).Returns("GET");
            request.SetupGet(r => r.Url).Returns(new Uri("http://localhost/uac/dyn/0/The-test=module-0"));

            var httpContext = new Mock<HttpContextBase>();
            httpContext.Setup(c => c.Request).Returns(request.Object);

            var routeData = new RouteData(); //
            routeData.Values.Add("moduleid", "0");

            var fakeRepo = new FakeModuleRepository();
            var fakeMembership = new FakeModuleMembership();
            var controller = new DynamicModuleController(fakeRepo, fakeMembership);

            var filterContext = new Mock<ActionExecutingContext>();
            filterContext.SetupGet(c => c.HttpContext).Returns(httpContext.Object);
            filterContext.SetupGet(c => c.RouteData).Returns(routeData);
            filterContext.SetupGet(c => c.ActionParameters).Returns(new Dictionary<string, object>());
            filterContext.Setup(c => c.Controller).Returns(controller);

            var attrib = new DynamicModuleActionAttribute();

            // Act
            attrib.OnActionExecuting(filterContext.Object);

            // Assert
            Assert.IsNotNull(filterContext.Object.ActionParameters["module"]);
            Assert.IsInstanceOfType(filterContext.Object.ActionParameters["module"], typeof(Module));
        }
Esempio n. 3
0
        public void TestQueryByColumn()
        {
            var repo = new FakeModuleRepository();
            var controller = new DynamicModuleController(repo, new FakeModuleMembership());
            var request = new Mock<HttpRequestBase>();
            var context = new Mock<HttpContextBase>();
            var queryString = new NameValueCollection();

            queryString.Add("TestField0", "Some data 7");
            request.SetupGet(x => x.QueryString).Returns(queryString);
            context.SetupGet(x => x.Request).Returns(request.Object);
            controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller);

            var module = repo.AllModules.FirstOrDefault();
            var actionresult = controller.Query(module.Id, module.ModuleName, null);
            var filter = new ApiEndPointAttribute();
            var filterContext = new ActionExecutedContext { Result = actionresult };

            filter.OnActionExecuted(filterContext);

            Assert.IsNotNull(filterContext.Result);
            Assert.IsInstanceOfType(filterContext.Result, typeof(ContentResult));

            var xmlResult = filterContext.Result as ContentResult;

            Assert.AreEqual("text/xml", xmlResult.ContentType);
            Assert.IsFalse(String.IsNullOrWhiteSpace(xmlResult.Content));
            XDocument.Parse(xmlResult.Content);

            Assert.AreEqual(
                "<The-test-module-0>\r\n  <ModuleId>0</ModuleId>\r\n  <The-test-module-0>\r\n    <ID>393</ID>\r\n    <TestField0>Some data 7</TestField0>\r\n  </The-test-module-0>\r\n</The-test-module-0>",
                xmlResult.Content);
        }
        public void Test_Dynamic_Module_Filter_Unauthorized_User()
        {
            // Arrange
            var request = new Mock<HttpRequestBase>();
            request.Setup(r => r.HttpMethod).Returns("GET");
            request.SetupGet(r => r.Url).Returns(new Uri("http://localhost/uac/dyn/0/The-test-module-0"));

            var httpContext = new Mock<HttpContextBase>();
            httpContext.Setup(c => c.Request).Returns(request.Object);

            var routeData = new RouteData(); //
            routeData.Values.Add("moduleid", "0");

            var fakeRepo = new FakeModuleRepository();
            var fakeMembership = new FakeModuleMembership("Fulano de Tal", "*****@*****.**");
            FakeModuleMembership.FakeUserId = Guid.NewGuid();   // change the user id for one that is not authorized
            var controller = new DynamicModuleController(fakeRepo, fakeMembership);

            var filterContext = new Mock<ActionExecutingContext>();
            filterContext.SetupGet(c => c.HttpContext).Returns(httpContext.Object);
            filterContext.SetupGet(c => c.RouteData).Returns(routeData);
            filterContext.SetupGet(c => c.ActionParameters).Returns(new Dictionary<string, object>());
            filterContext.Setup(c => c.Controller).Returns(controller);

            var attrib = new DynamicModuleActionAttribute() { CheckLogin = true };

            // Act
            attrib.OnActionExecuting(filterContext.Object);

            // Assert
            Assert.IsInstanceOfType(filterContext.Object.Result, typeof(RedirectToRouteResult));
            Assert.AreEqual("Usuário não autorizado.", filterContext.Object.Controller.TempData["Message"]);
            Assert.AreEqual((filterContext.Object.Result as RedirectToRouteResult).RouteValues["Controller"], "Home");
        }
        public void Test_Dynamic_Module_List()
        {
            // Arrange
            var fakeRepo = new FakeModuleRepository();
            var fakeMembership = new FakeModuleMembership();

            DynamicModuleController controller = new DynamicModuleController(fakeRepo, fakeMembership);

            // Act
            var fakeModule = fakeRepo.GetModuleById(0);
            var result = controller.List(fakeModule);

            // Assert
            Assert.IsInstanceOfType(result, typeof(ViewResult));

            var viewResult = result as ViewResult;
            var model = viewResult.ViewData.Model;

            Assert.IsNotNull(model);
            Assert.IsInstanceOfType(model, typeof(IEnumerable<DynamicModuleViewModel>));

            var viewModel = model as IEnumerable<DynamicModuleViewModel>;

            Assert.AreEqual(fakeModule.ModuleName, viewResult.ViewData["ModuleName"]);
            Assert.AreEqual(fakeModule.DisplayName, viewResult.ViewData["DisplayName"]);
        }
Esempio n. 6
0
        public void TestQueryXml()
        {
            var repo = new FakeModuleRepository();
            var controller = new DynamicModuleController(repo, new FakeModuleMembership());
            var module = repo.AllModules.FirstOrDefault();
            var actionresult = controller.Query(module.Id, module.ModuleName, null);
            var filter = new ApiEndPointAttribute();
            var filterContext = new ActionExecutedContext { Result = actionresult };

            filter.OnActionExecuted(filterContext);

            Assert.IsNotNull(filterContext.Result);
            Assert.IsInstanceOfType(filterContext.Result, typeof(ContentResult));

            var xmlResult = filterContext.Result as ContentResult;

            Assert.AreEqual("text/xml", xmlResult.ContentType);
            Assert.IsFalse(String.IsNullOrWhiteSpace(xmlResult.Content));
            XDocument.Parse(xmlResult.Content);

            Assert.AreEqual(
                "<The-test-module-0>\r\n  <ModuleId>0</ModuleId>\r\n  <The-test-module-0>\r\n    <ID>400</ID>\r\n    <TestField0>Some data 0</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>399</ID>\r\n    <TestField0>Some data 1</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>398</ID>\r\n    <TestField0>Some data 2</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>397</ID>\r\n    <TestField0>Some data 3</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>396</ID>\r\n    <TestField0>Some data 4</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>395</ID>\r\n    <TestField0>Some data 5</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>394</ID>\r\n    <TestField0>Some data 6</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>393</ID>\r\n    <TestField0>Some data 7</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>392</ID>\r\n    <TestField0>Some data 8</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>391</ID>\r\n    <TestField0>Some data 9</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>390</ID>\r\n    <TestField0>Some data 10</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>389</ID>\r\n    <TestField0>Some data 11</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>388</ID>\r\n    <TestField0>Some data 12</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>387</ID>\r\n    <TestField0>Some data 13</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>386</ID>\r\n    <TestField0>Some data 14</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>385</ID>\r\n    <TestField0>Some data 15</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>384</ID>\r\n    <TestField0>Some data 16</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>383</ID>\r\n    <TestField0>Some data 17</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>382</ID>\r\n    <TestField0>Some data 18</TestField0>\r\n  </The-test-module-0>\r\n  <The-test-module-0>\r\n    <ID>381</ID>\r\n    <TestField0>Some data 19</TestField0>\r\n  </The-test-module-0>\r\n</The-test-module-0>",
                xmlResult.Content);
        }
Esempio n. 7
0
        public void TestQueryByIdNotFound()
        {
            var repo = new FakeModuleRepository();
            var controller = new DynamicModuleController(repo, new FakeModuleMembership());
            var module = repo.AllModules.FirstOrDefault();
            var actionresult = controller.Query(module.Id, module.ModuleName, 490);
            var filter = new ApiEndPointAttribute();
            var filterContext = new ActionExecutedContext { Result = actionresult };

            filter.OnActionExecuted(filterContext);

            Assert.IsNotNull(filterContext.Result);
            Assert.IsInstanceOfType(filterContext.Result, typeof(ContentResult));

            var xmlResult = filterContext.Result as ContentResult;

            Assert.AreEqual("text/xml", xmlResult.ContentType);
            Assert.IsFalse(String.IsNullOrWhiteSpace(xmlResult.Content));
            XDocument.Parse(xmlResult.Content);

            Assert.AreEqual(
                "<The-test-module-0>\r\n  <ModuleId>0</ModuleId>\r\n</The-test-module-0>",
                xmlResult.Content);
        }