Skip to content

Commit d82f58f

Browse files
Merge pull request #158 from TransactionProcessing/task/#157_updatedockernadhealthoutput
Update docker helper and health output
2 parents d09d36d + 84ac5bb commit d82f58f

9 files changed

Lines changed: 40 additions & 313 deletions

File tree

TransactionProcessorACL.BusinessLogic/TransactionProcessorACL.BusinessLogic.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
<ItemGroup>
88
<PackageReference Include="MediatR" Version="10.0.1" />
99
<PackageReference Include="SecurityService.Client" Version="1.1.1" />
10-
<PackageReference Include="Shared" Version="1.3.8" />
11-
<PackageReference Include="TransactionProcessor.Client" Version="1.1.9" />
10+
<PackageReference Include="Shared" Version="1.4.1" />
11+
<PackageReference Include="TransactionProcessor.Client" Version="1.1.12" />
1212
</ItemGroup>
1313

1414
<ItemGroup>

TransactionProcessorACL.IntegrationTests/Common/DockerHelper.cs

Lines changed: 7 additions & 252 deletions
Large diffs are not rendered by default.

TransactionProcessorACL.IntegrationTests/Common/GenericSteps.cs

Lines changed: 13 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ namespace TransactionProcessor.IntegrationTests.Common
66
{
77
using System.Threading;
88
using System.Threading.Tasks;
9+
using global::Shared.IntegrationTesting;
910
using global::Shared.Logger;
1011
using NLog;
1112
using TechTalk.SpecFlow;
@@ -34,46 +35,28 @@ public async Task StartSystem()
3435
logger.Initialise(LogManager.GetLogger(scenarioName), scenarioName);
3536
LogManager.AddHiddenAssembly(typeof(NlogLogger).Assembly);
3637

37-
this.TestingContext.DockerHelper = new DockerHelper(logger, this.TestingContext);
38+
this.TestingContext.DockerHelper = new DockerHelper();
39+
this.TestingContext.DockerHelper.Logger = logger;
40+
this.TestingContext.DockerHelper.SqlServerContainer = Setup.DatabaseServerContainer;
41+
this.TestingContext.DockerHelper.SqlServerNetwork = Setup.DatabaseServerNetwork;
42+
this.TestingContext.DockerHelper.DockerCredentials = Setup.DockerCredentials;
43+
this.TestingContext.DockerHelper.SqlCredentials = Setup.SqlCredentials;
44+
this.TestingContext.DockerHelper.SqlServerContainerName = "sharedsqlserver";
45+
46+
this.TestingContext.DockerHelper.SetImageDetails(ContainerType.TransactionProcessorAcl, ("transactionprocessoracl", false));
47+
3848
this.TestingContext.Logger = logger;
3949
this.TestingContext.Logger.LogInformation("About to Start Containers for Scenario Run");
4050
await this.TestingContext.DockerHelper.StartContainersForScenarioRun(scenarioName).ConfigureAwait(false);
4151
this.TestingContext.Logger.LogInformation("Containers for Scenario Run Started");
42-
43-
Thread.Sleep(20000);
4452
}
4553

4654
[AfterScenario]
4755
public async Task StopSystem()
4856
{
49-
if (this.ScenarioContext.TestError != null)
50-
{
51-
//Exception currentEx = this.ScenarioContext.TestError;
52-
//Console.Out.WriteLine(currentEx.Message);
53-
//while (currentEx.InnerException != null)
54-
//{
55-
// currentEx = currentEx.InnerException;
56-
// Console.Out.WriteLine(currentEx.Message);
57-
//}
58-
59-
//// The test has failed, grab the logs from all the containers
60-
//List<IContainerService> containers = new List<IContainerService>();
61-
//containers.Add(this.TestingContext.DockerHelper.EstateManagementContainer);
62-
//containers.Add(this.TestingContext.DockerHelper.TransactionProcessorContainer);
63-
64-
//foreach (IContainerService containerService in containers)
65-
//{
66-
// ConsoleStream<String> logStream = containerService.Logs();
67-
// IList<String> logData = logStream.ReadToEnd();
68-
69-
// foreach (String s in logData)
70-
// {
71-
// Console.Out.WriteLine(s);
72-
// }
73-
//}
74-
}
75-
57+
this.TestingContext.Logger.LogInformation("About to Stop Containers for Scenario Run");
7658
await this.TestingContext.DockerHelper.StopContainersForScenarioRun().ConfigureAwait(false);
59+
this.TestingContext.Logger.LogInformation("Containers for Scenario Run Stopped");
7760
}
7861
}
7962
}

