public async Task TestChangeUserRole() { var userNew = new UserNew().SetDefaults(); userNew.Password = "******"; userNew.Role = Role.User; userNew.Username = "******" + new Guid().ToString(); var createUserRequest = new CreateUserRequest(userNew); var createUserResponse = await SkyManager.ApiClient.ExecuteRequestAsync(createUserRequest); var userId = createUserResponse.Content.Id; var userRoleChange = new ChangeUserRoleBody().SetDefaults(); userRoleChange.Role = Role.Manager; Assert.NotNull(userRoleChange.ToJson()); Assert.NotNull(userRoleChange.ToString()); await SkyManager.ApiClient.ExecuteRequestAsync(new ChangeUserRoleRequest(userRoleChange, userId)); var getUserResponse = await SkyManager.ApiClient.ExecuteRequestAsync(new GetUserRequest(userId)); Assert.Equal(Role.Manager, getUserResponse.Content.Role); await SkyManager.ApiClient.ExecuteRequestAsync(new DeleteUserRequest(userId)); }
static async Task ChangeUserRole(string userId, Role role) { //@skydocs.start(users.updaterole) //This is the body of information for updating the user role var updateUserRoleBody = new ChangeUserRoleBody { Role = role }; //Create an API request for updating a user var updateUserRoleRequest = new Skylight.Api.Authentication.V1.UsersRequests.ChangeUserRoleRequest(updateUserRoleBody, userId); //Execute the API request var result = await SkyManager.ApiClient.ExecuteRequestAsync(updateUserRoleRequest); //Handle the resulting status code appropriately switch (result.StatusCode) { case System.Net.HttpStatusCode.Forbidden: Console.Error.WriteLine("Error updating user role: Permission forbidden."); break; case System.Net.HttpStatusCode.NotFound: Console.Error.WriteLine("Error updating user role: User not found."); break; case System.Net.HttpStatusCode.Unauthorized: Console.Error.WriteLine("Error updating user role: Method call was unauthenticated."); break; case System.Net.HttpStatusCode.NoContent: Console.WriteLine("User role successfully updated."); break; default: Console.Error.WriteLine("Unhandled user role update status code: " + result.StatusCode); break; } //@skydocs.end() }