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); }
public void WhenITryToCreateANewUserWithTheSameUserName() { try { membershipUser = Membership.CreateUser(knownUserName, "password"); } catch (MembershipCreateUserException e) { ex = e; } }
public void WhenITryToCreateANewUserWithTheSameEmail() { var newUserName = Guid.NewGuid().ToString(); try { membershipUser = Membership.CreateUser(newUserName, password, email); } catch (MembershipCreateUserException e) { ex = e; } }
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); }
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); }
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); } }