TransactionProcessorACL.IntegrationTests/Common/Setup.cs

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,49 +21,38 @@ namespace TransactionProcessor.IntegrationTests.Common
2121
public class Setup
2222
{
2323
public static IContainerService DatabaseServerContainer;
24-
private static String DbConnectionStringWithNoDatabase;
2524
public static INetworkService DatabaseServerNetwork;
26-
27-
public static String SqlServerContainerName = "shareddatabasesqlserver";
28-
29-
public const String SqlUserName = "sa";
30-
31-
public const String SqlPassword = "thisisalongpassword123!";
25+
public static (String usename, String password) SqlCredentials = ("sa", "thisisalongpassword123!");
26+
public static (String url, String username, String password) DockerCredentials = ("https://www.docker.com", "stuartferguson", "Sc0tland");
3227
[BeforeTestRun]
3328
protected static void GlobalSetup()
3429
{
3530
ShouldlyConfiguration.DefaultTaskTimeout = TimeSpan.FromMinutes(1);
3631

37-
(String, String, String) dockerCredentials = ("https://www.docker.com", "stuartferguson", "Sc0tland");
38-
39-
// Setup a network for the DB Server
40-
DatabaseServerNetwork = global::Shared.IntegrationTesting.DockerHelper.SetupTestNetwork("sharednetwork", true);
32+
DockerHelper dockerHelper = new DockerHelper();
4133

4234
NlogLogger logger = new NlogLogger();
4335
logger.Initialise(LogManager.GetLogger("Specflow"), "Specflow");
4436
LogManager.AddHiddenAssembly(typeof(NlogLogger).Assembly);
37+
dockerHelper.Logger = logger;
38+
dockerHelper.SqlCredentials = Setup.SqlCredentials;
39+
dockerHelper.DockerCredentials = Setup.DockerCredentials;
40+
dockerHelper.SqlServerContainerName = "sharedsqlserver";
4541

46-
// Start the Database Server here
47-
DatabaseServerContainer = global::Shared.IntegrationTesting.DockerHelper.StartSqlContainerWithOpenConnection(Setup.SqlServerContainerName,
48-
logger,
49-
"mcr.microsoft.com/mssql/server:2019-latest",
50-
Setup.DatabaseServerNetwork,
51-
"",
52-
dockerCredentials,
53-
Setup.SqlUserName,
54-
Setup.SqlPassword);
42+
Setup.DatabaseServerNetwork = dockerHelper.SetupTestNetwork("sharednetwork", true);
43+
Setup.DatabaseServerContainer = dockerHelper.SetupSqlServerContainer(Setup.DatabaseServerNetwork);
5544
}
5645

5746
public static String GetConnectionString(String databaseName)
5847
{
59-
return $"server={Setup.DatabaseServerContainer.Name};database={databaseName};user id={Setup.SqlUserName};password={Setup.SqlPassword}";
48+
return $"server={Setup.DatabaseServerContainer.Name};database={databaseName};user id={Setup.SqlCredentials.usename};password={Setup.SqlCredentials.password}";
6049
}
6150

6251
public static String GetLocalConnectionString(String databaseName)
6352
{
6453
Int32 databaseHostPort = Setup.DatabaseServerContainer.ToHostExposedEndpoint("1433/tcp").Port;
6554

66-
return $"server=localhost,{databaseHostPort};database={databaseName};user id={Setup.SqlUserName};password={Setup.SqlPassword}";
55+
return $"server=localhost,{databaseHostPort};database={databaseName};user id={Setup.SqlCredentials.usename};password={Setup.SqlCredentials.password}";
6756
}
6857

6958
}

TransactionProcessorACL.IntegrationTests/Shared/SharedSteps.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ public async Task WhenICreateTheFollowingEstates(Table table)
575575
// Setup the subscriptions for the estate
576576
await Retry.For(async () =>
577577
{
578-
await this.TestingContext.DockerHelper.PopulateSubscriptionServiceConfigurationForEstate(estateName,this.TestingContext.DockerHelper.IsSecureEventStore).ConfigureAwait(false);
578+
await this.TestingContext.DockerHelper.CreateEstateSubscriptions(estateName).ConfigureAwait(false);
579579
}, retryFor: TimeSpan.FromMinutes(2), retryInterval: TimeSpan.FromSeconds(30));
580580

581581
EstateResponse estate = null;

TransactionProcessorACL.IntegrationTests/TransactionProcessorACL.IntegrationTests.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="ClientProxyBase" Version="1.3.9" />
10+
<PackageReference Include="ClientProxyBase" Version="1.4.1" />
1111
<PackageReference Include="Ductus.FluentDocker" Version="2.10.51" />
1212
<PackageReference Include="EstateManagement.Client" Version="1.1.5" />
1313
<PackageReference Include="EstateReporting.Database" Version="1.1.7" />
@@ -16,12 +16,12 @@
1616
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="6.0.5" />
1717
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
1818
<PackageReference Include="SecurityService.Client" Version="1.1.2-build20" />
19-
<PackageReference Include="Shared.IntegrationTesting" Version="1.3.9" />
19+
<PackageReference Include="Shared.IntegrationTesting" Version="1.4.1" />
2020
<PackageReference Include="Shouldly" Version="4.0.3" />
2121
<PackageReference Include="SpecFlow" Version="3.9.74" />
2222
<PackageReference Include="SpecFlow.Tools.MsBuild.Generation" Version="3.9.74" />
2323
<PackageReference Include="SpecFlow.xUnit" Version="3.9.74" />
24-
<PackageReference Include="TransactionProcessor.Client" Version="1.1.13-build21" />
24+
<PackageReference Include="TransactionProcessor.Client" Version="1.1.12" />
2525
<PackageReference Include="xunit" Version="2.4.1" />
2626
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
2727
<PrivateAssets>all</PrivateAssets>

TransactionProcessorACL.Testing/TransactionProcessorACL.Testing.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="TransactionProcessor.Client" Version="1.1.9" />
9+
<PackageReference Include="TransactionProcessor.Client" Version="1.1.12" />
1010
</ItemGroup>
1111

1212
<ItemGroup>

TransactionProcessorACL/Startup.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerF
120120
endpoints.MapHealthChecks("health", new HealthCheckOptions()
121121
{
122122
Predicate = _ => true,
123-
ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
123+
ResponseWriter = Shared.HealthChecks.HealthCheckMiddleware.WriteResponse
124124
});
125125
});
126126

TransactionProcessorACL/TransactionProcessorACL.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.5" />
2424
<PackageReference Include="Newtonsoft.Json" Version="13.0.2-beta1" />
2525
<PackageReference Include="NLog.Extensions.Logging" Version="5.0.0" />
26-
<PackageReference Include="Shared" Version="1.3.8" />
26+
<PackageReference Include="Shared" Version="1.4.1" />
2727
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.1" />
2828
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="6.3.1" />
2929
<PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="7.0.3" />

0 commit comments

Comments
 (0)