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"]); }
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); }
public void TestQueryByColumnMultipleResults() { 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", "1"); 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>399</ID>\r\n <TestField0>Some data 1</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); }
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); }
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_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)); }