/// <summary> /// Initializes a new instance of the <see cref="AddUserRequest"/> class for the /// specified <paramref name="user"/>. /// </summary> /// <param name="user">The user.</param> /// <exception cref="ArgumentNullException">If <paramref name="user"/> is <see langword="null"/>.</exception> public AddUserRequest(NewUser user) { if (user == null) throw new ArgumentNullException("user"); User = user; }
public void CreateUser() { var identity = new CloudIdentity(); var provider = new CloudIdentityProvider(identity); #region CreateUser NewUser user = new NewUser("{username}", "{email}", enabled: true); user = provider.AddUser(user, null); string password = user.Password; #endregion }
public NewUser AddUser(CloudIdentity identity, NewUser newUser) { var provider = GetProvider(identity); return provider.AddUser(identity, newUser); }
public NewUser AddUser(NewUser newUser, CloudIdentity identity) { var provider = GetProvider(identity); return provider.AddUser(newUser, identity: identity); }
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)); 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 } }
public void TestResetApiKey() { string username = GenerateUsername(); NewUser newUser = new NewUser(username, username + "@example.com"); CloudIdentityProvider provider = (CloudIdentityProvider)Bootstrapper.CreateIdentityProvider(); NewUser user = provider.AddUser(newUser, null); Assert.IsNotNull(user); Assert.AreEqual(username, user.Username); Assert.IsFalse(string.IsNullOrEmpty(user.Id)); Assert.IsFalse(string.IsNullOrEmpty(user.Password)); UserCredential credentials = provider.ResetApiKey(user.Id); Assert.AreEqual(user.Username, credentials.Username); Assert.IsNotNull(credentials.APIKey); Assert.AreNotEqual(string.Empty, credentials.APIKey); Console.WriteLine("API Key: {0}", credentials.APIKey); UserCredential credentials2 = provider.ResetApiKey(user.Id); Assert.AreEqual(user.Username, credentials2.Username); Assert.IsNotNull(credentials2.APIKey); Assert.AreNotEqual(string.Empty, credentials2.APIKey); Assert.AreNotEqual(credentials.APIKey, credentials2.APIKey); Console.WriteLine("API Key: {0}", credentials2.APIKey); bool deleted = provider.DeleteUser(user.Id, null); Assert.IsTrue(deleted); }
public void Should_Add_New_User_With_Specifying_A_Password_But_Not_Default_Region_To_Account_When_Requesting_As_User_Admin() { IIdentityProvider provider = new IdentityProvider(); _newTestUser1 = provider.AddUser(_testIdentity, new NewUser { Username = "******", Email = "*****@*****.**", Enabled = true, Password = NewUserPassword }); Assert.IsNotNull(_newTestUser1); Assert.AreEqual("openstacknettestuser2", _newTestUser1.Username); Assert.AreEqual("*****@*****.**", _newTestUser1.Email); Assert.AreEqual(true, _newTestUser1.Enabled); Assert.AreEqual(NewUserPassword, _newTestUser1.Password); Assert.IsFalse(string.IsNullOrWhiteSpace(_newTestUser1.Password)); }