Skip to content

Commit ac648c9

Browse files
fix bootstrapper test
1 parent aec9c90 commit ac648c9

3 files changed

Lines changed: 31 additions & 32 deletions

File tree

EstateReportingAPI.Tests/General/BootstrapperTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ private IConfigurationRoot SetupMemoryConfiguration()
4242
IConfigurationBuilder builder = new ConfigurationBuilder();
4343

4444
configuration.Add("ConnectionStrings:HealthCheck", "HeathCheckConnString");
45+
configuration.Add("ConnectionStrings:TransactionProcessorReadModel", "TransactionProcessorReadModel");
46+
4547
configuration.Add("SecurityConfiguration:Authority", "https://127.0.0.1");
4648
configuration.Add("EventStoreSettings:ConnectionString", "https://127.0.0.1:2113");
4749
configuration.Add("EventStoreSettings:ConnectionName", "UnitTestConnection");

EstateReportingAPI/Bootstrapper/RepositoryRegistry.cs

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ namespace EstateReportingAPI.Bootstrapper;
55
using BusinessLogic;
66
using Common;
77
using Lamar;
8+
using Microsoft.EntityFrameworkCore;
89
using Shared.EntityFramework;
910
using Shared.EntityFramework.ConnectionStringConfiguration;
1011
using Shared.General;
@@ -14,31 +15,21 @@ namespace EstateReportingAPI.Bootstrapper;
1415
[ExcludeFromCodeCoverage]
1516
public class RepositoryRegistry : ServiceRegistry{
1617
public RepositoryRegistry(){
17-
18-
Boolean useConnectionStringConfig = bool.Parse(ConfigurationReader.GetValue("AppSettings", "UseConnectionStringConfig"));
19-
20-
if (useConnectionStringConfig)
18+
String? inTestMode = Environment.GetEnvironmentVariable("InTestMode");
19+
if (String.Compare(inTestMode, Boolean.TrueString, StringComparison.InvariantCultureIgnoreCase) != 0)
2120
{
22-
String connectionStringConfigurationConnString = ConfigurationReader.GetConnectionString("ConnectionStringConfiguration");
23-
this.AddSingleton<IConnectionStringConfigurationRepository, ConnectionStringConfigurationRepository>();
24-
this.AddTransient(c => { return new ConnectionStringConfigurationContext(connectionStringConfigurationConnString); });
21+
this.AddSingleton<IReportingManager, ReportingManager>();
22+
}
2523

26-
// TODO: Read this from a the database and set
24+
this.AddSingleton(typeof(IDbContextResolver<>), typeof(DbContextResolver<>));
25+
if (Startup.WebHostEnvironment.IsEnvironment("IntegrationTest") || Startup.Configuration.GetValue<Boolean>("ServiceOptions:UseInMemoryDatabase") == true)
26+
{
27+
this.AddDbContext<EstateManagementContext>(builder => builder.UseInMemoryDatabase("TransactionProcessorReadModel"));
2728
}
2829
else
2930
{
30-
this.AddSingleton<IConnectionStringConfigurationRepository, ConfigurationReaderConnectionStringRepository>();
31+
this.AddDbContext<EstateManagementContext>(options =>
32+
options.UseSqlServer(ConfigurationReader.GetConnectionString("TransactionProcessorReadModel")));
3133
}
32-
33-
String? inTestMode = Environment.GetEnvironmentVariable("InTestMode");
34-
if (String.Compare(inTestMode, Boolean.TrueString, StringComparison.InvariantCultureIgnoreCase) != 0){
35-
this.AddSingleton<IReportingManager, ReportingManager>();
36-
}
37-
38-
this.AddSingleton<IDbContextFactory<EstateManagementContext>, DbContextFactory<EstateManagementContext>>();
39-
40-
this.AddSingleton<Func<String, EstateManagementContext>>(cont => connectionString => {
41-
return new EstateManagementContext(connectionString);
42-
});
4334
}
4435
}

EstateReportingAPI/Startup.cs

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,24 +43,30 @@ public void ConfigureContainer(ServiceRegistry services)
4343
services.IncludeRegistry<RepositoryRegistry>();
4444
services.IncludeRegistry<MediatorRegistry>();
4545

46+
//String? inTestMode = Environment.GetEnvironmentVariable("InTestMode");
47+
//if (String.Compare(inTestMode, Boolean.TrueString, StringComparison.InvariantCultureIgnoreCase) == 0)
48+
//{
49+
// services.AddSingleton<IReportingManager, ReportingManager>();
50+
//}
51+
4652
Container = new Container(services);
4753
}
4854

49-
public void ConfigureServices(IServiceCollection services){
50-
// ConfigurationReader.Initialise(Configuration);
51-
// ServiceRegistry registry = new ServiceRegistry(services);
52-
// registry.IncludeRegistry<MiddlewareRegistry>();
53-
// registry.IncludeRegistry<RepositoryRegistry>();
55+
//public void ConfigureServices(IServiceCollection services){
56+
// // ConfigurationReader.Initialise(Configuration);
57+
// // ServiceRegistry registry = new ServiceRegistry(services);
58+
// // registry.IncludeRegistry<MiddlewareRegistry>();
59+
// // registry.IncludeRegistry<RepositoryRegistry>();
5460

55-
// Container = new Container(registry);
56-
String? inTestMode = Environment.GetEnvironmentVariable("InTestMode");
57-
if (String.Compare(inTestMode, Boolean.TrueString, StringComparison.InvariantCultureIgnoreCase) == 0)
58-
{
59-
services.AddSingleton<IReportingManager, ReportingManager>();
60-
}
61+
// // Container = new Container(registry);
62+
// String? inTestMode = Environment.GetEnvironmentVariable("InTestMode");
63+
// if (String.Compare(inTestMode, Boolean.TrueString, StringComparison.InvariantCultureIgnoreCase) == 0)
64+
// {
65+
// services.AddSingleton<IReportingManager, ReportingManager>();
66+
// }
6167

6268

63-
}
69+
//}
6470

6571
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
6672
{

0 commit comments

Comments
 (0)