Template
54 lines
2.4 KiB
C#
54 lines
2.4 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Strata.ApiLib.Core.Cors.Extensions;
|
|
using Strata.ApiLib.Core.StrataAuthentication.Bootstrappers;
|
|
using Strata.Configuration.Client.DependencyInjection.ConsoleApps;
|
|
using Strata.ContinuousImprovement.Biz.Configurations;
|
|
using Strata.ContinuousImprovement.Biz.DbContexts;
|
|
using Strata.ContinuousImprovement.Biz.StrategicOpportunities;
|
|
using System.Diagnostics;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
|
|
namespace Strata.ContinuousImprovement.Biz.Test.Integration
|
|
{
|
|
[ExcludeFromCodeCoverage]
|
|
public static class ServiceCollectionFactory
|
|
{
|
|
private static readonly Guid DevMaster = new("54409f55-5ddf-4748-8222-9ccfb04fb4f5");
|
|
private static readonly Guid SeleniumAutomationDatabase = new("6bcd9090-3446-4cc1-b1aa-38afae76a1c6");
|
|
private static readonly Guid SeleniumAutomationRefreshed4Master = new("feb7a099-8b2a-436c-9aba-0f853c8c60c9");
|
|
private static readonly string IntegrationTesting = $"ci_{DateTime.Now:yyyyMMdd}_{Guid.NewGuid():N}";
|
|
|
|
public static IServiceCollection Create()
|
|
{
|
|
var services = new ServiceCollection();
|
|
var jazzDbGuid = Debugger.IsAttached ? SeleniumAutomationRefreshed4Master : SeleniumAutomationDatabase;
|
|
try
|
|
{
|
|
var configuration = StrataConfigurationFactory.GetConfiguration();
|
|
services.AddSingleton(configuration);
|
|
services.AddStrataAuthentication(configuration);
|
|
services.AddStrataCors(configuration);
|
|
services.AddContinuousImprovementServices(configuration, IntegrationTesting);
|
|
services.AddAsyncDbContextFactory<JazzDbContext>(options =>
|
|
{
|
|
options
|
|
.WithConnectionString((provider, token) => provider.GetConnectionStringFromSmc(jazzDbGuid, token))
|
|
.WithDbContextOptions((connectionString, provider, builder) =>
|
|
builder.UseSqlServer(connectionString, options => { options.CommandTimeout(300); }));
|
|
});
|
|
services.AddScoped<IStrategicOpportunityService, StrategicOpportunityService>();
|
|
|
|
services.AddLogging();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
|
|
return services;
|
|
}
|
|
}
|
|
}
|