private UserMongoRepository GetUserMongoRepository() { DatabaseOptions databaseOptions = MongoDatabaseOptions; IOptionsMonitor <DatabaseOptions> databaseOptionsMock = Mock.Of <IOptionsMonitor <DatabaseOptions> >(_ => _.CurrentValue == databaseOptions); UserMongoRepository userMongoRepository = new UserMongoRepository(new MongoConnection(databaseOptionsMock.CurrentValue)); return(userMongoRepository); }
private UserManager <User> GetUserManager() { DatabaseOptions databaseOptions = _context.MongoDatabaseOptions; IOptionsMonitor <DatabaseOptions> databaseOptionsMock = Mock.Of <IOptionsMonitor <DatabaseOptions> >(_ => _.CurrentValue == databaseOptions); #pragma warning disable CA2000 // Dispose objects before losing scope UserMongoRepository userRepository = new UserMongoRepository(new MongoConnection(databaseOptionsMock.CurrentValue)); RoleMongoRepository roleRepository = new RoleMongoRepository(new MongoConnection(databaseOptionsMock.CurrentValue)); UserStore userStore = new UserStore(userRepository, roleRepository); #pragma warning restore CA2000 // Dispose objects before losing scope Mock <IOptions <IdentityOptions> > identityOptionsMock = new Mock <IOptions <IdentityOptions> >(); IdentityOptions identityOptions = new IdentityOptions { SignIn = new SignInOptions { RequireConfirmedEmail = false, RequireConfirmedPhoneNumber = false }, User = new UserOptions { RequireUniqueEmail = true }, Lockout = new LockoutOptions { AllowedForNewUsers = true } }; identityOptionsMock.Setup(a => a.Value).Returns(identityOptions); List <IUserValidator <User> > userValidators = new List <IUserValidator <User> >(); List <PasswordValidator <User> > pwdValidators = new List <PasswordValidator <User> >(); Mock <IServiceProvider> serviceProviders = new Mock <IServiceProvider>(); Mock <IUserTwoFactorTokenProvider <User> > mockUserFactorTokenProvider = new Mock <IUserTwoFactorTokenProvider <User> >(); mockUserFactorTokenProvider .Setup(a => a.CanGenerateTwoFactorTokenAsync(It.IsAny <UserManager <User> >(), It.IsAny <User>())) .Returns(Task.FromResult(true)); mockUserFactorTokenProvider .Setup(a => a.GenerateAsync(It.IsAny <string>(), It.IsAny <UserManager <User> >(), It.IsAny <User>())) .Returns(Task.FromResult(Guid.NewGuid().ToString())); mockUserFactorTokenProvider .Setup(a => a.ValidateAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <UserManager <User> >(), It.IsAny <User>())) .Returns(Task.FromResult(true)); UserManager <User> userManager = new UserManager <User>( userStore, identityOptionsMock.Object, new PasswordHasher <User>(), userValidators, pwdValidators, new UpperInvariantLookupNormalizer(), new IdentityErrorDescriber(), serviceProviders.Object, new Mock <ILogger <UserManager <User> > >().Object); return(userManager); }
public async Task Find_User_By_Normalized_Name_Mongo_Test() { // Arrange DatabaseOptions databaseOptions = _context.MongoDatabaseOptions; IOptionsMonitor <DatabaseOptions> databaseOptionsMock = Mock.Of <IOptionsMonitor <DatabaseOptions> >(_ => _.CurrentValue == databaseOptions); UserMongoRepository userRepository = new UserMongoRepository(new MongoConnection(databaseOptionsMock.CurrentValue)); // Act LetPortal.Identity.Entities.User result = await userRepository.FindByNormalizedUsername("ADMIN"); userRepository.Dispose(); // Assert Assert.NotNull(result); }
public static void TestUsers(MongoContext context) { var usersRepo = new UserMongoRepository(context); var users = usersRepo.GetAllUsers().ToList(); var id1 = users[0].UniqueName; var id2 = users[1].UniqueName; usersRepo.DeleteUserByID(id2); var finalUsers = usersRepo.GetAllUsers().ToList(); // assert AssertEqual(users.Count, 2); AssertEqual(id2, "u2@teste"); AssertEqual(finalUsers.Count, 1); AssertEqual(finalUsers[0].UniqueName, id1); }
public static void InitialSeed(MongoContext context) { var activityRepo = new ActivityMongoRepository(context); var activities = activityRepo.GetAllActivities(); // empty activities if (!activities.Any()) { activityRepo.Create(Guid.NewGuid(), "coding"); } var fiscalyearRepo = new FiscalYearMongoRepository(context); var fiscalYears = fiscalyearRepo.GetAllFiscalYears(); // empty fiscal year if (!fiscalYears.Any()) { var fy17 = new ViewModels.FiscalYearViewModel { FiscalYearID = Guid.NewGuid(), FullNumericFiscalYearMain = 2017, TextualFiscalYearMain = "FY2017" }; var fy18 = new ViewModels.FiscalYearViewModel { FiscalYearID = Guid.NewGuid(), FullNumericFiscalYearMain = 2018, TextualFiscalYearMain = "FY2018" }; fiscalyearRepo.AddNewFiscalYear(fy17); fiscalyearRepo.AddNewFiscalYear(fy18); fiscalYears = fiscalyearRepo.GetAllFiscalYears(); } var technologiesRepo = new TechnologyMongoRepository(context); var technologies = technologiesRepo.GetAllTechnologies(); // empty technologies if (!technologies.Any()) { technologiesRepo.Create(Guid.NewGuid(), "Cloud Technologies"); } var metricsRepo = new MetricMongoRepository(context); var metrics = metricsRepo.GetAllMetrics(); // empty metrics if (!metrics.Any()) { var fy17 = fiscalYears[0]; var fy18 = fiscalYears[1]; var m1 = new ViewModels.MetricViewModel() { MetricID = Guid.NewGuid(), MetricName = "Product sales", Description = "$$$ Dollars $$$", MetricCategory = "Sales", FiscalYearID = fy17.FiscalYearID }; var m2 = new ViewModels.MetricViewModel() { MetricID = Guid.NewGuid(), MetricName = "Customer satisfaction", Description = "Happy customers", MetricCategory = "Customer", FiscalYearID = fy18.FiscalYearID }; metricsRepo.AddNewMetric(m1); metricsRepo.AddNewMetric(m2); } var userRepo = new UserMongoRepository(context); var users = userRepo.GetAllUsers(); // empty users if (!users.Any()) { var u1 = new ViewModels.UserKanbanViewModel() { UniqueName = "u1@teste", Name = "U1" }; var u2 = new ViewModels.UserKanbanViewModel() { UniqueName = "u2@teste", Name = "U2" }; userRepo.AddNewUser(u1); userRepo.AddNewUser(u2); } }