diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dc0683ed..0630c6e4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,7 +28,7 @@ env: }} jobs: build: - runs-on: ubuntu-latest + runs-on: windows-latest env: NEL_MESH_CLIENT_ACCEPTANCE_MESHCONFIGURATION__MAILBOXID: ${{ secrets.NEL_MESH_CLIENT_ACCEPTANCE_MESHCONFIGURATION__MAILBOXID }} NEL_MESH_CLIENT_ACCEPTANCE_MESHCONFIGURATION__PASSWORD: ${{ secrets.NEL_MESH_CLIENT_ACCEPTANCE_MESHCONFIGURATION__PASSWORD }} diff --git a/.gitignore b/.gitignore index 4649a14a..1d1c0d01 100644 --- a/.gitignore +++ b/.gitignore @@ -374,3 +374,6 @@ local.appsettings.json /NEL.MESH.Tests.Acceptance/local.appsettings.integration.json /NEL.MESH.Tests.Integration/local.appsettings.integration.json /NEL.MESH.Tests.Integration/local.appsettings.acceptance.json +/NEL.MESH.Tests.Acceptance/appsettings.Development.json +/NEL.MESH.Tests.Integration/appsettings.Development.json +/NEL.MESH.Tests.Integration.Witness/appsettings.Development.json diff --git a/NEL.MESH.Tests.Acceptance/ConfigurationTests.cs b/NEL.MESH.Tests.Acceptance/ConfigurationTests.cs index 79e3d4de..29b3a487 100644 --- a/NEL.MESH.Tests.Acceptance/ConfigurationTests.cs +++ b/NEL.MESH.Tests.Acceptance/ConfigurationTests.cs @@ -14,7 +14,7 @@ public ConfigurationTests() { var configurationBuilder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) - .AddJsonFile("local.appsettings.json", optional: true, reloadOnChange: true) + .AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables("NEL_MESH_CLIENT_ACCEPTANCE_"); this.configuration = configurationBuilder.Build(); diff --git a/NEL.MESH.Tests.Acceptance/MeshClientTests.cs b/NEL.MESH.Tests.Acceptance/MeshClientTests.cs index c51b62bb..417660f1 100644 --- a/NEL.MESH.Tests.Acceptance/MeshClientTests.cs +++ b/NEL.MESH.Tests.Acceptance/MeshClientTests.cs @@ -26,7 +26,7 @@ public MeshClientTests() { var configurationBuilder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) - .AddJsonFile("local.appsettings.json", optional: true, reloadOnChange: true) + .AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables("NEL_MESH_CLIENT_ACCEPTANCE_"); IConfiguration configuration = configurationBuilder.Build(); diff --git a/NEL.MESH.Tests.Acceptance/NEL.MESH.Tests.Acceptance.csproj b/NEL.MESH.Tests.Acceptance/NEL.MESH.Tests.Acceptance.csproj index ec9e4f44..22644c22 100644 --- a/NEL.MESH.Tests.Acceptance/NEL.MESH.Tests.Acceptance.csproj +++ b/NEL.MESH.Tests.Acceptance/NEL.MESH.Tests.Acceptance.csproj @@ -35,6 +35,9 @@ + + Always + Always diff --git a/NEL.MESH.Tests.Integration.Witness/100.MeshClientTests.cs b/NEL.MESH.Tests.Integration.Witness/100.MeshClientTests.cs index cc8a803d..a0a190e2 100644 --- a/NEL.MESH.Tests.Integration.Witness/100.MeshClientTests.cs +++ b/NEL.MESH.Tests.Integration.Witness/100.MeshClientTests.cs @@ -31,7 +31,7 @@ public MeshClientTests(ITestOutputHelper output) var configurationBuilder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) - .AddJsonFile("local.appsettings.json", optional: true, reloadOnChange: true) + .AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables("NEL_MESH_CLIENT_INTEGRATION_"); IConfiguration configuration = configurationBuilder.Build(); diff --git a/NEL.MESH.Tests.Integration.Witness/ConfigurationTests.cs b/NEL.MESH.Tests.Integration.Witness/ConfigurationTests.cs index 6225547d..2fbd3e35 100644 --- a/NEL.MESH.Tests.Integration.Witness/ConfigurationTests.cs +++ b/NEL.MESH.Tests.Integration.Witness/ConfigurationTests.cs @@ -14,7 +14,7 @@ public ConfigurationTests() { var configurationBuilder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) - .AddJsonFile("local.appsettings.json", optional: true, reloadOnChange: true) + .AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables("NEL_MESH_CLIENT_INTEGRATION_"); this.configuration = configurationBuilder.Build(); diff --git a/NEL.MESH.Tests.Integration/ConfigurationTests.cs b/NEL.MESH.Tests.Integration/ConfigurationTests.cs index fbc8a819..f25088ea 100644 --- a/NEL.MESH.Tests.Integration/ConfigurationTests.cs +++ b/NEL.MESH.Tests.Integration/ConfigurationTests.cs @@ -14,7 +14,7 @@ public ConfigurationTests() { var configurationBuilder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) - .AddJsonFile("local.appsettings.json", optional: true, reloadOnChange: true) + .AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables("NEL_MESH_CLIENT_INTEGRATION_"); this.configuration = configurationBuilder.Build(); diff --git a/NEL.MESH.Tests.Integration/MeshClientTests.cs b/NEL.MESH.Tests.Integration/MeshClientTests.cs index 1cf3357c..9d7a0427 100644 --- a/NEL.MESH.Tests.Integration/MeshClientTests.cs +++ b/NEL.MESH.Tests.Integration/MeshClientTests.cs @@ -23,7 +23,7 @@ public MeshClientTests() { var configurationBuilder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) - .AddJsonFile("local.appsettings.json", optional: true, reloadOnChange: true) + .AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables("NEL_MESH_CLIENT_INTEGRATION_"); IConfiguration configuration = configurationBuilder.Build(); diff --git a/NEL.MESH.Tests.Integration/NEL.MESH.Tests.Integration.csproj b/NEL.MESH.Tests.Integration/NEL.MESH.Tests.Integration.csproj index 141b8e8b..8c3e7e8b 100644 --- a/NEL.MESH.Tests.Integration/NEL.MESH.Tests.Integration.csproj +++ b/NEL.MESH.Tests.Integration/NEL.MESH.Tests.Integration.csproj @@ -40,6 +40,9 @@ + + Always + Always diff --git a/NEL.MESH.UI/appsettings.Development.json b/NEL.MESH.UI/appsettings.Development.json new file mode 100644 index 00000000..b38b7393 --- /dev/null +++ b/NEL.MESH.UI/appsettings.Development.json @@ -0,0 +1,364 @@ +{ + "MeshConfiguration": { + "MexClientVersion": "ApiDocs==0.0.1", + "MexOSName": "Windows", + "MexOSVersion": "#11", + "ChunkSize": 20 + }, + "MeshCertificates": [ + { + "Environment": "DEV", + "TlsRootCertificates": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEZ2pDQ0FtcWdBd0lCQWdJRVhSOUxrREFOQmdrcWhraUc5dzBCQVFzRkFEQThNUXd3Q2dZRFZRUUtFd051DQphSE14Q3pBSkJnTlZCQXNUQWtOQk1SOHdIUVlEVlFRREV4Wk9TRk1nVUZSTUlGSnZiM1FnUVhWMGFHOXlhWFI1DQpNQjRYRFRFNU1EY3dOVEV5TXpjeU9Gb1hEVE01TURjd05URXpNRGN5T0Zvd1BERU1NQW9HQTFVRUNoTURibWh6DQpNUXN3Q1FZRFZRUUxFd0pEUVRFZk1CMEdBMVVFQXhNV1RraFRJRkJVVENCU2IyOTBJRUYxZEdodmNtbDBlVENDDQpBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUprVU9Fdml0dXZ3MFNTbVU0YWRYRG5QDQpTWGlhTHNRYjhDUFp3THlsU1lxdW1mSXpTanN4a2t0SnNla2VnRjZ5YnRHUk1QV1crekJYTUkxNUMzY1QrdG44DQpncENOWXluMVA4LytvTmd4dHFUTFlqeGFja2ZVNlM4QUwrNmQzOWdyRGQ2UGxJNUlMdkNaa284Mm0yM2NVeDJ5DQoyYVJucEFJQmdEazUxOHRXTFRaYk11TTE0YnphL1F2WVZlWDVEcVc5Z3N6OTQ3b3BiNkZZUmUzTWplSGlRbXhxDQpHdldmUFkveWIvY2dnbzV5OG0yZlRRYTZkZW5jSGVGd25td2JYNm53YnJGeDhVWHpmbEQwWWtlNGk1WjJOTjRDDQp4bWdBcXR4U3U1Qno5ZjdaUUxQUEJUNUZMK3B2eGtBdTRjRUhtYTRKREQzS2F5aHh6eGlnS2JRY25RcFhXRWNDDQpBd0VBQWFPQml6Q0JpREFyQmdOVkhSQUVKREFpZ0E4eU1ERTVNRGN3TlRFeU16Y3lPRnFCRHpJd016a3dOekExDQpNVE13TnpJNFdqQUxCZ05WSFE4RUJBTUNBUVl3SHdZRFZSMGpCQmd3Rm9BVXo0Z0RyS250M3RFQUNvQ0FBRUM0DQpBNGpJa0ZJd0hRWURWUjBPQkJZRUZNK0lBNnlwN2Q3UkFBcUFnQUJBdUFPSXlKQlNNQXdHQTFVZEV3UUZNQU1CDQpBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUpVMDZKT1BwQk1nai9Pd3pkMmFERElsekVqSER5QngwVU9hDQp4Y0llZUFUL0J5WWtUdVBlZXM5YjV2c1BtVXdWdU56S3NjQ2hROXR2dXVnUFBvVHU5Z1hRZkxsZEtUTGxQcU9mDQorVkNnaFFoTTRIK2k5K0p5SzdpS1lON3hkVkpMakgwQUlncE5Md05OLzJwblorNjlkT1U0RzdXMCtOWVQ0ZS93DQp3RGNKU3EwZmk4ZHdpeERUWVU4RGtGQ2ZFeWFoRXFldU5QcDlYM2RkV1pyeXEzWGpiUjNuMFlBMXNVbW51d2lUDQpydU1OWFIwbTM0cHQwbkZMUUZ6NTcrZExXaEFzQjV4UWRMUGMxQXVXd0svUjhqbkhoMytRL1JYT25YRzROTm1uDQpSS1lVRGpMcEZUbldtaVpmR3lYNmVkSXJqTjcyTTNHdXU1Y0FzMHBELzJkNlFGc3AxRGc9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t" + ], + "TlsIntermediateCertificates": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEaURDQ0FuQ2dBd0lCQWdJRVhhMkw0ekFOQmdrcWhraUc5dzBCQVFzRkFEQThNUXd3Q2dZRFZRUUtFd051DQphSE14Q3pBSkJnTlZCQXNUQWtOQk1SOHdIUVlEVlFRREV4Wk9TRk1nVUZSTUlGSnZiM1FnUVhWMGFHOXlhWFI1DQpNQjRYRFRFNU1URXhNVEV6TXpBeU1Gb1hEVEk1TVRFeE1URTBNREF5TUZvd05qRU1NQW9HQTFVRUNoTURibWh6DQpNUXN3Q1FZRFZRUUxFd0pEUVRFWk1CY0dBMVVFQXhNUVRraFRJRWxPVkNCTVpYWmxiQ0F4UXpDQ0FTSXdEUVlKDQpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKWllYMHMyUEE5eS9pWE5pamdlbUNzTjR3bmhLbkNNDQozYmlDM0E5UEtNSjY4M1F2QmRvZnJ1R0EwM212UlFzQjNxRkJjdXkyaGVSKzhzUklVWVZvb2VvVW5Ob3F3Y1FPDQo3S2FrbFhPdGRuNHEwZTgwcUtJU0trU0tDQVVnR0d4ZTQ2NmhkZ3RMY1A1L3BaS1d0UFh4NkNpMHZ3bnNPSC9rDQpNdjZCejYycHJ5bmRUYVFsN2EzMEpNbEhRa1hwenk0eW5yZWlJZ1RaMUx0VFpaNzl2YVZaMWdGWG5lcUdrSEVGDQpqQWsreG5GSW5XelUwMFZkVnQrUldUeWRMcnBobDV5OU9XNTJBZ3h1OXJmak5oU3dtQmtLWDJ6bEtMSUJELzB6DQp5OUw2TElHVFUyU3BlU1hBamx2c3AxTndNUFFJZ3FjUHlhc29ibVJNeU52ODhlNllxYUxaczRFQ0F3RUFBYU9CDQpsekNCbERBM0JnTlZIUjhFTURBdU1DeWdLcUFvaGlab2RIUndPaTh2WTNKc0xtNW9jeTUxYXk5d2RHd3ZjbTl2DQpkR05oTDJGeWJHRXhMbU55YkRBTEJnTlZIUThFQkFNQ0FRWXdId1lEVlIwakJCZ3dGb0FVejRnRHJLbnQzdEVBDQpDb0NBQUVDNEE0aklrRkl3SFFZRFZSME9CQllFRkFBR2dtMnJwaEpEN2JZTjlPWTh4Q0RCWVp1Z01Bd0dBMVVkDQpFd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQmJxbnlNbVZ5T21JVWlCQVc1cHJHZUl4SmVrDQoxMGhZOTJmenRuVHVyNVFkNnMxVExoKzhZTnBaMUN5dmQ1ZVVQV1lrUGNLMjhTKzBtWEdXQjNteE9HeW9yVm0vDQpWOVRlSWNjWWNrQU5TRTY0R3pacEVaREpRYTh0SEk0bXJzelphWFFuYkVwUTVYUUN6aDNkWFJ6Y1ZuZ3l4QnRHDQpvVldodUZPNU9SSDJwVGVuYzE1c3JYM1U1Q09oNGFFTWlIMTBYNVVhM004bG9BOTh5ZjlPdDhWR1hLbnpRU2JuDQowczhJRlBhWm9sdzZNRm9YUFY3cC85S29xSldXak9DREFQbG1GQlFSbko3bnlwSVQ1N2QyV2hvcW9qbFA3NzNNDQpxQnhHUG5jd0RzMlZlWkJHSklkRS9wYURCV2VUZlFGVlNDRnJpOG1zV1Vmd1c4YzFzM2xsRm9yZDVGWT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" + ], + "ClientSigningCertificate": "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" + }, + { + "Environment": "INT", + "TlsRootCertificates": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURnakNDQW1xZ0F3SUJBZ0lFWFI5TGtEQU5CZ2txaGtpRzl3MEJBUXNGQURBOE1Rd3dDZ1lEVlFRS0V3TnUKYUhNeEN6QUpCZ05WQkFzVEFrTkJNUjh3SFFZRFZRUURFeFpPU0ZNZ1VGUk1JRkp2YjNRZ1FYVjBhRzl5YVhSNQpNQjRYRFRFNU1EY3dOVEV5TXpjeU9Gb1hEVE01TURjd05URXpNRGN5T0Zvd1BERU1NQW9HQTFVRUNoTURibWh6Ck1Rc3dDUVlEVlFRTEV3SkRRVEVmTUIwR0ExVUVBeE1XVGtoVElGQlVUQ0JTYjI5MElFRjFkR2h2Y21sMGVUQ0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKa1VPRXZpdHV2dzBTU21VNGFkWERuUApTWGlhTHNRYjhDUFp3THlsU1lxdW1mSXpTanN4a2t0SnNla2VnRjZ5YnRHUk1QV1crekJYTUkxNUMzY1QrdG44CmdwQ05ZeW4xUDgvK29OZ3h0cVRMWWp4YWNrZlU2UzhBTCs2ZDM5Z3JEZDZQbEk1SUx2Q1prbzgybTIzY1V4MnkKMmFSbnBBSUJnRGs1MTh0V0xUWmJNdU0xNGJ6YS9RdllWZVg1RHFXOWdzejk0N29wYjZGWVJlM01qZUhpUW14cQpHdldmUFkveWIvY2dnbzV5OG0yZlRRYTZkZW5jSGVGd25td2JYNm53YnJGeDhVWHpmbEQwWWtlNGk1WjJOTjRDCnhtZ0FxdHhTdTVCejlmN1pRTFBQQlQ1RkwrcHZ4a0F1NGNFSG1hNEpERDNLYXloeHp4aWdLYlFjblFwWFdFY0MKQXdFQUFhT0JpekNCaURBckJnTlZIUkFFSkRBaWdBOHlNREU1TURjd05URXlNemN5T0ZxQkR6SXdNemt3TnpBMQpNVE13TnpJNFdqQUxCZ05WSFE4RUJBTUNBUVl3SHdZRFZSMGpCQmd3Rm9BVXo0Z0RyS250M3RFQUNvQ0FBRUM0CkE0aklrRkl3SFFZRFZSME9CQllFRk0rSUE2eXA3ZDdSQUFxQWdBQkF1QU9JeUpCU01Bd0dBMVVkRXdRRk1BTUIKQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFKVTA2Sk9QcEJNZ2ovT3d6ZDJhRERJbHpFakhEeUJ4MFVPYQp4Y0llZUFUL0J5WWtUdVBlZXM5YjV2c1BtVXdWdU56S3NjQ2hROXR2dXVnUFBvVHU5Z1hRZkxsZEtUTGxQcU9mCitWQ2doUWhNNEgraTkrSnlLN2lLWU43eGRWSkxqSDBBSWdwTkx3Tk4vMnBuWis2OWRPVTRHN1cwK05ZVDRlL3cKd0RjSlNxMGZpOGR3aXhEVFlVOERrRkNmRXlhaEVxZXVOUHA5WDNkZFdacnlxM1hqYlIzbjBZQTFzVW1udXdpVApydU1OWFIwbTM0cHQwbkZMUUZ6NTcrZExXaEFzQjV4UWRMUGMxQXVXd0svUjhqbkhoMytRL1JYT25YRzROTm1uClJLWVVEakxwRlRuV21pWmZHeVg2ZWRJcmpONzJNM0d1dTVjQXMwcEQvMmQ2UUZzcDFEZz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==" + ], + "TlsIntermediateCertificates": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURpRENDQW5DZ0F3SUJBZ0lFWGEyTDR6QU5CZ2txaGtpRzl3MEJBUXNGQURBOE1Rd3dDZ1lEVlFRS0V3TnUKYUhNeEN6QUpCZ05WQkFzVEFrTkJNUjh3SFFZRFZRUURFeFpPU0ZNZ1VGUk1JRkp2YjNRZ1FYVjBhRzl5YVhSNQpNQjRYRFRFNU1URXhNVEV6TXpBeU1Gb1hEVEk1TVRFeE1URTBNREF5TUZvd05qRU1NQW9HQTFVRUNoTURibWh6Ck1Rc3dDUVlEVlFRTEV3SkRRVEVaTUJjR0ExVUVBeE1RVGtoVElFbE9WQ0JNWlhabGJDQXhRekNDQVNJd0RRWUoKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSlpZWDBzMlBBOXkvaVhOaWpnZW1Dc040d25oS25DTQozYmlDM0E5UEtNSjY4M1F2QmRvZnJ1R0EwM212UlFzQjNxRkJjdXkyaGVSKzhzUklVWVZvb2VvVW5Ob3F3Y1FPCjdLYWtsWE90ZG40cTBlODBxS0lTS2tTS0NBVWdHR3hlNDY2aGRndExjUDUvcFpLV3RQWHg2Q2kwdnduc09IL2sKTXY2Qno2MnByeW5kVGFRbDdhMzBKTWxIUWtYcHp5NHlucmVpSWdUWjFMdFRaWjc5dmFWWjFnRlhuZXFHa0hFRgpqQWsreG5GSW5XelUwMFZkVnQrUldUeWRMcnBobDV5OU9XNTJBZ3h1OXJmak5oU3dtQmtLWDJ6bEtMSUJELzB6Cnk5TDZMSUdUVTJTcGVTWEFqbHZzcDFOd01QUUlncWNQeWFzb2JtUk15TnY4OGU2WXFhTFpzNEVDQXdFQUFhT0IKbHpDQmxEQTNCZ05WSFI4RU1EQXVNQ3lnS3FBb2hpWm9kSFJ3T2k4dlkzSnNMbTVvY3k1MWF5OXdkR3d2Y205dgpkR05oTDJGeWJHRXhMbU55YkRBTEJnTlZIUThFQkFNQ0FRWXdId1lEVlIwakJCZ3dGb0FVejRnRHJLbnQzdEVBCkNvQ0FBRUM0QTRqSWtGSXdIUVlEVlIwT0JCWUVGQUFHZ20ycnBoSkQ3YllOOU9ZOHhDREJZWnVnTUF3R0ExVWQKRXdRRk1BTUJBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUJicW55TW1WeU9tSVVpQkFXNXByR2VJeEplawoxMGhZOTJmenRuVHVyNVFkNnMxVExoKzhZTnBaMUN5dmQ1ZVVQV1lrUGNLMjhTKzBtWEdXQjNteE9HeW9yVm0vClY5VGVJY2NZY2tBTlNFNjRHelpwRVpESlFhOHRISTRtcnN6WmFYUW5iRXBRNVhRQ3poM2RYUnpjVm5neXhCdEcKb1ZXaHVGTzVPUkgycFRlbmMxNXNyWDNVNUNPaDRhRU1pSDEwWDVVYTNNOGxvQTk4eWY5T3Q4VkdYS256UVNibgowczhJRlBhWm9sdzZNRm9YUFY3cC85S29xSldXak9DREFQbG1GQlFSbko3bnlwSVQ1N2QyV2hvcW9qbFA3NzNNCnFCeEdQbmN3RHMyVmVaQkdKSWRFL3BhREJXZVRmUUZWU0NGcmk4bXNXVWZ3VzhjMXMzbGxGb3JkNUZZPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t" + ], + "ClientSigningCertificate": "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" + } + ], + + "Mailboxes": [ + { + "Application": "OPTOUT", + "Environment": "DEV", + "Name": "OPTOUT-LOCAL", + "Url": "https://msg.devspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT001", + "Password": "QTZA371CWk85", + "DestinationMailbox": "QMFOT001", + "WorkflowId": "SPINE_NTT_UPHOLDING", + "LocalId": "", + "Subject": "", + "Message": "9694116538,\r\n9694116414,", + "DefaultMailbox": "true" + }, + { + "Application": "OPTOUT", + "Environment": "DEV", + "Name": "OPTOUT-DEV", + "Url": "https://msg.devspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT001", + "Password": "QTZA371CWk85", + "DestinationMailbox": "X26OT193", + "WorkflowId": "SPINE_NTT_UPHOLDING", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "OPTOUT", + "Environment": "INT", + "Name": "OPTOUT-INT", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT001", + "Password": "0qgIcF9P3LvT", + "DestinationMailbox": "X26OT193", + "WorkflowId": "SPINE_NTT_UPHOLDING", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "OPTOUT", + "Environment": "INT", + "Name": "OPTOUT-INTINVALIDMAILBOXID", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "aninvalidid1234", + "Password": "0qgIcF9P3LvT", + "DestinationMailbox": "X26OT193", + "WorkflowId": "SPINE_NTT_UPHOLDING", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "OPTOUT", + "Environment": "INT", + "Name": "OPTOUT-INTDEAD", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT005", + "Password": "3k2JZOTyQboi", + "DestinationMailbox": "QMFOT005", + "WorkflowId": "SPINE_NTT_UPHOLDING", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "DEADLETTER", + "Environment": "INT", + "Name": "OPTOUT-INTDEAD", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT005", + "Password": "3k2JZOTyQboi", + "DestinationMailbox": "QMFOT005", + "WorkflowId": "SPINE_NTT_UPHOLDING", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "SCC", + "Environment": "INT", + "Name": "SCC-INT", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT003", + "Password": "JP59Bd41EFaq", + "DestinationMailbox": "QMFOT003", + "WorkflowId": "SCCDataPush", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "SCC", + "Environment": "INT", + "Name": "SCC-INT (Not Valid Sender)", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT005", + "Password": "3k2JZOTyQboi", + "DestinationMailbox": "QMFOT003", + "WorkflowId": "SCCDataPush", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "SCC", + "Environment": "INT", + "Name": "SCC-INT (Valid Sender)", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT001", + "Password": "0qgIcF9P3LvT", + "DestinationMailbox": "QMFOT003", + "WorkflowId": "SCCDataPush", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "SCC", + "Environment": "INT", + "Name": "SCC-INT (Valid Sender) DEAD LETTER", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT003", + "Password": "JP59Bd41EFaq", + "DestinationMailbox": "QMFOT005", + "WorkflowId": "SCCDataPush", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "SCC", + "Environment": "INT", + "Name": "SCC-INT (Valid but Wrong WorkflowId)", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT001", + "Password": "0qgIcF9P3LvT", + "DestinationMailbox": "QMFOT003", + "WorkflowId": "SCCDataPushhhhh", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "PDS", + "Environment": "INT", + "Name": "PDS-LOCAL", + "Url": "https://msg.devspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT002", + "Password": "vQrokJp50yh8", + "DestinationMailbox": "QMFOT002", + "WorkflowId": "SPINE_PDS_MESH_V1", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "PDS", + "Environment": "DEV", + "Name": "PDS-DEV", + "Url": "https://msg.devspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT002", + "Password": "hEmfKNaU6Qs5", + "DestinationMailbox": "INTERNAL-SPINE", + "WorkflowId": "SPINE_PDS_MESH_V1", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "PDS", + "Environment": "INT", + "Name": "PDS-INT", + "Url": "https://msg.intspineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFOT002", + "Password": "hEmfKNaU6Qs5", + "DestinationMailbox": "INTERNAL-SPINE", + "WorkflowId": "SPINE_PDS_MESH_V1", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "SCC", + "Environment": "PROD", + "Name": "SCC-PROD", + "Url": "https://mesh-sync.spineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFHC002", + "Password": "f8QEj5964y3g", + "DestinationMailbox": "QMFHC003", + "WorkflowId": "SCC_DATA_PUSH", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "SCC", + "Environment": "PROD", + "Name": "SCCACK-PROD", + "Url": "https://mesh-sync.spineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFHC003", + "Password": "b30to8AzcT2R", + "DestinationMailbox": "QMFHC002", + "WorkflowId": "SCC_DATAPUSH", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "SCC", + "Environment": "PROD", + "Name": "SCCACK-PROD-INVALIDMAILBOXDESTINATION", + "Url": "https://mesh-sync.spineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFHC003", + "Password": "b30to8AzcT2R", + "DestinationMailbox": "QMFINVALID", + "WorkflowId": "SCC_DATAPUSH", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "COVID TARGET", + "Environment": "PROD", + "Name": "Data receive COVID-19 Target Therapeutics", + "Url": "https://mesh-sync.spineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFHC004", + "Password": "3n97RIeC156f", + "DestinationMailbox": "", + "WorkflowId": "", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "PDS", + "Environment": "PROD", + "Name": "PDS-PROD", + "Url": "https://mesh-sync.spineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFHC005", + "Password": "W5G7e9oYXunr", + "DestinationMailbox": "INTERNAL-SPINE", + "WorkflowId": "SPINE_PDS_MESH_V1", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "OPTOUT", + "Environment": "PROD", + "Name": "OPTOUT", + "Url": "https://mesh-sync.spineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFHC006", + "Password": "X7Qoj30emAdu", + "DestinationMailbox": "X26HC036", + "WorkflowId": "POS Initiator", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "North Central", + "Environment": "PROD", + "Name": "NCL", + "Url": "https://mesh-sync.spineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFHC007", + "Password": "8i2eOKVq37ok", + "DestinationMailbox": "QMFHC002", + "WorkflowId": "NCL_DATEPUSH", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + }, + { + "Application": "North Central", + "Environment": "PROD", + "Name": "NCLACK-PROD", + "Url": "https://mesh-sync.spineservices.nhs.uk/", + "SharedKey": "BackBone", + "MailboxId": "QMFHC003", + "Password": "b30to8AzcT2R", + "DestinationMailbox": "QMFHC007", + "WorkflowId": "NCL_DATAPUSH", + "LocalId": "", + "Subject": "", + "Message": "", + "DefaultMailbox": "false" + } + ] +} + diff --git a/NEL.MESH/Services/Foundations/Mesh/MeshService.Validation.cs b/NEL.MESH/Services/Foundations/Mesh/MeshService.Validation.cs index 8eab1b88..03a6b8ee 100644 --- a/NEL.MESH/Services/Foundations/Mesh/MeshService.Validation.cs +++ b/NEL.MESH/Services/Foundations/Mesh/MeshService.Validation.cs @@ -21,7 +21,20 @@ private static void ValidateResponse(HttpResponseMessage response) if (response.IsSuccessStatusCode == false) { string body = response.Content.ReadAsStringAsync().Result; - SendMessageErrorResponse error = JsonConvert.DeserializeObject(body); + SendMessageErrorResponse error; + + try + { + error = JsonConvert.DeserializeObject(body); + } + catch (Exception exception) + { + throw new HttpRequestException( + message: $"Unable to deserialize response: {body}", + inner: exception, + statusCode: response.StatusCode); + } + string message = $"{(int)response.StatusCode} - {response.ReasonPhrase}"; var httpRequestException = diff --git a/NEL.MESH/appsettings.Development.json b/NEL.MESH/appsettings.Development.json new file mode 100644 index 00000000..ef602c82 --- /dev/null +++ b/NEL.MESH/appsettings.Development.json @@ -0,0 +1,26 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "MeshConfiguration": { + "MailboxId": "QMFOT001", + "Password": "QTZA371CWk85", + "SharedKey": "BackBone", + "Url": "https://msg.devspineservices.nhs.uk/", + "MexClientVersion": "ApiDocs==0.0.1", + "MexOSName": "Windows", + "MexOSVersion": "#11", + "TlsRootCertificates": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEZ2pDQ0FtcWdBd0lCQWdJRVhSOUxrREFOQmdrcWhraUc5dzBCQVFzRkFEQThNUXd3Q2dZRFZRUUtFd051DQphSE14Q3pBSkJnTlZCQXNUQWtOQk1SOHdIUVlEVlFRREV4Wk9TRk1nVUZSTUlGSnZiM1FnUVhWMGFHOXlhWFI1DQpNQjRYRFRFNU1EY3dOVEV5TXpjeU9Gb1hEVE01TURjd05URXpNRGN5T0Zvd1BERU1NQW9HQTFVRUNoTURibWh6DQpNUXN3Q1FZRFZRUUxFd0pEUVRFZk1CMEdBMVVFQXhNV1RraFRJRkJVVENCU2IyOTBJRUYxZEdodmNtbDBlVENDDQpBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUprVU9Fdml0dXZ3MFNTbVU0YWRYRG5QDQpTWGlhTHNRYjhDUFp3THlsU1lxdW1mSXpTanN4a2t0SnNla2VnRjZ5YnRHUk1QV1crekJYTUkxNUMzY1QrdG44DQpncENOWXluMVA4LytvTmd4dHFUTFlqeGFja2ZVNlM4QUwrNmQzOWdyRGQ2UGxJNUlMdkNaa284Mm0yM2NVeDJ5DQoyYVJucEFJQmdEazUxOHRXTFRaYk11TTE0YnphL1F2WVZlWDVEcVc5Z3N6OTQ3b3BiNkZZUmUzTWplSGlRbXhxDQpHdldmUFkveWIvY2dnbzV5OG0yZlRRYTZkZW5jSGVGd25td2JYNm53YnJGeDhVWHpmbEQwWWtlNGk1WjJOTjRDDQp4bWdBcXR4U3U1Qno5ZjdaUUxQUEJUNUZMK3B2eGtBdTRjRUhtYTRKREQzS2F5aHh6eGlnS2JRY25RcFhXRWNDDQpBd0VBQWFPQml6Q0JpREFyQmdOVkhSQUVKREFpZ0E4eU1ERTVNRGN3TlRFeU16Y3lPRnFCRHpJd016a3dOekExDQpNVE13TnpJNFdqQUxCZ05WSFE4RUJBTUNBUVl3SHdZRFZSMGpCQmd3Rm9BVXo0Z0RyS250M3RFQUNvQ0FBRUM0DQpBNGpJa0ZJd0hRWURWUjBPQkJZRUZNK0lBNnlwN2Q3UkFBcUFnQUJBdUFPSXlKQlNNQXdHQTFVZEV3UUZNQU1CDQpBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQUpVMDZKT1BwQk1nai9Pd3pkMmFERElsekVqSER5QngwVU9hDQp4Y0llZUFUL0J5WWtUdVBlZXM5YjV2c1BtVXdWdU56S3NjQ2hROXR2dXVnUFBvVHU5Z1hRZkxsZEtUTGxQcU9mDQorVkNnaFFoTTRIK2k5K0p5SzdpS1lON3hkVkpMakgwQUlncE5Md05OLzJwblorNjlkT1U0RzdXMCtOWVQ0ZS93DQp3RGNKU3EwZmk4ZHdpeERUWVU4RGtGQ2ZFeWFoRXFldU5QcDlYM2RkV1pyeXEzWGpiUjNuMFlBMXNVbW51d2lUDQpydU1OWFIwbTM0cHQwbkZMUUZ6NTcrZExXaEFzQjV4UWRMUGMxQXVXd0svUjhqbkhoMytRL1JYT25YRzROTm1uDQpSS1lVRGpMcEZUbldtaVpmR3lYNmVkSXJqTjcyTTNHdXU1Y0FzMHBELzJkNlFGc3AxRGc9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t" + ], + "TlsIntermediateCertificates": [ + "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlEaURDQ0FuQ2dBd0lCQWdJRVhhMkw0ekFOQmdrcWhraUc5dzBCQVFzRkFEQThNUXd3Q2dZRFZRUUtFd051DQphSE14Q3pBSkJnTlZCQXNUQWtOQk1SOHdIUVlEVlFRREV4Wk9TRk1nVUZSTUlGSnZiM1FnUVhWMGFHOXlhWFI1DQpNQjRYRFRFNU1URXhNVEV6TXpBeU1Gb1hEVEk1TVRFeE1URTBNREF5TUZvd05qRU1NQW9HQTFVRUNoTURibWh6DQpNUXN3Q1FZRFZRUUxFd0pEUVRFWk1CY0dBMVVFQXhNUVRraFRJRWxPVkNCTVpYWmxiQ0F4UXpDQ0FTSXdEUVlKDQpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKWllYMHMyUEE5eS9pWE5pamdlbUNzTjR3bmhLbkNNDQozYmlDM0E5UEtNSjY4M1F2QmRvZnJ1R0EwM212UlFzQjNxRkJjdXkyaGVSKzhzUklVWVZvb2VvVW5Ob3F3Y1FPDQo3S2FrbFhPdGRuNHEwZTgwcUtJU0trU0tDQVVnR0d4ZTQ2NmhkZ3RMY1A1L3BaS1d0UFh4NkNpMHZ3bnNPSC9rDQpNdjZCejYycHJ5bmRUYVFsN2EzMEpNbEhRa1hwenk0eW5yZWlJZ1RaMUx0VFpaNzl2YVZaMWdGWG5lcUdrSEVGDQpqQWsreG5GSW5XelUwMFZkVnQrUldUeWRMcnBobDV5OU9XNTJBZ3h1OXJmak5oU3dtQmtLWDJ6bEtMSUJELzB6DQp5OUw2TElHVFUyU3BlU1hBamx2c3AxTndNUFFJZ3FjUHlhc29ibVJNeU52ODhlNllxYUxaczRFQ0F3RUFBYU9CDQpsekNCbERBM0JnTlZIUjhFTURBdU1DeWdLcUFvaGlab2RIUndPaTh2WTNKc0xtNW9jeTUxYXk5d2RHd3ZjbTl2DQpkR05oTDJGeWJHRXhMbU55YkRBTEJnTlZIUThFQkFNQ0FRWXdId1lEVlIwakJCZ3dGb0FVejRnRHJLbnQzdEVBDQpDb0NBQUVDNEE0aklrRkl3SFFZRFZSME9CQllFRkFBR2dtMnJwaEpEN2JZTjlPWTh4Q0RCWVp1Z01Bd0dBMVVkDQpFd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBQmJxbnlNbVZ5T21JVWlCQVc1cHJHZUl4SmVrDQoxMGhZOTJmenRuVHVyNVFkNnMxVExoKzhZTnBaMUN5dmQ1ZVVQV1lrUGNLMjhTKzBtWEdXQjNteE9HeW9yVm0vDQpWOVRlSWNjWWNrQU5TRTY0R3pacEVaREpRYTh0SEk0bXJzelphWFFuYkVwUTVYUUN6aDNkWFJ6Y1ZuZ3l4QnRHDQpvVldodUZPNU9SSDJwVGVuYzE1c3JYM1U1Q09oNGFFTWlIMTBYNVVhM004bG9BOTh5ZjlPdDhWR1hLbnpRU2JuDQowczhJRlBhWm9sdzZNRm9YUFY3cC85S29xSldXak9DREFQbG1GQlFSbko3bnlwSVQ1N2QyV2hvcW9qbFA3NzNNDQpxQnhHUG5jd0RzMlZlWkJHSklkRS9wYURCV2VUZlFGVlNDRnJpOG1zV1Vmd1c4YzFzM2xsRm9yZDVGWT0NCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=" + ], + "ClientSigningCertificate": "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", + "ClientSigningCertificatePassword": "", + "MaxChunkSizeInMegabytes": "20" + } +}