Skip to content
Snippets Groups Projects
Commit 231312e2 authored by Klaus Fischer's avatar Klaus Fischer
Browse files

WIP: Adding environment version for MockingContainer

parent 6ba295be
No related branches found
No related tags found
1 merge request!12Feature/439 mvp part 2
......@@ -131,6 +131,7 @@ public class CertificateValidation {
}
[Test]
[Ignore("Not implemented")]
public void CheckPemFiles() {
var files = System.IO.Directory.GetFiles("./certificates");
var success = 0;
......
......@@ -40,7 +40,6 @@ public class RoutingTests {
[Test]
[TestCase("99123456760610", "064350014014")]
[TestCase("99077026006000", "064350014014")]
public void FindDestination_WithArs(string leika, string ars) {
// Arrange
......
......@@ -31,55 +31,45 @@ public class TestFile {
public static class Container {
public static IContainer Create() {
var builder = new ContainerBuilder();
var settings = CreateEncryptionSettings(builder);
builder.Register(c => new TestFile()).As<TestFile>();
builder.Register(c => CreateOAuthService().Object).As<IOAuthService>();
builder.Register(c => CreateRouteService().Object).As<IRouteService>();
builder.Register(c => CreateSubmissionService().Object).As<ISubmissionService>();
builder.Register(c => CreateDestinationService().Object).As<IDestinationService>();
builder.Register(c => CreateDestinationService(settings).Object).As<IDestinationService>();
builder.Register(c => Mock.Of<ICasesService>()).As<ICasesService>();
builder.Register(c => LoggerFactory.Create(
b => {
b.AddConsole();
b.SetMinimumLevel(LogLevel.Information);
}).CreateLogger("FluentSenderTests")
}).CreateLogger("E2E Tests")
).As<ILogger>();
CreateEncryptionSettings(builder);
return builder.Build();
}
private static Mock<IDestinationService> CreateDestinationService() {
private static Mock<IDestinationService> CreateDestinationService(MockSettings settings) {
var mock = new Mock<IDestinationService>();
mock.Setup(x => x.GetPublicKey(It.IsAny<string>())).Returns(() =>
File.ReadAllTextAsync("./encryptionKeys/publicKey_encryption.json"));
Task.FromResult(settings.PublicKeyEncryption));
return mock;
}
private static MockSettings GetSettingsFromEnvironment() {
throw new NotImplementedException();
}
private static MockSettings GetSettingsFromFiles() {
var privateKeyDecryption = File.ReadAllText("./encryptionKeys/privateKey_decryption.json");
var privateKeySigning = File.ReadAllText("./encryptionKeys/privateKey_signing.json");
var publicKeyEncryption = File.ReadAllText("./encryptionKeys/publicKey_encryption.json");
var publicKeySignature =
File.ReadAllText("./encryptionKeys/publicKey_signature_verification.json");
var setPublicKeys = File.ReadAllText("./encryptionKeys/set-public-keys.json");
var credentials =
JsonConvert.DeserializeObject<dynamic>(
File.ReadAllText("./encryptionKeys/credentials.json"))!;
var senderClientId = (string)credentials.sender.clientId;
var senderClientSecret = (string)credentials.sender.clientSecret;
var subscriberClientId = (string)credentials.subscriber.clientId;
var subscriberClientSecret = (string)credentials.subscriber.clientSecret;
var destinationId = (string)credentials.destinationId;
var leikaKey = (string)credentials.leikaKey;
var callbackSecret = (string)credentials.callbackSecret;
private static MockSettings? GetSettingsFromEnvironment() {
var privateKeyDecryption = Environment.GetEnvironmentVariable("privateKeyDecryption");
var privateKeySigning = Environment.GetEnvironmentVariable("privateKeySigning");
var publicKeyEncryption = Environment.GetEnvironmentVariable("publicKeyEncryption");
var publicKeySignature = Environment.GetEnvironmentVariable("publicKeySignature");
var setPublicKeys = Environment.GetEnvironmentVariable("setPublicKeys");
var senderClientId = Environment.GetEnvironmentVariable("senderClientId");
var senderClientSecret = Environment.GetEnvironmentVariable("senderClientSecret");
var subscriberClientId = Environment.GetEnvironmentVariable("subscriberClientId");
var subscriberClientSecret = Environment.GetEnvironmentVariable("subscriberClientSecret");
var destinationId = Environment.GetEnvironmentVariable("destinationId");
var leikaKey = Environment.GetEnvironmentVariable("leikaKey");
var callbackSecret = Environment.GetEnvironmentVariable("callbackSecret");
return new MockSettings(
privateKeyDecryption, privateKeySigning,
......@@ -89,12 +79,52 @@ public static class Container {
destinationId, leikaKey, callbackSecret, setPublicKeys);
}
private static MockSettings? GetSettingsFromFiles() {
try {
var privateKeyDecryption =
File.ReadAllText("./encryptionKeys/privateKey_decryption.json");
var privateKeySigning = File.ReadAllText("./encryptionKeys/privateKey_signing.json");
var publicKeyEncryption =
File.ReadAllText("./encryptionKeys/publicKey_encryption.json");
var publicKeySignature =
File.ReadAllText("./encryptionKeys/publicKey_signature_verification.json");
var setPublicKeys = File.ReadAllText("./encryptionKeys/set-public-keys.json");
var credentials =
JsonConvert.DeserializeObject<dynamic>(
File.ReadAllText("./encryptionKeys/credentials.json"))!;
var senderClientId = (string)credentials.sender.clientId;
var senderClientSecret = (string)credentials.sender.clientSecret;
var subscriberClientId = (string)credentials.subscriber.clientId;
var subscriberClientSecret = (string)credentials.subscriber.clientSecret;
var destinationId = (string)credentials.destinationId;
var leikaKey = (string)credentials.leikaKey;
var callbackSecret = (string)credentials.callbackSecret;
return new MockSettings(
privateKeyDecryption, privateKeySigning,
publicKeyEncryption, publicKeySignature,
senderClientId, senderClientSecret,
subscriberClientId, subscriberClientSecret,
destinationId, leikaKey, callbackSecret, setPublicKeys);
}
catch (Exception e) {
Console.WriteLine("Files not found, using environment variables");
return null;
}
}
private static void CreateEncryptionSettings(ContainerBuilder builder) {
var settings = GetSettingsFromFiles();
private static MockSettings CreateEncryptionSettings(ContainerBuilder builder) {
var settings = GetSettingsFromFiles() ?? GetSettingsFromEnvironment();
if (settings == null)
throw new ArgumentException("Could not find settings file nor environment variables");
builder.Register(c => settings)
.As<MockSettings>();
builder.Register(c => settings.ToKeySet()).As<KeySet>();
return settings;
}
private static Mock<IRouteService> CreateRouteService() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment