public async Task <Result> SetUserInterestsAsync(int[] interestIds) { if (interestIds == null || interestIds.Length <= 0) { return(Result.Fail(Atleast_One_Interest_Is_Required)); } var currentUserResult = await _userIdentityProvider.GetUser(); if (!currentUserResult.IsSuccessed) { return(Result.Fail(currentUserResult.GetErrorString())); } var user = currentUserResult.Value; var setUserInterestsResult = await _userDomainService.SetUserInterests(user, interestIds); if (!setUserInterestsResult.IsSuccessed) { return(Result.Fail(setUserInterestsResult.GetErrorString())); } _userRepository.Update(user); var saveResult = await _userRepository.SaveChangesAsync(Failed_To_Update_Interests); if (!saveResult.IsSuccessed) { return(Result.Fail(saveResult.GetErrorString())); } _mediator.Publish(new UserModified(user)); return(Result.Ok()); }
public void TestGetUser() { IIdentityProvider provider = Bootstrapper.CreateIdentityProvider(); User userByName = provider.GetUserByName(Bootstrapper.Settings.TestIdentity.Username); Assert.IsNotNull(userByName); Assert.AreEqual(Bootstrapper.Settings.TestIdentity.Username, userByName.Username); Assert.IsNotNull(userByName.Id); User user = provider.GetUser(userByName.Id); Assert.IsNotNull(user); Assert.AreEqual(Bootstrapper.Settings.TestIdentity.Username, user.Username); Assert.AreEqual(userByName.Id, user.Id); Console.WriteLine("User \"{0}\" (id: {1})", user.Username, user.Id); if (!user.Enabled) { Console.WriteLine(" Disabled"); } if (!string.IsNullOrEmpty(user.Email)) { Console.WriteLine(" Email: {0}", user.Email); } if (!string.IsNullOrEmpty(user.DefaultRegion)) { Console.WriteLine(" Default region: {0}", user.DefaultRegion); } if (user.DomainId != null) { Console.WriteLine(" Domain ID: {0}", user.DomainId); } }
public void TestAddUserUpdateUserDeleteUser() { string username = GenerateUsername(); NewUser newUser = new NewUser(username, username + "@example.com"); IIdentityProvider provider = Bootstrapper.CreateIdentityProvider(); NewUser user = provider.AddUser(newUser); Assert.IsNotNull(user); Assert.AreEqual(username, user.Username); Assert.IsFalse(string.IsNullOrEmpty(user.Id)); Assert.IsFalse(string.IsNullOrEmpty(user.Password)); IEnumerable <Role> roles = provider.GetRolesByUser(user.Id); Console.WriteLine("Roles for the created user:"******" {0} ({1}) # {2}", role.Name, role.Id, role.Description); } Assert.IsTrue(roles.Any(i => string.Equals(i.Name, "identity:default", StringComparison.OrdinalIgnoreCase))); try { // make sure we can't add the same user twice provider.AddUser(newUser); Assert.Fail("Expected a conflict"); } catch (ServiceConflictException) { // this makes the most sense } catch (ResponseException) { // this is allowed by the interface } User current = provider.GetUser(user.Id); Console.WriteLine(); Console.WriteLine("Updating email address..."); Console.WriteLine(); current.Email = username + "*****@*****.**"; User updated = provider.UpdateUser(current); Console.WriteLine(JsonConvert.SerializeObject(updated, Formatting.Indented)); Assert.AreNotSame(current, updated); Assert.AreEqual(current.Email, updated.Email); Console.WriteLine(); Console.WriteLine("Updating username..."); Console.WriteLine(); current.Username = username + "2"; updated = provider.UpdateUser(current); Console.WriteLine(JsonConvert.SerializeObject(updated, Formatting.Indented)); Assert.AreNotSame(current, updated); Assert.AreEqual(current.Username, updated.Username); Console.WriteLine(); Console.WriteLine("Updating default region..."); Console.WriteLine(); current.DefaultRegion = current.DefaultRegion == "SYD" ? "DFW" : "SYD"; updated = provider.UpdateUser(current); Console.WriteLine(JsonConvert.SerializeObject(updated, Formatting.Indented)); Assert.AreNotSame(current, updated); Assert.AreEqual(current.DefaultRegion, updated.DefaultRegion); Console.WriteLine(); Console.WriteLine("Updating enabled (toggling twice)..."); Console.WriteLine(); current.Enabled = !current.Enabled; updated = provider.UpdateUser(current); Console.WriteLine(JsonConvert.SerializeObject(updated, Formatting.Indented)); Assert.AreNotSame(current, updated); Assert.AreEqual(current.Enabled, updated.Enabled); current.Enabled = !current.Enabled; updated = provider.UpdateUser(current); Console.WriteLine(JsonConvert.SerializeObject(updated, Formatting.Indented)); Assert.AreNotSame(current, updated); Assert.AreEqual(current.Enabled, updated.Enabled); Assert.IsNotNull(provider.GetUser(user.Id)); bool deleted = provider.DeleteUser(user.Id); Assert.IsTrue(deleted); try { provider.GetUser(user.Id); Assert.Fail("Expected an exception"); } catch (ItemNotFoundException) { // this makes the most sense } catch (UserNotAuthorizedException) { // this is allowed by the interface, and some providers report it for security reasons } catch (ResponseException) { // this is allowed by the interface } }