예제 #1
0
        public async Task InitializeAsync()
        {
            MongoResource = new MongoResource();
            await MongoResource.InitializeAsync();

            Database = MongoResource.CreateDatabase();

            IWebHostBuilder hostBuilder = new WebHostBuilder()
                                          .ConfigureAppConfiguration(builder =>
            {
                builder.SetBasePath(Directory.GetCurrentDirectory());
                builder.AddJsonFile("appsettings.test.json", optional: true);
                builder.AddInMemoryCollection(new Dictionary <string, string>
                {
                    ["Identity:Database:ConnectionString"] =
                        MongoResource.ConnectionString,
                    ["Identity:Database:DatabaseName"] =
                        Database.DatabaseNamespace.DatabaseName
                });
            })
                                          .ConfigureTestServices(services =>
            {
            })
                                          .UseStartup <Startup>();

            var server = new TestServer(hostBuilder);

            Services = server.Services;

            IIdentityDbContext dbContext = server.Services.GetService <IIdentityDbContext>();

            var seeder = new DataSeeder(dbContext);
            await seeder.SeedIntialDataAsync(default);
예제 #2
0
        public async Task InitializeAsync()
        {
            MongoResource = new MongoResource();
            await MongoResource.InitializeAsync();

            Database = MongoResource.CreateDatabase();

            DbContext = new MediaStoreContext(
                new MongoOptions
            {
                ConnectionString = MongoResource.ConnectionString,
                DatabaseName     = Database.DatabaseNamespace.DatabaseName
            });

            IWebHostBuilder hostBuilder = new WebHostBuilder()
                                          .ConfigureAppConfiguration(builder =>
            {
                builder.SetBasePath(Directory.GetCurrentDirectory());
                builder.AddJsonFile("appsettings.test.json", optional: true);
                builder.AddInMemoryCollection(new Dictionary <string, string>
                {
                    ["MagicMedia:Database:ConnectionString"] =
                        MongoResource.ConnectionString,
                    ["MagicMedia:Database:DatabaseName"] =
                        Database.DatabaseNamespace.DatabaseName
                });
            })
                                          .ConfigureTestServices(services =>
            {
                services.AddSingleton(_httpClientFactory);
                services.AddMagicMediaTest();
                services.RemoveAll <IOperationExecutorFactory>();
                services.AddSingleton <IOperationExecutorFactory>(sp =>
                                                                  new HttpOperationExecutorFactory(
                                                                      "MagicMediaTest",
                                                                      sp.GetRequiredService <InMemoryHttpClientFactory>().CreateClient,
                                                                      PipelineFactory(sp),
                                                                      sp));
            })
                                          .UseStartup <Startup>();

            var server = new TestServer(hostBuilder);

            Services      = server.Services;
            HttpClient    = server.CreateClient();
            GraphQLClient = Services.GetService <IMagicMediaTest>();
            _httpClientFactory.HttpClient             = server.CreateClient();
            _httpClientFactory.HttpClient.BaseAddress = new Uri("http://localhost/graphql");

            await SeedIntialDataAsync();
        }