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)); }
public Task <IHttpActionResult> PostDeletePermissionAsync(int id, PermissionBindingModel model) { return(this.handler.HandleDeletedPermissionBindingModelAsync(model, this)); }