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
        }
예제 #2
0
        public void Should_Add_New_User_2_With_Specifying_A_Password_But_Not_Default_Region_To_Account_When_Requesting_As_User_Admin()
        {
            IIdentityProvider provider = new CloudIdentityProvider(_testIdentity);

            var newUser = provider.AddUser(new NewUser { Username = "******", Email = "*****@*****.**", Enabled = true, Password = NewUserPassword });
            _newTestUserPassword = newUser.Password;

            Assert.IsNotNull(newUser);
            Assert.AreEqual("openstacknettestuser2", newUser.Username);
            Assert.AreEqual("*****@*****.**", newUser.Email);
            Assert.AreEqual(true, newUser.Enabled);
            Assert.AreEqual(NewUserPassword, newUser.Password);
            Assert.IsFalse(string.IsNullOrWhiteSpace(newUser.Password));
        }
예제 #3
0
        public void TestAddUserUpdateUserDeleteUser()
        {
            string username = GenerateUsername();
            NewUser newUser = new NewUser(username, username + "@example.com");

            IIdentityProvider provider = new CloudIdentityProvider(Bootstrapper.Settings.TestIdentity);
            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
            }
        }