Пример #1
0
        public void Create_IdentitySucceed_ReturnSuccessIdentityResult()
        {
            var newUser = new ApplicationUser()
            {
                Name     = "name",
                UserName = "******",
                Email    = "*****@*****.**"
            };

            IEnumerable <string> roles = AppRoles.GetRoleNames();
            string password            = "******";

            _mockUserStore.Setup(m => m.CreateAsync(newUser))
            .Returns(Task.FromResult(IdentityResult.Success));

            _mockUserStore.Setup(m => m.FindByIdAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(newUser));
            IList <string> userRoles = new List <string>();

            _mockUserRoleStore.Setup(m => m.GetRolesAsync(newUser)).Returns(Task.FromResult(userRoles));

            var result = _service.CreateUser(newUser.Name, newUser.Email, password, roles, _userManager);

            result.Succeeded.Should().BeTrue();
        }
Пример #2
0
        public void UpdateUser_IdentitySucceed_ReturnSuccessServiceResult()
        {
            var newUser = new ApplicationUser()
            {
                Name     = "name",
                UserName = "******",
                Email    = "*****@*****.**"
            };

            ServiceResult expectedResult = new ServiceResult(true);

            _mockRepository.Setup(m => m.GetById(_userId))
            .Returns(newUser);

            IEnumerable <string> roles = AppRoles.GetRoleNames();

            _mockUserStore.Setup(m => m.UpdateAsync(newUser))
            .Returns(Task.FromResult(IdentityResult.Success));

            _mockUserStore.Setup(m => m.FindByIdAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(newUser));
            IList <string> userRoles = new List <string>();

            _mockUserRoleStore.Setup(m => m.GetRolesAsync(newUser)).Returns(Task.FromResult(userRoles));

            var result = _service.UpdateUser(_userId, newUser.Name, newUser.Email, roles, _userManager);

            result.Succeeded.Should().BeTrue();
        }
Пример #3
0
 private void ManageUserRoles(string userId, IEnumerable <string> Roles, ApplicationUserManager userManager)
 {
     foreach (var role in AppRoles.GetRoleNames())
     {
         if (!Roles.Contains(role) && userManager.IsInRole(userId, role))
         {
             userManager.RemoveFromRole(userId, role);
         }
         else if (Roles.Contains(role))
         {
             userManager.AddToRole(userId, role);
         }
     }
 }
Пример #4
0
        protected override void Seed(ApplicationDbContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.

            var userManager = new ApplicationUserManager(new UserStore <ApplicationUser, ApplicationRole, string, IdentityUserLogin, ApplicationUserRole, IdentityUserClaim>(context));
            var roleManager = new ApplicationRoleManager(new RoleStore <ApplicationRole, string, ApplicationUserRole>(context));

            const string name     = "*****@*****.**";
            const string password = "******";

            //Create Role Admin if it does not exist
            var role = roleManager.FindByName(AppRoles.Admin);

            if (role == null)
            {
                role = new ApplicationRole(AppRoles.Admin);
                var roleresult = roleManager.Create(role);
            }

            var user = userManager.FindByName(name);

            if (user == null)
            {
                user = new ApplicationUser {
                    UserName = name, Email = name
                };
                var result = userManager.Create(user, password);
                result = userManager.SetLockoutEnabled(user.Id, false);
            }

            // Add user admin to Role Admin if not already added
            var rolesForUser = userManager.GetRoles(user.Id);

            if (!rolesForUser.Contains(role.Name))
            {
                var result = userManager.AddToRole(user.Id, role.Name);
            }

            foreach (var appRole in AppRoles.GetRoleNames())
            {
                if (roleManager.FindByName(appRole) == null)
                {
                    var roleresult = roleManager
                                     .Create(new ApplicationRole(appRole));
                }
            }
        }