Esempio n. 1
0
        public async Task TestPostDeletePermissionAsync()
        {
            var model = new PermissionBindingModel();

            model.ResourceType = ResourceType.Program.Value;
            var response = await controller.PostDeletePermissionAsync(1, model);

            handler.Verify(x => x.HandleDeletedPermissionBindingModelAsync(It.IsAny <IDeletedPermissionBindingModel>(), It.IsAny <ApiController>()), Times.Once());
        }
        public async Task TestHandleDeletedPermissionBindingModelAsync_DeletedPermission_InvalidModel()
        {
            var resourceType      = ResourceType.Program.Value;
            var deletedPermission = new PermissionBindingModel();

            deletedPermission.ResourceType = resourceType;
            controller.ModelState.AddModelError("key", "error");
            var response = await handler.HandleDeletedPermissionBindingModelAsync(deletedPermission, controller);

            Assert.IsInstanceOfType(response, typeof(InvalidModelStateResult));
        }
        public void TestToDeletedPermission()
        {
            var model = new PermissionBindingModel();

            model.ForeignResourceId = 1;
            model.PrincipalId       = 2;
            model.PermissionId      = 3;
            model.ResourceType      = ResourceType.Project.Value;
            var userId            = 5;
            var grantedPermission = model.ToDeletedPermission(userId);

            Assert.AreEqual(model.ForeignResourceId, grantedPermission.ForeignResourceId);
            Assert.AreEqual(model.PrincipalId, grantedPermission.GranteePrincipalId);
            Assert.AreEqual(model.PermissionId, grantedPermission.PermissionId);
            Assert.AreEqual(model.ResourceType, grantedPermission.ResourceTypeAsString);
        }
        public async Task TestHandleRevokedPermissionBindingModelAsync_GrantorGranteeEqual()
        {
            var resourceType = ResourceType.Program.Value;
            var userId       = 1;
            var model        = new PermissionBindingModel();

            model.ResourceType = resourceType;
            model.PrincipalId  = userId;
            userProvider.Setup(x => x.GetBusinessUser(It.IsAny <IWebApiUser>())).Returns(new Business.Service.User(userId));
            Func <Task> f = () =>
            {
                return(handler.HandleRevokedPermissionBindingModelAsync(model, controller));
            };

            f.ShouldThrow <HttpResponseException>().And.Response.StatusCode.Should().Be(HttpStatusCode.Forbidden);
        }
        public async Task TestHandleDeletedPermissionBindingModelAsync_DeletedPermission()
        {
            var resourceType      = ResourceType.Program.Value;
            var deletedPermission = new PermissionBindingModel();

            deletedPermission.ResourceType = resourceType;

            userProvider.Setup(x => x.GetBusinessUser(It.IsAny <IWebApiUser>())).Returns(new Business.Service.User(1));
            userService.Setup(x => x.GetUserByIdAsync(It.IsAny <int>())).ReturnsAsync(new User
            {
                AdGuid = Guid.NewGuid()
            });
            var response = await handler.HandleDeletedPermissionBindingModelAsync(deletedPermission, controller);

            userProvider.Verify(x => x.Clear(It.IsAny <Guid>()), Times.Once());
            principalService.Verify(x => x.DeletePermissionAsync(It.IsAny <DeletedPermission>()), Times.Once());
            principalService.Verify(x => x.SaveChangesAsync(), Times.Once());
            Assert.IsInstanceOfType(response, typeof(OkResult));
        }
Esempio n. 6
0
 public Task <IHttpActionResult> PostDeletePermissionAsync(int id, PermissionBindingModel model)
 {
     return(this.handler.HandleDeletedPermissionBindingModelAsync(model, this));
 }