public void Setup() { Configuration = new ConfigurationBuilder() .SetBasePath(TestContext.CurrentContext.TestDirectory) .AddJsonFile("appsettings.json", optional: true) .Build(); PopulatedDatabaseName = Configuration.GetSection("TestDatabaseTemplateName").Value ?? "EdFi_Ods_Populated_Template_Test"; TestPopulatedDatabaseName = DatabasePrefix + Guid.NewGuid().ToString("N"); if (string.IsNullOrWhiteSpace(PopulatedDatabaseName)) { throw new ApplicationException( "Invalid configuration for integration tests. Verify a valid source database name is provided in the App Setting \"TestDatabaseTemplateName\""); } var databaseHelper = new MsSqlDatabaseHelper(Configuration); databaseHelper.CopyDatabase(PopulatedDatabaseName, TestPopulatedDatabaseName); Assembly.Load("EdFi.Ods.Common"); Assembly.Load("EdFi.Ods.Standard"); }
public async Task OneTimeStartup() { var executableAbsoluteDirectory = Path.GetDirectoryName(typeof(GlobalWebApiIntegrationTestFixture).Assembly.Location); Host = Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder() .ConfigureAppConfiguration( (hostBuilderContext, configBuilder) => { configBuilder.SetBasePath(executableAbsoluteDirectory) .AddJsonFile(Path.Combine(executableAbsoluteDirectory, "appsettings.json")) .AddJsonFile(Path.Combine(executableAbsoluteDirectory, "appsettings.yearspecific.json")); }) .UseServiceProviderFactory(new AutofacServiceProviderFactory()) .ConfigureWebHostDefaults( webBuilder => { webBuilder.UseStartup <Startup>(); webBuilder.UseUrls(TestConstants.YearSpecificBaseUrl); }) .Build(); Configuration = (IConfiguration)Host.Services.GetService(typeof(IConfiguration)); HttpClient = new HttpClient { BaseAddress = new Uri(TestConstants.YearSpecificBaseUrl) }; CreateDatabases(); await Host.StartAsync(GlobalWebApiIntegrationTestFixture.CancellationToken); void CreateDatabases() { string populatedTemplateDatabaseName = Configuration.GetValue <string>("TestDatabaseTemplateName"); if (string.IsNullOrWhiteSpace(populatedTemplateDatabaseName)) { throw new ApplicationException( "Invalid configuration for integration tests. Verify a valid source database name is provided in the App Setting \"TestDatabaseTemplateName\""); } _databaseHelper = new MsSqlDatabaseHelper((IConfigurationRoot)Configuration); // year specific databases _databaseHelper.CopyDatabase( populatedTemplateDatabaseName, $"{GlobalWebApiIntegrationTestFixture.DatabaseName}_2014"); _databaseHelper.CopyDatabase( populatedTemplateDatabaseName, $"{GlobalWebApiIntegrationTestFixture.DatabaseName}_2015"); } }
public async Task OneTimeSetup() { Host = Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder() .UseServiceProviderFactory(new AutofacServiceProviderFactory()) .ConfigureWebHostDefaults( webBuilder => { webBuilder.UseStartup <Startup>(); webBuilder.UseUrls(TestConstants.SandboxBaseUrl); }) .Build(); Configuration = (IConfiguration)Host.Services.GetService(typeof(IConfiguration)); CreateDatabase(); await Host.StartAsync(GlobalWebApiIntegrationTestFixture.CancellationToken); HttpClient = new HttpClient { BaseAddress = new Uri(TestConstants.SandboxBaseUrl) }; void CreateDatabase() { var populatedTemplateDatabaseName = Configuration.GetValue <string>("TestDatabaseTemplateName"); if (string.IsNullOrWhiteSpace(populatedTemplateDatabaseName)) { throw new ApplicationException( "Invalid configuration for integration tests. Verify a valid source database name is provided in the App Setting \"TestDatabaseTemplateName\""); } _databaseHelper = new MsSqlDatabaseHelper((IConfigurationRoot)Configuration); // sandbox databases _databaseHelper.CopyDatabase(populatedTemplateDatabaseName, GlobalWebApiIntegrationTestFixture.DatabaseName); } }
public async Task OneTimeSetUpAsync() { SpecFlowDatabaseName = DatabasePrefix + Guid.NewGuid().ToString("N"); var executableAbsoluteDirectory = AppContext.BaseDirectory; ConfigureLogging(executableAbsoluteDirectory); // Create and start up the host Host = Microsoft.Extensions.Hosting.Host.CreateDefaultBuilder() .UseServiceProviderFactory(new AutofacServiceProviderFactory()) .ConfigureWebHostDefaults( webBuilder => { webBuilder.UseStartup <Startup>(); webBuilder.UseUrls(CompositesTestConstants.BaseUrl); }) .Build(); ServiceProvider = Host.Services; var configuration = (IConfigurationRoot)ServiceProvider.GetService(typeof(IConfiguration)); var populatedTemplateDatabaseName = configuration.GetSection("TestDatabaseTemplateName").Value; if (string.IsNullOrWhiteSpace(populatedTemplateDatabaseName)) { throw new ApplicationException( "Invalid configuration for integration tests. Verify a valid source database name is provided in the App Setting \"TestDatabaseTemplateName\""); } DatabaseHelper = new MsSqlDatabaseHelper(configuration); DatabaseHelper.CopyDatabase(populatedTemplateDatabaseName, SpecFlowDatabaseName); await Host.StartAsync(); }
public void TearDown() { var databaseHelper = new MsSqlDatabaseHelper(Configuration); databaseHelper.DropMatchingDatabases(DatabasePrefix + "%"); }