diff --git a/.github/workflows/nightlybuild.yml b/.github/workflows/nightlybuild.yml index 021492e..9dc61cf 100644 --- a/.github/workflows/nightlybuild.yml +++ b/.github/workflows/nightlybuild.yml @@ -6,29 +6,6 @@ on: repository_dispatch: jobs: - check: - runs-on: ubuntu-latest - name: Check latest commit - outputs: - commitcount: ${{ steps.commitswithintime.outputs.number-of-commits-within-time }} - steps: - - uses: actions/checkout@v2 - #with: - #fetch-depth: 0 - - - name: Check for commits within time - #uses: AlexHolderDeveloper/CommitsWithinTime@v1.1.5 - uses: TransactionProcessing/CommitsWithinTime@1.0.0 - id: commitswithintime - with: - hours: 24 - - - name: Get the output from CommitsWithinTime - run: | - echo "The 'has-new-commits-within-time' value is ${{ steps.commitswithintime.outputs.has-new-commits-within-time }}" - echo "The 'number-of-commits-within-time' value is ${{ steps.commitswithintime.outputs.number-of-commits-within-time }}" - echo "The 'total-commits' value is ${{ steps.commitswithintime.outputs.total-commits }}" - build: name: "Nightly Build" env: @@ -36,9 +13,6 @@ jobs: runs-on: ubuntu-latest - needs: check - if: ${{ needs.check.outputs.commitcount > 0 }} - steps: - uses: actions/checkout@v2.3.4 diff --git a/EstateReportingAPI.IntegrationTests/CustomWebApplicationFactory.cs b/EstateReportingAPI.IntegrationTests/CustomWebApplicationFactory.cs index 93b89c9..0dfc53e 100644 --- a/EstateReportingAPI.IntegrationTests/CustomWebApplicationFactory.cs +++ b/EstateReportingAPI.IntegrationTests/CustomWebApplicationFactory.cs @@ -1,4 +1,6 @@ -namespace EstateReportingAPI.IntegrationTests; +using Shared.Repositories; + +namespace EstateReportingAPI.IntegrationTests; using BusinessLogic; using EstateManagement.Database.Contexts; @@ -35,7 +37,7 @@ protected override void ConfigureWebHost(IWebHostBuilder builder) var context = new EstateManagementSqlServerContext(DatabaseConnectionString); Func f = connectionString => context; - IDbContextFactory factory = new DbContextFactory(new ConfigurationReaderConnectionStringRepository(), f); + IDbContextFactory factory = new DbContextFactory(new TestConnectionStringConfigurationRepository(DatabaseConnectionString), f); IReportingManager manager = new ReportingManager(factory); @@ -52,6 +54,34 @@ protected override void ConfigureWebHost(IWebHostBuilder builder) }); } + +} + +public class TestConnectionStringConfigurationRepository : IConnectionStringConfigurationRepository +{ + private readonly string DbConnectionString; + + public TestConnectionStringConfigurationRepository(String dbConnectionString) + { + DbConnectionString = dbConnectionString; + } + public Task DeleteConnectionStringConfiguration(string externalIdentifier, string connectionStringIdentifier, + CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + public async Task GetConnectionString(string externalIdentifier, string connectionStringIdentifier, + CancellationToken cancellationToken) + { + return DbConnectionString; + } + + public Task CreateConnectionString(string externalIdentifier, string connectionStringIdentifier, string connectionString, + CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } } public class TestAuthHandlerOptions : AuthenticationSchemeOptions diff --git a/EstateReportingAPI.IntegrationTests/EstateReportingAPI.IntegrationTests.csproj b/EstateReportingAPI.IntegrationTests/EstateReportingAPI.IntegrationTests.csproj index 33cf80a..6ccd77e 100644 --- a/EstateReportingAPI.IntegrationTests/EstateReportingAPI.IntegrationTests.csproj +++ b/EstateReportingAPI.IntegrationTests/EstateReportingAPI.IntegrationTests.csproj @@ -29,6 +29,8 @@ + + diff --git a/EstateReportingAPI/Bootstrapper/MiddlewareRegistry.cs b/EstateReportingAPI/Bootstrapper/MiddlewareRegistry.cs index af645f1..ba7896e 100644 --- a/EstateReportingAPI/Bootstrapper/MiddlewareRegistry.cs +++ b/EstateReportingAPI/Bootstrapper/MiddlewareRegistry.cs @@ -17,15 +17,24 @@ namespace EstateReportingAPI.Bootstrapper{ [ExcludeFromCodeCoverage] public class MiddlewareRegistry : ServiceRegistry{ - public MiddlewareRegistry(){ + public MiddlewareRegistry() + { + var connectionStringSection = Startup.Configuration.GetSection("ConnectionStrings"); + if (connectionStringSection.Exists() == false) + { + this.AddHealthChecks(); + } + else + { + this.AddHealthChecks().AddSqlServer( + connectionString: ConfigurationReader.GetConnectionString("HealthCheck"), + healthQuery: "SELECT 1;", + name: "Read Model Server", + failureStatus: HealthStatus.Degraded, + tags: new[] { "db", "sql", "sqlserver" }); + } - this.AddHealthChecks() - .AddSqlServer(connectionString:ConfigurationReader.GetConnectionString("HealthCheck"), - healthQuery:"SELECT 1;", - name:"Read Model Server", - failureStatus:HealthStatus.Degraded, - tags:new[]{ "db", "sql", "sqlserver" }); this.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo{