Пример #1
0
 public TestBase()
 {
     dbContext     = MockDbContext.GetObject();
     userManager   = MockUserManager.GetObject();
     roleManager   = MockRoleManager.GetObject();
     signInManager = MockSignInManager.GetObject();
 }
Пример #2
0
        public void UserServiceRegisterDuplicateUserTest()
        {
            // arrange
            // create a registration model with same email as the test user
            var registrationModel = new RegisterModel
            {
                Email    = _testUser.Email,
                Password = _fixture.Create <string>(),
                Groups   = _groupListNames
            };

            _mockUserManager
            .Setup(x => x.FindByEmailAsync(_testUser.Email))
            .Returns(Task.FromResult(_testUser));

            var userService =
                MockUserService.GetMockUserService(
                    signInManager: MockSignInManager.GetMockSignInManager(userManager: _mockUserManager.Object).Object,
                    userManager: _mockUserManager.Object,
                    roleManager: _mockRoleManager.Object
                    ).Object;

            // act
            Func <Task> act = async() =>
                              await userService.RegisterUser(registrationModel, _groupListNames);

            // assert
            act.Should().Throw <DuplicateUserException>();
        }
Пример #3
0
        public async void UserServiceGetUserTest()
        {
            //arrange
            var testGroups = _groupListNames.Select(x => new Group {
                Name = x
            });
            var mockTestGroups = testGroups.AsQueryable().BuildMock();

            _mockUserManager.Setup(x => x.GetRolesAsync(_testUser)).Returns(Task.FromResult(_groupListNames));
            _mockRoleManager.Setup(x => x.Roles).Returns(mockTestGroups.Object);

            var userService =
                MockUserService.GetMockUserService(
                    signInManager: MockSignInManager.GetMockSignInManager(userManager: _mockUserManager.Object).Object,
                    userManager: _mockUserManager.Object,
                    roleManager: _mockRoleManager.Object
                    ).Object;

            // act
            var result = await userService.GetUser(_testUser);

            // assert
            result.Groups
            .Should()
            .HaveCount(testGroups.Count());

            result.Groups.Select(x => x.Name).Should().Equal(_groupListNames);

            Assert.Equal(_testUser.UserName, result.Email);
        }
        /// <summary>
        /// Before each.
        /// </summary>
        public AccountServiceTest()
        {
            _ctx = new InMemoryAppDataContext();
            var userManager   = new MockUserManager(_ctx);
            var signInManager = new MockSignInManager(userManager);

            _config  = new MockConfiguration();
            _service = new AccountService(userManager, signInManager, _config, _ctx);
        }
        private void SetupMockSignInManagerSuccess(string password, IdentityUser user)
        {
            MockSignInManager.Setup(x => x.CheckPasswordSignInAsync(
                                        user,
                                        password, It.IsAny <bool>()))
            .Returns(Task.Run(() => SignInResult.Success));

            MockSignInManager.Setup(x => x.CreateUserPrincipalAsync(user))
            .Returns <IdentityUser>(x => Task.Run(() => (ClaimsPrincipal) new MockClaimsPrincipal(x)));
        }
Пример #6
0
 public void clean()
 {
     //foreach(var item in context.Model.GetEntityTypes().Select(m=>m.FindPrimaryKey().Properties[0])
     //{
     //    item.
     //}
     context.Database.EnsureDeleted();
     context.Dispose();
     mockUserManager.Reset();
     MockSignInManager.Reset();
     mockRoleManager.Reset();
     mockService.Reset();
     controller.Dispose();
 }
Пример #7
0
        public async void UserServiceRegisterUserTest()
        {
            // arrange
            var mockedResult = new MockIdentityResult().MockResultSuccession(true);

            var testPassword = _fixture.Create <string>();

            // create a registration model with same email as the test user
            var registrationModel = new RegisterResult
            {
                Result = mockedResult,
                User   = _testUser
            };

            _mockUserManager
            .Setup(x => x.CreateAsync(_testUser, testPassword))
            .Returns(Task.FromResult((IdentityResult)mockedResult));

            var usersList = new List <User> {
                _testUser
            };

            var mockUsers = usersList.AsQueryable().BuildMock();

            _mockUserManager.Setup(x => x.Users).Returns(mockUsers.Object);

            var userService =
                MockUserService.GetMockUserService(
                    signInManager: MockSignInManager.GetMockSignInManager(userManager: _mockUserManager.Object).Object,
                    userManager: _mockUserManager.Object,
                    roleManager: _mockRoleManager.Object
                    ).Object;

            // act
            var result = await userService.RegisterUser(_testUser, testPassword, _groupListNames);

            // assert
            registrationModel.ToExpectedObject().ShouldMatch(result);
        }
Пример #8
0
        private AccountController InitializeTest()
        {
            _testContext = new TestContext();


            var mockSignInManager = new MockSignInManager(_testContext.MockUserManager, _testContext);
            var mockGirafService  = new MockGirafService(_testContext.MockDbContext.Object, _testContext.MockUserManager);

            //TODO: Error here. Unsucessful attempt at mocking., TRYING OUT NEW ASGER WAY OF LIFE
            var roleManager = _testContext.MockRoleManager.Object;
            //var roleManager = new RoleManager<GirafRole>(new Mock<IRoleStore<GirafRole>>().Object, null, null, null, null, null);

            AccountController ac = new AccountController(
                mockSignInManager,
                _testContext.MockLoggerFactory.Object,
                mockGirafService,
                Options.Create(new JwtConfig()
            {
                JwtKey        = "123456789123456789123456789",
                JwtIssuer     = "example.com",
                JwtExpireDays = 30
            }),
                roleManager,
                new GirafAuthenticationService(_testContext.MockDbContext.Object, _testContext.MockRoleManager.Object,
                                               _testContext.MockUserManager));

            _testContext.MockHttpContext = ac.MockHttpContext();
            _testContext.MockHttpContext
            .Setup(mhc => mhc.Request.Scheme)
            .Returns("Scheme?");

            var mockUrlHelper = new Mock <IUrlHelper>();

            ac.Url = mockUrlHelper.Object;

            return(ac);
        }
 private void SetupMockSignInManagerFail()
 {
     MockSignInManager.Setup(x => x.CheckPasswordSignInAsync(It.IsAny <IdentityUser>(),
                                                             It.IsAny <string>(), It.IsAny <bool>()))
     .Returns(Task.Run(() => SignInResult.Failed));
 }
Пример #10
0
 public AccountControllerTest()
 {
     _userManager   = MockUserManager.GetUserManager <User>();
     _signInManager = MockSignInManager.GetSignInManager <User>();
 }