Esempio n. 1
0
        public string CreateUserAndAccount(string userName, string password, string email, bool requireConfirmationToken = false)
        {
            string token = null;

            if (requireConfirmationToken)
            {
                token = ShortGuid.NewGuid();
            }
            bool isConfirmed = !requireConfirmationToken;

            var user = new ApplicationUser()
            {
                UserName          = userName,
                Email             = email,
                ConfirmationToken = token,
                IsConfirmed       = isConfirmed
            };
            var result = UserManager.Create(user, password);

            if (!result.Succeeded)
            {
                StringBuilder innerMsg = new StringBuilder();
                foreach (var msg in result.Errors)
                {
                    innerMsg.Append(msg);
                }
                MembershipCreateUserException ex = new MembershipCreateUserException(innerMsg.ToString());
                throw ex;
            }

            return(token);
        }
 public SecurityCreateUserException(MembershipCreateUserException exception)
     : base(errors.ContainsKey(exception.StatusCode)
         ? errors[exception.StatusCode]
         : UnknownCreateUserError,
            exception)
 {
 }
        public string CreateUserAndAccount(string userName, string password, string email, Guid myGuid,
                                           bool requireConfirmationToken = false)
        {
            if (string.IsNullOrEmpty(userName))
            {
                throw new ArgumentNullException(nameof(userName));
            }
            if (string.IsNullOrEmpty(password))
            {
                throw new ArgumentNullException(nameof(password));
            }
            if (string.IsNullOrEmpty(email))
            {
                throw new ArgumentNullException(nameof(email));
            }


            string token = null;

            if (requireConfirmationToken)
            {
                token = ShortGuid.NewGuid();
            }

            var isConfirmed = !requireConfirmationToken;

            if (token == null)
            {
                return(null);
            }

            var user = new ApplicationUser
            {
                UserName          = userName.Trim(),
                Email             = email.Trim(),
                ConfirmationToken = token.Trim(),
                IsConfirmed       = isConfirmed
            };

            user.TrackingState = TrackingState.Added;

            var result = _userManager.Create(user, password.Trim());

            if (result.Succeeded)
            {
                return(token);
            }
            var innerMsg = new StringBuilder();

            foreach (var msg in result.Errors)
            {
                innerMsg.Append(msg);
            }
            var ex = new MembershipCreateUserException(innerMsg.ToString());

            throw ex;
        }
        public static CreateUserStatus GetCreateUserStatus(Exception ex)
        {
            MembershipCreateUserException exception = ex as MembershipCreateUserException;

            if (exception != null)
            {
                return(GetCreateUserStatus(exception.StatusCode));
            }
            return(CreateUserStatus.UnknownFailure);
        }
Esempio n. 5
0
 public void WhenITryToCreateANewUserWithTheSameUserName()
 {
     try
     {
         membershipUser = Membership.CreateUser(knownUserName, "password");
     }
     catch (MembershipCreateUserException e)
     {
         ex = e;
     }
 }
Esempio n. 6
0
        public void WhenITryToCreateANewUserWithTheSameEmail()
        {
            var newUserName = Guid.NewGuid().ToString();

            try
            {
                membershipUser = Membership.CreateUser(newUserName, password, email);
            }
            catch (MembershipCreateUserException e)
            {
                ex = e;
            }
        }
Esempio n. 7
0
        public static CreateUserStatus GetCreateUserStatus(Exception exception_0)
        {
            MembershipCreateUserException ex = exception_0 as MembershipCreateUserException;
            CreateUserStatus result;

            if (ex != null)
            {
                result = HiMembership.GetCreateUserStatus(ex.StatusCode);
            }
            else
            {
                result = CreateUserStatus.UnknownFailure;
            }
            return(result);
        }
Esempio n. 8
0
        public void CreateUser_displays_username_validation_error_when_duplicate_username_supplied()
        {
            // arrange
            var exception = new MembershipCreateUserException(MembershipCreateStatus.DuplicateUserName);

            _userService.Setup(x => x.Create(null, null, null, null, null)).Throws(exception);
            var viewModel = new CreateUserViewModel();

            // act
            var returnedResult = _controller.CreateUser(viewModel);

            // assert
            var result = Assert.IsType <ViewResult>(returnedResult);

            Assert.Equal("", result.ViewName);
            Assert.Equal(viewModel, result.Model);
            var modelState = result.ViewData.ModelState;

            Assert.True(modelState.ContainsKey(string.Empty));
            Assert.Equal(exception.Message, modelState[string.Empty].Errors.First().ErrorMessage);
        }
Esempio n. 9
0
        public void RegisterShouldReturnErrorIfRegistrationThrowsMembershipException(Database db, [Content] DbItem item, Item profileItem, RegistrationInfo registrationInfo, MembershipCreateUserException exception, [Frozen] IAccountRepository repo, [Frozen] INotificationService notifyService, [Frozen] IAccountsSettingsService accountsSettingsService, [Frozen] IUserProfileService userProfileService)
        {
            repo.When(x => x.RegisterUser(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>())).Do(x => { throw new MembershipCreateUserException(); });
            userProfileService.GetUserDefaultProfileId().Returns(profileItem.ID.ToString());

            var controller = new AccountsController(repo, notifyService, accountsSettingsService, userProfileService, null);

            var fakeSite = new FakeSiteContext(new StringDictionary
            {
                {
                    "rootPath", "/sitecore/content"
                },
                {
                    "startItem", item.Name
                }
            }) as SiteContext;

            fakeSite.Database = db;
            Language.Current  = Language.Invariant;

            using (new SiteContextSwitcher(fakeSite))
            {
                var result = controller.Register(registrationInfo);
                result.Should().BeOfType <ViewResult>().Which.Model.Should().Be(registrationInfo);
                result.Should().BeOfType <ViewResult>().Which.ViewData.ModelState.Should().ContainKey(nameof(registrationInfo.Email))
                .WhichValue.Errors.Should().Contain(x => x.ErrorMessage == exception.Message);
            }
        }