Exemplo n.º 1
0
        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"]);
        }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
        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");
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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));
        }