Пример #1
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
            }
        }