예제 #1
0
        public AdminControllerTestsFixture()
        {
            var services = new ServiceCollection();

            services.AddEntityFrameworkInMemoryDatabase()
            .AddDbContext <ApplicationDbContext>(o => o.UseInMemoryDatabase(Guid.NewGuid().ToString()));

            services.AddIdentity <ApplicationUser, IdentityRole>()
            .AddEntityFrameworkStores <ApplicationDbContext>();

            services.AddLogging();

            // Taken from https://github.com/aspnet/MusicStore/blob/dev/test/MusicStore.Test/ManageControllerTest.cs (and modified)
            // IHttpContextAccessor is required for SignInManager, and UserManager
            var context = new DefaultHttpContext();

            context.Features.Set <IHttpAuthenticationFeature>(new HttpAuthenticationFeature {
                Handler = new TestAuthHandler()
            });
            services.AddSingleton <IHttpContextAccessor>(h => new HttpContextAccessor {
                HttpContext = context
            });

            var serviceProvider = services.BuildServiceProvider();

            Context = serviceProvider.GetService <ApplicationDbContext>();
            Context.Database.EnsureCreated();
            DatabaseInitialization.Initialize(Context);

            UserManager = serviceProvider.GetService <UserManager <ApplicationUser> >();
        }
 public ProjectsControllerTests(InMemoryControllerTestsFixture fixture)
 {
     UserManager = fixture.UserManager;
     fixture.Context.Database.EnsureDeleted();
     fixture.Context.Database.EnsureCreated();
     DatabaseInitialization.Initialize(fixture.Context);
 }
예제 #3
0
        public static async Task Main(string[] args)
        {
            var host = CreateWebHostBuilder(args).Build();

            // Initialize the database
            try
            {
                using (var scope = host.Services.CreateScope())
                {
                    using (var dbContext = scope.ServiceProvider.GetService <ApplicationDbContext>())
                    {
                        dbContext.Database.Migrate();
                        DatabaseInitialization.Initialize(dbContext);
                    }

                    // If using azure, containers must be intialized before they can be accessed
                    if (scope.ServiceProvider.GetRequiredService <IFileManager>() is AzureBlobFileManager azureBlobHandler)
                    {
                        await azureBlobHandler.EnsureContainerCreated(AppConstants.PROJECTS_CONTAINER);
                    }
                }
            }
            catch
            {
                /* Don't catch database initialization error at startup */
            }

            await host.RunAsync();
        }
예제 #4
0
        public static void Main(string[] args)
        {
            IHost         host         = CreateHostBuilder(args).Build();
            IMessageQueue messageQueue = host
                                         .Services
                                         .GetRequiredService <IMessageQueue>();

            messageQueue.Connect();
            ICommandsHelper commandsHelper = host
                                             .Services
                                             .GetRequiredService <ICommandsHelper>();

            commandsHelper.AddCommand("stock");
            var userManager = host
                              .Services
                              .GetRequiredService <UserManager <ChatUser> >();
            var logger = host
                         .Services
                         .GetRequiredService <ILogger <DatabaseInitialization> >();
            var chatRoomService = host
                                  .Services
                                  .GetRequiredService <IChatRoomService>();

            DatabaseInitialization.Initialize(userManager,
                                              logger,
                                              chatRoomService);
            host.Run();
        }
예제 #5
0
 public EditProject(AdminControllerTestsFixture fixture)
 {
     Context     = fixture.Context;
     UserManager = fixture.UserManager;
     Context.Database.EnsureDeleted();
     Context.Database.EnsureCreated();
     DatabaseInitialization.Initialize(Context);
 }
예제 #6
0
            public CreateNewUser(InMemoryControllerTestsFixture fixture)
            {
                Context         = fixture.Context;
                UserManager     = fixture.UserManager;
                SignInManager   = fixture.SignInManager;
                LoggerFactory   = fixture.LoggerFactory;
                ServiceProvider = fixture.ServiceProvider;

                Context.Database.EnsureDeleted();
                Context.Database.EnsureCreated();
                DatabaseInitialization.Initialize(Context);
            }
        public DatabaseInitializationTestsFixture()
        {
            var services = new ServiceCollection();

            services.AddEntityFrameworkInMemoryDatabase()
            .AddDbContext <ApplicationDbContext>(o => o.UseInMemoryDatabase(Guid.NewGuid().ToString()));

            var serviceProvider = services.BuildServiceProvider();

            Context = serviceProvider.GetService <ApplicationDbContext>();
            Context.Database.EnsureCreated();
            DatabaseInitialization.Initialize(Context);
        }
        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);

            builder.ApplyConfiguration(new AuthorConfiguration());
            builder.ApplyConfiguration(new AuthorInPrintingEditionConfiguration());
            builder.ApplyConfiguration(new OrderConfiguration());
            builder.ApplyConfiguration(new OrderItemConfiguration());
            builder.ApplyConfiguration(new PaymentConfiguration());
            builder.ApplyConfiguration(new PrintingEditionConfiguration());

            DatabaseInitialization.Initialize(builder);
        }
        public static void Main(string[] args)
        {
            var host = CreateHostBuilder(args).Build();

            using (var scope = host.Services.CreateScope())
            {
                var services = scope.ServiceProvider;
                try
                {
                    var context = services.GetRequiredService <LibraryContext>();
                    DatabaseInitialization.Initialize(context);
                }
                catch (Exception e)
                {
                    logger = services.GetRequiredService <ILogger <Program> >();
                    logger.LogError(e, "An error occured");
                }
            }

            host.Run();
        }