private void appendHiddenProperties() { if (inputObject != null) { PropertyInfo[] piObj = inputObject.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); foreach (var eachItem in piObj) { PermissionsAttribute attribute = (PermissionsAttribute)Attribute.GetCustomAttribute(eachItem, typeof(PermissionsAttribute)); if (attribute != null) { if (userPermissions < attribute.Value) { hiddenProperties.Add(eachItem.Name); } } } this.filteredPropertyGrid.SelectedObject = inputObject; this.filteredPropertyGrid.HiddenProperties = hiddenProperties.ToArray(); this.filteredPropertyGrid.Refresh(); } else { ExceptionHelper.CommonMessageShow("ErrorOccurInstanceMissing", "SystemHint"); } }
public void PermissionsAttribute_ShouldNotThrowException_IfUserHasRequiredPermissions() { // Arrange HttpContext.Current = MockHttpContext.GenerateBarebonesHttpContext("http://localhost/MyActivity"); Employee mockEmployee = new Employee { Permissions = (int)PermissionsEnum.CanViewOwnActivity }; HttpContext.Current.Session["User"] = mockEmployee; Mock <ActionExecutingContext> mockFilterContext = new Mock <ActionExecutingContext>(); var mockHttpContext = new Mock <HttpContextBase>(); PermissionsAttribute sut = new PermissionsAttribute(PermissionsEnum.CanViewOwnActivity); ControllerContext Controller = new ControllerContext { HttpContext = mockHttpContext.Object }; // Act // Assert Assert.DoesNotThrow(() => sut.OnActionExecuting(mockFilterContext.Object)); }
public void PermissionsAttribute_ShouldRedirectRequestToLoginRequiredPage_IfUserDoesNotExistInSession() { // Arrange // HttpContext.Current HttpContext.Current = MockHttpContext.GenerateBarebonesHttpContext("http://localhost/MyActivity"); var mockHttpContext = new MockHttpContext(); ActionExecutingContext filterContext = new ActionExecutingContext(); filterContext.HttpContext = mockHttpContext.HttpContextBase.Object; PermissionsAttribute sut = new PermissionsAttribute(PermissionsEnum.CanViewOwnActivity); //Act sut.OnActionExecuting(filterContext); //Assert Assert.That(filterContext.Result, Is.InstanceOf <RedirectToRouteResult>()); RedirectToRouteResult result = (RedirectToRouteResult)filterContext.Result; Assert.AreEqual(result.RouteValues["controller"], "Error"); Assert.AreEqual(result.RouteValues["action"], "LoginRequired"); }
public void PermissionsAttribute_ShouldRedirectRequestToPermissionsDeniedPage_IfEmployeeDoesNotHaveRequiredPermissions() { // Arrange HttpContext.Current = MockHttpContext.GenerateBarebonesHttpContext("http://localhost/MyActivity"); Employee mockEmployee = new Employee { Permissions = (int)PermissionsEnum.CanViewOwnActivity }; HttpContext.Current.Session["User"] = mockEmployee; ActionExecutingContext filterContext = new ActionExecutingContext(); PermissionsAttribute sut = new PermissionsAttribute(PermissionsEnum.CanDeleteActivity); // Act sut.OnActionExecuting(filterContext); // Assert Assert.That(filterContext.Result, Is.InstanceOf <RedirectToRouteResult>()); RedirectToRouteResult result = (RedirectToRouteResult)filterContext.Result; Assert.AreEqual(result.RouteValues["controller"], "Error"); Assert.AreEqual(result.RouteValues["action"], "PermissionDenied"); }