コード例 #1
0
        public void AspNetUser_Can_Delete()
        {
            // Arrange
            AspNetUser AspNetUser = new AspNetUser {
                UserName = "******", Email = "*****@*****.**", FullName = "U1", BirthDate = DateTime.Now
            };

            Mock <ILogger <AspNetUsersController> > mockLogger = new Mock <ILogger <AspNetUsersController> >();
            Mock <IIdentityRepository> mockIdentityRepository  = new Mock <IIdentityRepository>();
            Mock <ITempDataDictionary> tempData = new Mock <ITempDataDictionary>();

            mockIdentityRepository.Setup(m => m.GetAspNetUsers).Returns(new AspNetUser[] {
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U1", BirthDate = DateTime.Now
                },
                AspNetUser,
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U3", BirthDate = DateTime.Now
                }
            }.AsQueryable <AspNetUser>());

            AspNetUsersController controller = new AspNetUsersController(mockLogger.Object, mockIdentityRepository.Object)
            {
                TempData = tempData.Object
            };

            // Act
            controller.Delete("4"); //AspNetUser.UserId

            // Assert
            mockIdentityRepository.Verify(m => m.DeleteAspNetUser("4")); //AspNetUser.UserId
        }
コード例 #2
0
        public void AspNetUser_Can_Edit_Valid_Changes()
        {
            // Arrange
            Mock <ILogger <AspNetUsersController> > mockLogger = new Mock <ILogger <AspNetUsersController> >();
            Mock <IIdentityRepository> mockIdentityRepository  = new Mock <IIdentityRepository>();
            Mock <ITempDataDictionary> tempData = new Mock <ITempDataDictionary>();

            mockIdentityRepository.Setup(m => m.GetAspNetUsers).Returns(new AspNetUser[] {
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U1", BirthDate = DateTime.Now
                }
            }.AsQueryable <AspNetUser>());

            AspNetUsersController controller = new AspNetUsersController(mockLogger.Object, mockIdentityRepository.Object)
            {
                TempData = tempData.Object
            };

            // Act
            IActionResult result1 = controller.Edit(new AspNetUsersViewModel {
                UserName = "******", Email = "*****@*****.**", FullName = "U1", Password = "******", AspNetGroupsList = aspNetGroupsList
            }, selectedGroups);

            // Assert
            Assert.AreEqual("List", (result1 as RedirectToActionResult).ActionName);
        }
コード例 #3
0
        public void AspNetUser_Can_Add_Valid_Changes()
        {
            // Arrange
            AspNetUsersViewModel AspNetUsersViewModel = new AspNetUsersViewModel {
                UserName = "******", Email = "*****@*****.**", FullName = "Test", Password = "******", AspNetGroupsList = aspNetGroupsList
            };

            AspNetUser aspNetUser = new AspNetUser();

            aspNetUser.UserName = "******";
            aspNetUser.FullName = "Test";
            aspNetUser.Email    = "*****@*****.**";

            Mock <ILogger <AspNetUsersController> > mockLogger = new Mock <ILogger <AspNetUsersController> >();
            Mock <IIdentityRepository> mockIdentityRepository  = new Mock <IIdentityRepository>();
            Mock <ITempDataDictionary> tempData = new Mock <ITempDataDictionary>();

            //mockIdentityRepository.Setup(u => u.AddAspNetUser(It.IsAny<AspNetUser>(), "password"))
            //    .Returns("0000-0000-0000-0000");

            AspNetUsersController controller = new AspNetUsersController(mockLogger.Object, mockIdentityRepository.Object)
            {
                TempData = tempData.Object
            };

            // Act
            IActionResult result = controller.Create(AspNetUsersViewModel, selectedGroups);

            // Assert
            Assert.AreEqual("List", (result as RedirectToActionResult).ActionName);
        }
コード例 #4
0
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
            var userManager = context.OwinContext.GetUserManager <ApplicationUserManager>();

            ApplicationUser user = await userManager.FindAsync(context.UserName, context.Password);

            //SessionHelper.UserSessionID = user.Id;
            AspNetUsersController aspUserCon = new AspNetUsersController();
            var sessionUser = aspUserCon.GetUser(user.Id);

            //SessionHelper.UserSessionID = user.UserName;
            SessionHelper.LoggedInUser <AspNetUser>(sessionUser, user.UserName);
            if (user == null)
            {
                context.SetError("invalid_grant", "The user name or password is incorrect.");
                return;
            }

            ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(userManager,
                                                                                OAuthDefaults.AuthenticationType);

            ClaimsIdentity cookiesIdentity = await user.GenerateUserIdentityAsync(userManager,
                                                                                  CookieAuthenticationDefaults.AuthenticationType);

            AuthenticationProperties properties = CreateProperties(user.UserName);
            AuthenticationTicket     ticket     = new AuthenticationTicket(oAuthIdentity, properties);

            context.Validated(ticket);
            context.Request.Context.Authentication.SignIn(cookiesIdentity);
        }
