示例#1
0
        public virtual void SetUp()
        {
            logger = new LoggerConfiguration()
                     .MinimumLevel.Information()
                     .WriteTo.NUnitOutput()
                     .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss.ffff } {Level}] {Message:lj}{NewLine}{Exception}")
                     .CreateLogger();

            var loggerFactory = new LoggerFactory(new List <ILoggerProvider> {
                new SerilogLoggerProvider(logger)
            });

            db = CreateDbContext(loggerFactory);

            serviceProvider = ConfigureServices();

            userManager = serviceProvider.GetService <UlearnUserManager>();
            CreateInitialDataInDatabaseAsync().GetAwaiter().GetResult();
            CreateTestUsersAsync().GetAwaiter().GetResult();

            /* Configuring Z.EntityFramework.Plus for working with In-Memory database
             * See https://entityframework-plus.net/batch-delete for details. */
            BatchDeleteManager.InMemoryDbContextFactory = () => CreateDbContext(loggerFactory);

            /* Cache Manager is not working with In-Memory database.
             * See https://github.com/zzzprojects/EntityFramework-Plus/issues/391 for details. */
            QueryCacheManager.IsEnabled = false;
        }
示例#2
0
 public AccountController(ILogger logger, IOptions <WebApiConfiguration> options, WebCourseManager courseManager, UlearnDb db, UlearnUserManager userManager, SignInManager <ApplicationUser> signInManager,
                          ICourseRolesRepo courseRolesRepo, ICoursesRepo coursesRepo, IUsersRepo usersRepo, ISystemAccessesRepo systemAccessesRepo)
     : base(logger, courseManager, db, usersRepo)
 {
     this.userManager        = userManager;
     this.signInManager      = signInManager;
     this.courseRolesRepo    = courseRolesRepo;
     this.coursesRepo        = coursesRepo;
     this.systemAccessesRepo = systemAccessesRepo;
     this.configuration      = options.Value;
 }
示例#3
0
 public InitialDataCreator(
     UlearnDb db,
     RoleManager <IdentityRole> roleManager,
     UlearnUserManager userManager,
     UsersRepo usersRepo
     )
 {
     this.db          = db;
     this.roleManager = roleManager;
     this.userManager = userManager;
     this.usersRepo   = usersRepo;
 }
示例#4
0
        private async Task CreateTestUsersAsync(UlearnUserManager userManager)
        {
            var result = await userManager.CreateAsync(TestUsers.Admin, TestUsers.AdminPassword).ConfigureAwait(false);

            if (!result.Succeeded)
            {
                throw new InvalidOperationException($"Can't create admin user: {string.Join(", ", result.Errors.Select(e => e.Description))}");
            }

            TestUsers.Admin = await userManager.FindByNameAsync(TestUsers.Admin.UserName).ConfigureAwait(false);

            logger.Information($"Created user {TestUsers.Admin.UserName} with password {TestUsers.AdminPassword}, id = {TestUsers.Admin.Id}");
            await userManager.AddToRoleAsync(TestUsers.Admin, LmsRoleType.SysAdmin.ToString()).ConfigureAwait(false);
        }
示例#5
0
        public virtual void SetUp()
        {
            var loggerFactory = new LoggerFactory().AddVostok(LogProvider.Get());

            db = CreateDbContext(loggerFactory);

            serviceProvider = ConfigureServices();

            userManager = serviceProvider.GetService <UlearnUserManager>();
            CreateInitialDataInDatabaseAsync().GetAwaiter().GetResult();
            CreateTestUsersAsync().GetAwaiter().GetResult();

            /* Configuring Z.EntityFramework.Plus for working with In-Memory database
             * See https://entityframework-plus.net/batch-delete for details. */
            BatchDeleteManager.InMemoryDbContextFactory = () => CreateDbContext(loggerFactory);

            /* Cache Manager is not working with In-Memory database.
             * See https://github.com/zzzprojects/EntityFramework-Plus/issues/391 for details. */
            QueryCacheManager.IsEnabled = false;
        }
示例#6
0
 public UsersRepo(UlearnDb db, UlearnUserManager userManager, ICourseRoleUsersFilter courseRoleUsersFilter)
 {
     this.db                    = db;
     this.userManager           = userManager;
     this.courseRoleUsersFilter = courseRoleUsersFilter;
 }
示例#7
0
 public UsersRepo(UlearnDb db, UlearnUserManager userManager)
 {
     this.db          = db;
     this.userManager = userManager;
 }