public async Task RemoveUserFromRole_WithInvalidRole_ShouldThrowNotFoundRpcException() { // Arrange var users = TestData.FileStorage.GetUsers(); var user = users.First(); var host = TestHost.WithClaimsFromBearerAuthentication(new Claim(JwtClaimTypes.Subject, user.Id.ToString())); host.Server.CleanupDbContext(); await host.Server.UsingScopeAsync( async scope => { var userService = scope.GetRequiredService <IUserService>(); var result = await userService.CreateAsync(user, "Pass@word1"); result.Succeeded.Should().BeTrue(); }); var request = new RemoveUserFromRoleRequest { UserId = user.Id.ToString(), RoleName = "test" }; var client = new IdentityService.IdentityServiceClient(host.CreateChannel()); // Act Assert var func = new Func <Task>(async() => await client.RemoveUserFromRoleAsync(request)); func.Should().Throw <RpcException>(); }
public async Task RemoveUserFromRole_ShouldBeOfTypeRemoveUserFromRoleResponse() { // Arrange var users = TestData.FileStorage.GetUsers(); var user = users.First(); var host = TestHost.WithClaimsFromBearerAuthentication(new Claim(JwtClaimTypes.Subject, user.Id.ToString())); host.Server.CleanupDbContext(); await host.Server.UsingScopeAsync( async scope => { var userService = scope.GetRequiredService <IUserService>(); var result = await userService.CreateAsync(user, "Pass@word1"); result.Succeeded.Should().BeTrue(); }); await host.Server.UsingScopeAsync( async scope => { var roleService = scope.GetRequiredService <IRoleService>(); var result = await roleService.CreateAsync( new Role { Name = AppRoles.Admin }); result.Succeeded.Should().BeTrue(); }); await host.Server.UsingScopeAsync( async scope => { var userService = scope.GetRequiredService <IUserService>(); var result = await userService.AddToRoleAsync(await userService.FindByIdAsync(user.Id.ToString()), AppRoles.Admin); result.Succeeded.Should().BeTrue(); }); var request = new RemoveUserFromRoleRequest { UserId = user.Id.ToString(), RoleName = AppRoles.Admin }; var client = new IdentityService.IdentityServiceClient(host.CreateChannel()); // Act var response = await client.RemoveUserFromRoleAsync(request); // Assert response.Should().BeOfType <RemoveUserFromRoleResponse>(); }
public void RemoveUserFromRole_WithUserNull_ShouldThrowNotFoundRpcException() { // Arrange var users = TestData.FileStorage.GetUsers(); var user = users.First(); var host = TestHost.WithClaimsFromBearerAuthentication(new Claim(JwtClaimTypes.Subject, user.Id.ToString())); host.Server.CleanupDbContext(); var request = new RemoveUserFromRoleRequest { UserId = user.Id.ToString(), RoleName = "test" }; var client = new IdentityService.IdentityServiceClient(host.CreateChannel()); // Act Assert var func = new Func <Task>(async() => await client.RemoveUserFromRoleAsync(request)); func.Should().Throw <RpcException>(); }