コード例 #5
0
        public void AspNetUser_Cannot_Edit_Nonexistent()
        {
            // Arrange
            Mock <ILogger <AspNetUsersController> > mockLogger = new Mock <ILogger <AspNetUsersController> >();
            Mock <IIdentityRepository> mockIdentityRepository  = new Mock <IIdentityRepository>();

            AspNetUsersController controller = new AspNetUsersController(mockLogger.Object, mockIdentityRepository.Object);

            // Act
            AspNetUser result = GetViewModel <AspNetUser>(controller.Edit("4"));

            // Assert
            Assert.IsNull(result);
        }
コード例 #6
0
 public override void OnActionExecuting(HttpActionContext actionContext)
 {
     base.OnActionExecuting(actionContext);
     if (HttpContext.Current != null && HttpContext.Current.User != null && HttpContext.Current.User.Identity.IsAuthenticated)
     {
         if (SessionHelper.LoggedInUser <AspNetUser>(HttpContext.Current.User.Identity.Name) == null)
         {
             //SessionHelper.UserSessionID = user.Id;
             AspNetUsersController aspUserCon = new AspNetUsersController();
             var sessionUser = aspUserCon.GetUser(HttpContext.Current.User.Identity.Name);
             //SessionHelper.UserSessionID = user.UserName;
             SessionHelper.LoggedInUser <AspNetUser>(sessionUser, sessionUser.UserName);
         }
     }
 }
コード例 #7
0
        public void AspNetUser_Cannot_Edit_Invalid_Changes()
        {
            // Arrange
            AspNetUsersViewModel AspNetUsersViewModel = new AspNetUsersViewModel {
                UserName = "******", Email = "*****@*****.**", FullName = "U1", Password = "******", AspNetGroupsList = aspNetGroupsList
            };

            Mock <ILogger <AspNetUsersController> > mockLogger = new Mock <ILogger <AspNetUsersController> >();
            Mock <IIdentityRepository> mockIdentityRepository  = new Mock <IIdentityRepository>();

            AspNetUsersController controller = new AspNetUsersController(mockLogger.Object, mockIdentityRepository.Object);

            controller.ModelState.AddModelError("error", "error");

            // Act
            IActionResult result = controller.Edit(AspNetUsersViewModel, selectedGroups);

            // Assert
            mockIdentityRepository.Verify(m => m.EditAspNetUser(It.IsAny <AspNetUser>(), "password"), Times.Never());
        }
コード例 #8
0
        public void AspNetUsers_Can_Send_Pagination()
        {
            // Arrange
            Mock <ILogger <AspNetUsersController> > mockLogger = new Mock <ILogger <AspNetUsersController> >();
            Mock <IIdentityRepository> mockIdentityRepository  = new Mock <IIdentityRepository>();

            mockIdentityRepository.Setup(m => m.GetAspNetUsers).Returns((new AspNetUser[] {
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U1", BirthDate = DateTime.Now
                },
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U2", BirthDate = DateTime.Now
                },
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U3", BirthDate = DateTime.Now
                },
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U4", BirthDate = DateTime.Now
                },
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U5", BirthDate = DateTime.Now
                }
            }).AsQueryable <AspNetUser>());

            AspNetUsersController controller = new AspNetUsersController(mockLogger.Object, mockIdentityRepository.Object);

            controller.PageSize = 3;

            // Act
            AspNetUsersListViewModel result = controller.List(2).ViewData.Model as AspNetUsersListViewModel;

            // Assert
            PagingInfo pageInfo = result.PagingInfo;

            Assert.AreEqual(2, pageInfo.CurrentPage);
            Assert.AreEqual(3, pageInfo.ItemsPerPage);
            Assert.AreEqual(5, pageInfo.TotalItems);
            Assert.AreEqual(2, pageInfo.TotalPages);
        }
コード例 #9
0
        public void AspNetUsers_Can_Paginate()
        {
            // Arrange
            Mock <ILogger <AspNetUsersController> > mockLogger = new Mock <ILogger <AspNetUsersController> >();
            Mock <IIdentityRepository> mockIdentityRepository  = new Mock <IIdentityRepository>();

            mockIdentityRepository.Setup(m => m.GetAspNetUsers).Returns((new AspNetUser[] {
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U1", BirthDate = DateTime.Now
                },
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U2", BirthDate = DateTime.Now
                },
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U3", BirthDate = DateTime.Now
                },
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U4", BirthDate = DateTime.Now
                },
                new AspNetUser {
                    UserName = "******", Email = "*****@*****.**", FullName = "U5", BirthDate = DateTime.Now
                }
            }).AsQueryable <AspNetUser>());

            AspNetUsersController controller = new AspNetUsersController(mockLogger.Object, mockIdentityRepository.Object);

            controller.PageSize = 3;

            // Act
            AspNetUsersListViewModel result = controller.List(2).ViewData.Model as AspNetUsersListViewModel;

            // Assert
            AspNetUser[] AspNetUserArray = result.AspNetUsers.ToArray();
            Assert.IsTrue(AspNetUserArray.Length == 2);
            Assert.AreEqual("U4", AspNetUserArray[0].UserName);
            Assert.AreEqual("U5", AspNetUserArray[1].UserName);
        }