public async Task UpdateUserRefreshTokenCommandHandler_GivenValidCommand_ShouldInsertedInDb() { var serviceProvider = _services .BuildServiceProvider(); using (var scope = serviceProvider.CreateScope()) { var scopedServices = scope.ServiceProvider; try { // seed sample user data var userManager = scopedServices.GetRequiredService <UserManager <User> >(); _logging = scopedServices.GetRequiredService <ILoggerFactory>(); var roleManager = scopedServices.GetRequiredService <RoleManager <Role> >(); await SecurityDbContextSeed.SeedRolesAsync(roleManager); _commandHandler = new RegisterUserCommandHandler(userManager, _logging.CreateLogger <RegisterUserCommandHandler>()); _dbContext = scopedServices.GetRequiredService <SecurityDbContext>(); IUnitOfWork unitOfWork = new UnitOfWork(_dbContext); _userRepository = new UserRepository(unitOfWork); await _commandHandler.Handle(new RegisterUserCommand("test", "test2", "*****@*****.**", "15 sh", "dokki", "giza", "egypt", DateTime.Now, "", "P@ssw0rd"), CancellationToken.None); var createdUser = await _userRepository.FindAsync(new UserSpecification("*****@*****.**")); createdUser.ShouldNotBeNull(); } catch (Exception ex) { string.IsNullOrEmpty(ex.Message).ShouldBeTrue(); } } }
public static async Task Main(string[] args) { var host = CreateWebHostBuilder(args) .Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var loggerFactory = services.GetRequiredService <ILoggerFactory>(); try { var userManager = services.GetRequiredService <UserManager <User> >(); await SecurityDbContextSeed.SeedUserAsync(userManager); var roleManager = services.GetRequiredService <RoleManager <Role> >(); await SecurityDbContextSeed.SeedRolesAsync(roleManager); } catch (Exception ex) { var logger = loggerFactory.CreateLogger <Program>(); logger.LogError(ex, "An error occurred seeding the DB."); } } host.Run(); }
protected override void ConfigureWebHost(IWebHostBuilder builder) { builder.ConfigureServices(services => { // Create a new service provider. var provider = services .AddEntityFrameworkInMemoryDatabase() .BuildServiceProvider(); // Add a database context (ApplicationDbContext) using an in-memory // database for testing. services.AddDbContext <SecurityDbContext>(options => { options.UseInMemoryDatabase("InMemoryDbForTesting"); options.UseInternalServiceProvider(provider); }); services.AddIdentity <User, Role>() .AddEntityFrameworkStores <SecurityDbContext>() .AddDefaultTokenProviders(); // Build the service provider. var sp = services.BuildServiceProvider(); // Create a scope to obtain a reference to the database // context (ApplicationDbContext). using (var scope = sp.CreateScope()) { var scopedServices = scope.ServiceProvider; var db = scopedServices.GetRequiredService <SecurityDbContext>(); var logger = scopedServices .GetRequiredService <ILogger <CustomWebApplicationFactory <TStartup> > >(); // Ensure the database is created. db.db.EnsureCreated(); try { // seed sample user data var userManager = scopedServices.GetRequiredService <UserManager <User> >(); SecurityDbContextSeed.SeedUserAsync(userManager).Wait(); } catch (Exception ex) { logger.LogError(ex, $"An error occurred seeding the " + "database with test messages. Error: {ex.Message}"); } } }); }
public static async Task Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; var loggerFactory = services.GetRequiredService <ILoggerFactory>(); try { var catalogContext = services.GetRequiredService <SecurityDbContext>(); await SecurityDbContextSeed.SeedAsync(catalogContext); } catch (Exception ex) { var logger = loggerFactory.CreateLogger <Program>(); logger.LogError(ex, "An error occurred seeding the DB."); } } host.Run(); }