From 30696d919fb1637e3421b91ec108640746006a17 Mon Sep 17 00:00:00 2001 From: Joss Sparkes Date: Wed, 11 May 2022 10:31:54 +0100 Subject: [PATCH] Added test framework and integration tests Signed-off-by: Joss Sparkes --- .github/workflows/test.yml | 66 +- doc/dependency_decisions.yml | 458 +-- src/Monai.Deploy.WorkflowManager.sln | 88 +- src/WorkflowManager/AssemblyInfo.cs | 1 + ...Deploy.WorkflowManager.Common.Tests.csproj | 29 - .../Services/WorkflowServiceTest.cs | 106 - .../Features/WorkflowRequest.feature | 67 + .../Features/WorkflowRequest.feature.cs | 408 +++ .../WorkflowManager.IntegrationTests/Hooks.cs | 140 + .../ImplicitUsings.cs | 4 + .../WorkflowRequestMessage.cs | 34 + ...oy.WorkflowManager.IntegrationTests.csproj | 30 + .../POCO/TestExecutionConfig.cs | 48 + .../WorkflowRequestStepDefinitions.cs | 280 ++ .../Support/Assertions.cs | 41 + .../Support/JsonFormatter.cs | 16 + .../Support/MessageReceiver.cs | 24 + .../Support/MongoClientUtil.cs | 74 + .../Support/RabbitConnectionFactory.cs | 24 + .../Support/RabbitConsumer.cs | 52 + .../Support/RabbitPublisher.cs | 54 + .../Support/WebAppFactory.cs | 31 + .../TestData/Helper.cs | 36 + .../TestData/WorkflowInstanceTestData.cs | 77 + .../TestData/WorkflowRequestTestData.cs | 225 ++ .../TestData/WorkflowRevisionTestData.cs | 318 ++ .../docker-compose.yml | 28 + .../packages.lock.json | 1533 +++++++++ ...ai.Deploy.WorkflowManager.CLI.Tests.csproj | 0 .../CLI.Tests/packages.lock.json | 0 .../ConfigurationValidatorTest.cs | 0 ...WorkflowManager.Configuration.Tests.csproj | 2 +- .../Configuration.Tests/VerifyLogExtension.cs | 0 ...ploy.WorkflowManager.Database.Tests.csproj | 2 +- ...rkflowManager.PayloadListener.Tests.csproj | 2 +- .../EventPayloadRecieverServiceTests.cs | 0 .../Validators/EventPayloadValidatorTests.cs | 0 .../Common/EventMapperTests.cs | 0 ...kflowManager.WorkflowExecuter.Tests.csproj | 2 +- .../Services/WorkflowExecuterServiceTests.cs | 0 .../Common/IServiceProviderExtensionsTest.cs | 0 .../Logging/FileLoggingTextFormatterTest.cs | 0 .../Monai.Deploy.WorkflowManager.Tests.csproj | 2 +- .../DataRetentionServiceTest.cs | 0 .../Shared/VerifyLogExtension.cs | 0 .../WorkflowManager.Tests/packages.lock.json | 2934 ++++++++--------- .../Controllers/WorkflowControllerTests.cs | 177 - {src => tests}/coverlet.runsettings | 0 {src => tests}/run-tests.sh | 4 +- 49 files changed, 5387 insertions(+), 2030 deletions(-) delete mode 100644 tests/Common.Tests/Monai.Deploy.WorkflowManager.Common.Tests.csproj delete mode 100644 tests/Common.Tests/Services/WorkflowServiceTest.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Features/WorkflowRequest.feature create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Features/WorkflowRequest.feature.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Hooks.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/ImplicitUsings.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Models/InformaticsGateway/WorkflowRequestMessage.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Monai.Deploy.WorkflowManager.IntegrationTests.csproj create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/POCO/TestExecutionConfig.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/StepDefinitions/WorkflowRequestStepDefinitions.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/Assertions.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/JsonFormatter.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/MessageReceiver.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/MongoClientUtil.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitConnectionFactory.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitConsumer.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitPublisher.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/WebAppFactory.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/Helper.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowInstanceTestData.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowRequestTestData.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowRevisionTestData.cs create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/docker-compose.yml create mode 100644 tests/IntegrationTests/WorkflowManager.IntegrationTests/packages.lock.json rename tests/{ => UnitTests}/CLI.Tests/Monai.Deploy.WorkflowManager.CLI.Tests.csproj (100%) rename tests/{ => UnitTests}/CLI.Tests/packages.lock.json (100%) rename tests/{ => UnitTests}/Configuration.Tests/ConfigurationValidatorTest.cs (100%) rename tests/{ => UnitTests}/Configuration.Tests/Monai.Deploy.WorkflowManager.Configuration.Tests.csproj (90%) rename tests/{ => UnitTests}/Configuration.Tests/VerifyLogExtension.cs (100%) rename {src => tests/UnitTests}/Database.Tests/Monai.Deploy.WorkflowManager.Database.Tests.csproj (90%) rename tests/{ => UnitTests}/PayloadListener.Tests/Monai.Deploy.WorkflowManager.PayloadListener.Tests.csproj (85%) rename tests/{ => UnitTests}/PayloadListener.Tests/Services/EventPayloadRecieverServiceTests.cs (100%) rename tests/{ => UnitTests}/PayloadListener.Tests/Validators/EventPayloadValidatorTests.cs (100%) rename {src => tests/UnitTests}/WorkflowExecuter.Tests/Common/EventMapperTests.cs (100%) rename {src => tests/UnitTests}/WorkflowExecuter.Tests/Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests.csproj (89%) rename {src => tests/UnitTests}/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs (100%) rename tests/{ => UnitTests}/WorkflowManager.Tests/Common/IServiceProviderExtensionsTest.cs (100%) rename tests/{ => UnitTests}/WorkflowManager.Tests/Logging/FileLoggingTextFormatterTest.cs (100%) rename tests/{ => UnitTests}/WorkflowManager.Tests/Monai.Deploy.WorkflowManager.Tests.csproj (94%) rename tests/{ => UnitTests}/WorkflowManager.Tests/Services/DataRetentionService/DataRetentionServiceTest.cs (100%) rename tests/{ => UnitTests}/WorkflowManager.Tests/Shared/VerifyLogExtension.cs (100%) rename tests/{ => UnitTests}/WorkflowManager.Tests/packages.lock.json (97%) delete mode 100644 tests/WorkflowManager.Tests/Controllers/WorkflowControllerTests.cs rename {src => tests}/coverlet.runsettings (100%) rename {src => tests}/run-tests.sh (94%) mode change 100755 => 100644 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a3971ab1b..b340224b8 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,15 +36,75 @@ jobs: run: dotnet restore Monai.Deploy.WorkflowManager.sln working-directory: ./src - - name: Run Unit Test - run: ./run-tests.sh + - name: Build Solution + run: dotnet build -c Release --nologo --no-restore Monai.Deploy.WorkflowManager.sln working-directory: ./src + + - name: Run Unit Test + run: | + find ~+ -type f -name "*.Tests.csproj" | \ + xargs -L1 dotnet test -v=minimal --results-directory "./results" \ + --collect:"XPlat Code Coverage" --settings "./coverlet.runsettings" + working-directory: ./tests - name: Archive code coverage results uses: actions/upload-artifact@v3 with: name: code-coverage-reports - path: ./src/results/**/coverage.opencover.xml + path: ./tests/**/coverage.opencover.xml + + integration-tests: + runs-on: ubuntu-latest + services: + mongo: + image: mongo + env: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: rootpassword + ports: + - 27017:27017 + + rabbit: + image: rabbitmq:3.8.18-management + env: + RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG" + RABBITMQ_DEFAULT_USER: "admin" + RABBITMQ_DEFAULT_PASS: "admin" + RABBITMQ_DEFAULT_VHOST: "monaideploy" + ports: + - "15672:15672" + - "5672:5672" + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Install Dotnet + uses: actions/setup-dotnet@v1 + with: + dotnet-version: ${{ env.DOTNET_VERSION }} + + - name: Enable NuGet cache + uses: actions/cache@v2.1.7 + with: + path: ~/.nuget/packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} + restore-keys: | + ${{ runner.os }}-nuget + + - name: Restore Solution + run: dotnet restore Monai.Deploy.WorkflowManager.sln + working-directory: ./src + + - name: Build Solution + run: dotnet build -c Release --nologo --no-restore Monai.Deploy.WorkflowManager.sln + working-directory: ./src + + - name: Run Integration Tests + run: find ~+ -type f -name "*.IntegrationTests.csproj" | xargs -L1 dotnet test + working-directory: ./tests sonarscanner: runs-on: ubuntu-latest diff --git a/doc/dependency_decisions.yml b/doc/dependency_decisions.yml index 28b275b50..4d7a36a52 100644 --- a/doc/dependency_decisions.yml +++ b/doc/dependency_decisions.yml @@ -5,1150 +5,1216 @@ :why: Apache 2.0 - https://licenses.nuget.org/Apache-2.0 :versions: - 3.0.0 - :when: 2022-04-13 14:06:39 + :when: 2022-04-13 15:06:39.000000000 +01:00 - - :approve - Microsoft.CSharp - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:12:14 + :when: 2022-04-14 10:12:14.000000000 +01:00 - - :approve - Microsoft.CodeCoverage - :who: Joss Sparkes (RemakingEden) :why: Dotnet - https://www.nuget.org/packages/Microsoft.CodeCoverage/17.1.0/License :versions: [] - :when: 2022-04-14 09:14:32 + :when: 2022-04-14 10:14:32.000000000 +01:00 - - :approve - Microsoft.Extensions.DependencyInjection.Abstractions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:15:32 + :when: 2022-04-14 10:15:32.000000000 +01:00 - - :approve - Microsoft.Extensions.Options - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:16:35 + :when: 2022-04-14 10:16:35.000000000 +01:00 - - :approve - Microsoft.Extensions.Primitives - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:17:22 + :when: 2022-04-14 10:17:22.000000000 +01:00 - - :approve - Microsoft.NET.Test.Sdk - :who: Joss Sparkes (RemakingEden) :why: Dotnet - https://www.nuget.org/packages/Microsoft.NET.Test.Sdk/17.1.0/License :versions: [] - :when: 2022-04-14 09:18:14 + :when: 2022-04-14 10:18:14.000000000 +01:00 - - :approve - Microsoft.NETCore.Platforms - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:18:43 + :when: 2022-04-14 10:18:43.000000000 +01:00 - - :approve - Microsoft.NETCore.Targets - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:19:22 + :when: 2022-04-14 10:19:22.000000000 +01:00 - - :approve - Microsoft.Win32.Primitives - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:20 + :when: 2022-04-14 10:32:20.000000000 +01:00 - - :approve - NETStandard.Library - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:20 + :when: 2022-04-14 10:32:20.000000000 +01:00 - - :approve - System.AppContext - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:20 + :when: 2022-04-14 10:32:20.000000000 +01:00 - - :approve - System.Buffers - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:20 + :when: 2022-04-14 10:32:20.000000000 +01:00 - - :approve - System.Collections - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:20 + :when: 2022-04-14 10:32:20.000000000 +01:00 - - :approve - System.Collections.Concurrent - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:21 + :when: 2022-04-14 10:32:21.000000000 +01:00 - - :approve - System.Console - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:21 + :when: 2022-04-14 10:32:21.000000000 +01:00 - - :approve - System.Diagnostics.Debug - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:21 + :when: 2022-04-14 10:32:21.000000000 +01:00 - - :approve - System.Diagnostics.DiagnosticSource - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:21 + :when: 2022-04-14 10:32:21.000000000 +01:00 - - :approve - System.Diagnostics.Tools - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:21 + :when: 2022-04-14 10:32:21.000000000 +01:00 - - :approve - System.Diagnostics.Tracing - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:22 + :when: 2022-04-14 10:32:22.000000000 +01:00 - - :approve - System.Dynamic.Runtime - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:22 + :when: 2022-04-14 10:32:22.000000000 +01:00 - - :approve - System.Globalization - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:22 + :when: 2022-04-14 10:32:22.000000000 +01:00 - - :approve - System.Globalization.Calendars - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:22 + :when: 2022-04-14 10:32:22.000000000 +01:00 - - :approve - System.Globalization.Extensions - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:23 + :when: 2022-04-14 10:32:23.000000000 +01:00 - - :approve - System.IO - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:23 + :when: 2022-04-14 10:32:23.000000000 +01:00 - - :approve - System.IO.Compression - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:23 + :when: 2022-04-14 10:32:23.000000000 +01:00 - - :approve - System.IO.Compression.ZipFile - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:23 + :when: 2022-04-14 10:32:23.000000000 +01:00 - - :approve - System.IO.FileSystem - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:23 + :when: 2022-04-14 10:32:23.000000000 +01:00 - - :approve - System.IO.FileSystem.Primitives - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:24 + :when: 2022-04-14 10:32:24.000000000 +01:00 - - :approve - System.Linq - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:24 + :when: 2022-04-14 10:32:24.000000000 +01:00 - - :approve - System.Linq.Expressions - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:24 + :when: 2022-04-14 10:32:24.000000000 +01:00 - - :approve - System.Net.Http - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:24 + :when: 2022-04-14 10:32:24.000000000 +01:00 - - :approve - System.Net.Primitives - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:24 + :when: 2022-04-14 10:32:24.000000000 +01:00 - - :approve - System.Net.Sockets - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:25 + :when: 2022-04-14 10:32:25.000000000 +01:00 - - :approve - System.ObjectModel - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:25 + :when: 2022-04-14 10:32:25.000000000 +01:00 - - :approve - System.Reflection - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:25 + :when: 2022-04-14 10:32:25.000000000 +01:00 - - :approve - System.Reflection.Emit - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:25 + :when: 2022-04-14 10:32:25.000000000 +01:00 - - :approve - System.Reflection.Emit.ILGeneration - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:26 + :when: 2022-04-14 10:32:26.000000000 +01:00 - - :approve - System.Reflection.Emit.Lightweight - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:26 + :when: 2022-04-14 10:32:26.000000000 +01:00 - - :approve - System.Reflection.Extensions - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:26 + :when: 2022-04-14 10:32:26.000000000 +01:00 - - :approve - System.Reflection.Primitives - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:26 + :when: 2022-04-14 10:32:26.000000000 +01:00 - - :approve - System.Reflection.TypeExtensions - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:26 + :when: 2022-04-14 10:32:26.000000000 +01:00 - - :approve - System.Resources.ResourceManager - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:27 + :when: 2022-04-14 10:32:27.000000000 +01:00 - - :approve - System.Runtime - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:27 + :when: 2022-04-14 10:32:27.000000000 +01:00 - - :approve - System.Runtime.Extensions - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:27 + :when: 2022-04-14 10:32:27.000000000 +01:00 - - :approve - System.Runtime.Handles - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:27 + :when: 2022-04-14 10:32:27.000000000 +01:00 - - :approve - System.Runtime.InteropServices - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:27 + :when: 2022-04-14 10:32:27.000000000 +01:00 - - :approve - System.Runtime.InteropServices.RuntimeInformation - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:28 + :when: 2022-04-14 10:32:28.000000000 +01:00 - - :approve - System.Runtime.Numerics - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:28 + :when: 2022-04-14 10:32:28.000000000 +01:00 - - :approve - System.Runtime.Serialization.Primitives - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:28 + :when: 2022-04-14 10:32:28.000000000 +01:00 - - :approve - System.Security.Cryptography.Algorithms - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:28 + :when: 2022-04-14 10:32:28.000000000 +01:00 - - :approve - System.Security.Cryptography.Cng - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:29 + :when: 2022-04-14 10:32:29.000000000 +01:00 - - :approve - System.Security.Cryptography.Csp - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:29 + :when: 2022-04-14 10:32:29.000000000 +01:00 - - :approve - System.Security.Cryptography.Encoding - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:29 + :when: 2022-04-14 10:32:29.000000000 +01:00 - - :approve - System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:29 + :when: 2022-04-14 10:32:29.000000000 +01:00 - - :approve - System.Security.Cryptography.Primitives - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:29 + :when: 2022-04-14 10:32:29.000000000 +01:00 - - :approve - System.Security.Cryptography.X509Certificates - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:30 + :when: 2022-04-14 10:32:30.000000000 +01:00 - - :approve - System.Text.Encoding - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:30 + :when: 2022-04-14 10:32:30.000000000 +01:00 - - :approve - System.Text.Encoding.Extensions - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:30 + :when: 2022-04-14 10:32:30.000000000 +01:00 - - :approve - System.Text.RegularExpressions - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:30 + :when: 2022-04-14 10:32:30.000000000 +01:00 - - :approve - System.Threading - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:30 + :when: 2022-04-14 10:32:30.000000000 +01:00 - - :approve - System.Threading.Tasks - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:31 + :when: 2022-04-14 10:32:31.000000000 +01:00 - - :approve - System.Threading.Tasks.Extensions - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:31 + :when: 2022-04-14 10:32:31.000000000 +01:00 - - :approve - System.Threading.Timer - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:31 + :when: 2022-04-14 10:32:31.000000000 +01:00 - - :approve - System.Xml.ReaderWriter - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:31 + :when: 2022-04-14 10:32:31.000000000 +01:00 - - :approve - System.Xml.XDocument - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:32 + :when: 2022-04-14 10:32:32.000000000 +01:00 - - :approve - runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:32 + :when: 2022-04-14 10:32:32.000000000 +01:00 - - :approve - runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:32 + :when: 2022-04-14 10:32:32.000000000 +01:00 - - :approve - runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:32 + :when: 2022-04-14 10:32:32.000000000 +01:00 - - :approve - runtime.native.System - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:32 + :when: 2022-04-14 10:32:32.000000000 +01:00 - - :approve - runtime.native.System.IO.Compression - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:33 + :when: 2022-04-14 10:32:33.000000000 +01:00 - - :approve - runtime.native.System.Net.Http - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:33 + :when: 2022-04-14 10:32:33.000000000 +01:00 - - :approve - runtime.native.System.Security.Cryptography.Apple - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:33 + :when: 2022-04-14 10:32:33.000000000 +01:00 - - :approve - runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:33 + :when: 2022-04-14 10:32:33.000000000 +01:00 - - :approve - runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:34 + :when: 2022-04-14 10:32:34.000000000 +01:00 - - :approve - runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:34 + :when: 2022-04-14 10:32:34.000000000 +01:00 - - :approve - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:34 + :when: 2022-04-14 10:32:34.000000000 +01:00 - - :approve - runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:34 + :when: 2022-04-14 10:32:34.000000000 +01:00 - - :approve - runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:34 + :when: 2022-04-14 10:32:34.000000000 +01:00 - - :approve - runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:35 + :when: 2022-04-14 10:32:35.000000000 +01:00 - - :approve - runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:35 + :when: 2022-04-14 10:32:35.000000000 +01:00 - - :approve - runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:32:35 + :when: 2022-04-14 10:32:35.000000000 +01:00 - - :approve - Microsoft.TestPlatform.ObjectModel - :who: Joss Sparkes (RemakingEden) :why: Dotnet - https://www.nuget.org/packages/Microsoft.TestPlatform.ObjectModel/17.1.0/License :versions: [] - :when: 2022-04-14 09:34:51 + :when: 2022-04-14 10:34:51.000000000 +01:00 - - :approve - Microsoft.TestPlatform.TestHost - :who: Joss Sparkes (RemakingEden) :why: Dotnet - https://www.nuget.org/packages/Microsoft.TestPlatform.TestHost/17.1.0/License :versions: [] - :when: 2022-04-14 09:35:32 + :when: 2022-04-14 10:35:32.000000000 +01:00 - - :approve - Newtonsoft.Json - :who: Joss Sparkes (RemakingEden) :why: MIT - https://raw.github.com/JamesNK/Newtonsoft.Json/master/LICENSE.md :versions: [] - :when: 2022-04-14 09:36:23 + :when: 2022-04-14 10:36:23.000000000 +01:00 - - :approve - NuGet.Frameworks - :who: Joss Sparkes (RemakingEden) :why: Apache 2.0 - https://licenses.nuget.org/Apache-2.0 :versions: [] - :when: 2022-04-14 09:37:00 + :when: 2022-04-14 10:37:00.000000000 +01:00 - - :approve - System.Reflection.Metadata - :who: Joss Sparkes (RemakingEden) :why: MIT - https://github.com/dotnet/corefx/blob/master/LICENSE.TXT :versions: [] - :when: 2022-04-14 09:37:42 + :when: 2022-04-14 10:37:42.000000000 +01:00 - - :approve - System.Runtime.CompilerServices.Unsafe - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:38:23 + :when: 2022-04-14 10:38:23.000000000 +01:00 - - :approve - coverlet.collector - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:38:36 + :when: 2022-04-14 10:38:36.000000000 +01:00 - - :approve - xunit - :who: Joss Sparkes (RemakingEden) :why: Apache 2.0 - https://raw.githubusercontent.com/xunit/xunit/master/license.txt :versions: [] - :when: 2022-04-14 09:39:24 + :when: 2022-04-14 10:39:24.000000000 +01:00 - - :approve - xunit.abstractions - :who: Joss Sparkes (RemakingEden) :why: Apache 2.0 - https://raw.githubusercontent.com/xunit/xunit/master/license.txt :versions: [] - :when: 2022-04-14 09:40:01 + :when: 2022-04-14 10:40:01.000000000 +01:00 - - :approve - xunit.analyzers - :who: Joss Sparkes (RemakingEden) :why: Apache 2.0 - https://raw.githubusercontent.com/xunit/xunit.analyzers/master/LICENSE :versions: [] - :when: 2022-04-14 09:40:44 + :when: 2022-04-14 10:40:44.000000000 +01:00 - - :approve - xunit.assert - :who: Joss Sparkes (RemakingEden) :why: Apache 2.0 - https://raw.githubusercontent.com/xunit/xunit/master/license.txt :versions: [] - :when: 2022-04-14 09:41:08 + :when: 2022-04-14 10:41:08.000000000 +01:00 - - :approve - xunit.core - :who: Joss Sparkes (RemakingEden) :why: Apache 2.0 - https://raw.githubusercontent.com/xunit/xunit/master/license.txt :versions: [] - :when: 2022-04-14 09:41:21 + :when: 2022-04-14 10:41:21.000000000 +01:00 - - :approve - xunit.extensibility.core - :who: Joss Sparkes (RemakingEden) :why: Apache 2.0 - https://raw.githubusercontent.com/xunit/xunit/master/license.txt :versions: [] - :when: 2022-04-14 09:41:39 + :when: 2022-04-14 10:41:39.000000000 +01:00 - - :approve - xunit.extensibility.execution - :who: Joss Sparkes (RemakingEden) :why: Apache 2.0 - https://raw.githubusercontent.com/xunit/xunit/master/license.txt :versions: [] - :when: 2022-04-14 09:41:55 + :when: 2022-04-14 10:41:55.000000000 +01:00 - - :approve - xunit.runner.visualstudio - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:42:30 + :when: 2022-04-14 10:42:30.000000000 +01:00 - - :approve - System.Collections.NonGeneric - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:55:01 + :when: 2022-04-14 10:55:01.000000000 +01:00 - - :approve - System.Collections.Specialized - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:55:02 + :when: 2022-04-14 10:55:02.000000000 +01:00 - - :approve - System.ComponentModel - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:55:02 + :when: 2022-04-14 10:55:02.000000000 +01:00 - - :approve - System.ComponentModel.Annotations - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:55:02 + :when: 2022-04-14 10:55:02.000000000 +01:00 - - :approve - System.ComponentModel.Primitives - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:55:02 + :when: 2022-04-14 10:55:02.000000000 +01:00 - - :approve - System.ComponentModel.TypeConverter - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:55:03 + :when: 2022-04-14 10:55:03.000000000 +01:00 - - :approve - System.Diagnostics.TraceSource - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 09:55:03 + :when: 2022-04-14 10:55:03.000000000 +01:00 - - :approve - AutoFixture - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:54 + :when: 2022-04-14 10:55:54.000000000 +01:00 - - :approve - AutoFixture.Xunit2 - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:54 + :when: 2022-04-14 10:55:54.000000000 +01:00 - - :approve - JetBrains.Annotations - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:55 + :when: 2022-04-14 10:55:55.000000000 +01:00 - - :approve - Microsoft.AspNetCore.JsonPatch - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:55 + :when: 2022-04-14 10:55:55.000000000 +01:00 - - :approve - Microsoft.AspNetCore.Mvc.NewtonsoftJson - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:55 + :when: 2022-04-14 10:55:55.000000000 +01:00 - - :approve - Microsoft.AspNetCore.Mvc.Testing - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:55 + :when: 2022-04-14 10:55:55.000000000 +01:00 - - :approve - Microsoft.AspNetCore.Mvc.Versioning - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:56 + :when: 2022-04-14 10:55:56.000000000 +01:00 - - :approve - Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:56 + :when: 2022-04-14 10:55:56.000000000 +01:00 - - :approve - Microsoft.AspNetCore.TestHost - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:56 + :when: 2022-04-14 10:55:56.000000000 +01:00 - - :approve - Microsoft.EntityFrameworkCore - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:56 + :when: 2022-04-14 10:55:56.000000000 +01:00 - - :approve - Microsoft.EntityFrameworkCore.Abstractions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:57 + :when: 2022-04-14 10:55:57.000000000 +01:00 - - :approve - Microsoft.EntityFrameworkCore.Analyzers - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:57 + :when: 2022-04-14 10:55:57.000000000 +01:00 - - :approve - Microsoft.Extensions.Caching.Abstractions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:57 + :when: 2022-04-14 10:55:57.000000000 +01:00 - - :approve - Microsoft.Extensions.Caching.Memory - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:57 + :when: 2022-04-14 10:55:57.000000000 +01:00 - - :approve - Microsoft.Extensions.Configuration - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:58 + :when: 2022-04-14 10:55:58.000000000 +01:00 - - :approve - Microsoft.Extensions.Configuration.Abstractions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:58 + :when: 2022-04-14 10:55:58.000000000 +01:00 - - :approve - Microsoft.Extensions.Configuration.Binder - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:58 + :when: 2022-04-14 10:55:58.000000000 +01:00 - - :approve - Microsoft.Extensions.Configuration.CommandLine - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:58 + :when: 2022-04-14 10:55:58.000000000 +01:00 - - :approve - Microsoft.Extensions.Configuration.EnvironmentVariables - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:59 + :when: 2022-04-14 10:55:59.000000000 +01:00 - - :approve - Microsoft.Extensions.Configuration.FileExtensions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:59 + :when: 2022-04-14 10:55:59.000000000 +01:00 - - :approve - Microsoft.Extensions.Configuration.Json - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:59 + :when: 2022-04-14 10:55:59.000000000 +01:00 - - :approve - Microsoft.Extensions.Configuration.UserSecrets - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:55:59 + :when: 2022-04-14 10:55:59.000000000 +01:00 - - :approve - Microsoft.Extensions.DependencyInjection - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:00 + :when: 2022-04-14 10:56:00.000000000 +01:00 - - :approve - Microsoft.Extensions.DependencyModel - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:00 + :when: 2022-04-14 10:56:00.000000000 +01:00 - - :approve - Microsoft.Extensions.FileProviders.Abstractions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:00 + :when: 2022-04-14 10:56:00.000000000 +01:00 - - :approve - Microsoft.Extensions.FileProviders.Physical - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:00 + :when: 2022-04-14 10:56:00.000000000 +01:00 - - :approve - Microsoft.Extensions.FileSystemGlobbing - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:01 + :when: 2022-04-14 10:56:01.000000000 +01:00 - - :approve - Microsoft.Extensions.Hosting - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:01 + :when: 2022-04-14 10:56:01.000000000 +01:00 - - :approve - Microsoft.Extensions.Hosting.Abstractions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:01 + :when: 2022-04-14 10:56:01.000000000 +01:00 - - :approve - Microsoft.Extensions.Logging - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:01 + :when: 2022-04-14 10:56:01.000000000 +01:00 - - :approve - Microsoft.Extensions.Logging.Abstractions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:02 + :when: 2022-04-14 10:56:02.000000000 +01:00 - - :approve - Microsoft.Extensions.Logging.Abstractions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:02 + :when: 2022-04-14 10:56:02.000000000 +01:00 - - :approve - Microsoft.Extensions.Logging.Configuration - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:02 + :when: 2022-04-14 10:56:02.000000000 +01:00 - - :approve - Microsoft.Extensions.Logging.Console - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:02 + :when: 2022-04-14 10:56:02.000000000 +01:00 - - :approve - Microsoft.Extensions.Logging.Debug - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:03 + :when: 2022-04-14 10:56:03.000000000 +01:00 - - :approve - Microsoft.Extensions.Logging.EventLog - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:03 + :when: 2022-04-14 10:56:03.000000000 +01:00 - - :approve - Microsoft.Extensions.Logging.EventSource - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:03 + :when: 2022-04-14 10:56:03.000000000 +01:00 - - :approve - Microsoft.Extensions.Options.ConfigurationExtensions - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:03 + :when: 2022-04-14 10:56:03.000000000 +01:00 - - :approve - Newtonsoft.Json.Bson - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:04 + :when: 2022-04-14 10:56:04.000000000 +01:00 - - :approve - Swashbuckle.AspNetCore - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:04 + :when: 2022-04-14 10:56:04.000000000 +01:00 - - :approve - Swashbuckle.AspNetCore.Swagger - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:04 + :when: 2022-04-14 10:56:04.000000000 +01:00 - - :approve - Swashbuckle.AspNetCore.SwaggerGen - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:04 + :when: 2022-04-14 10:56:04.000000000 +01:00 - - :approve - Swashbuckle.AspNetCore.SwaggerUI - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:05 + :when: 2022-04-14 10:56:05.000000000 +01:00 - - :approve - System.Collections.Immutable - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:05 + :when: 2022-04-14 10:56:05.000000000 +01:00 - - :approve - System.Diagnostics.EventLog - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:05 + :when: 2022-04-14 10:56:05.000000000 +01:00 - - :approve - System.IO.Pipelines - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:05 + :when: 2022-04-14 10:56:05.000000000 +01:00 - - :approve - System.Text.Encodings.Web - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:06 + :when: 2022-04-14 10:56:06.000000000 +01:00 - - :approve - System.Text.Json - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:06 + :when: 2022-04-14 10:56:06.000000000 +01:00 - - :approve - System.Threading.Channels - :who: Joss Sparkes (RemakingEden) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-04-14 09:56:06 + :when: 2022-04-14 10:56:06.000000000 +01:00 - - :approve - Castle.Core - :who: Joss Sparkes (RemakingEden) :why: Apache 2.0 - http://www.apache.org/licenses/LICENSE-2.0.html :versions: [] - :when: 2022-04-14 10:04:46 + :when: 2022-04-14 11:04:46.000000000 +01:00 - - :approve - Ardalis.GuardClauses - :who: Joss Sparkes (RemakingEden) :why: MIT - https://github.com/ardalis/GuardClauses/blob/main/LICENSE :versions: [] - :when: 2022-04-14 10:05:56 + :when: 2022-04-14 11:05:56.000000000 +01:00 - - :approve - Fare - :who: Joss Sparkes (RemakingEden) :why: MIT - https://github.com/moodmosaic/Fare/blob/master/LICENSE :versions: [] - :when: 2022-04-14 10:06:40 + :when: 2022-04-14 11:06:40.000000000 +01:00 - - :approve - Karambolo.Extensions.Logging.File - :who: Joss Sparkes (RemakingEden) :why: MIT - https://github.com/adams85/filelogger/blob/master/LICENSE :versions: [] - :when: 2022-04-14 10:07:21 + :when: 2022-04-14 11:07:21.000000000 +01:00 - - :approve - Microsoft.OpenApi - :who: Joss Sparkes (RemakingEden) :why: MIT - https://raw.githubusercontent.com/Microsoft/OpenAPI.NET/master/LICENSE :versions: [] - :when: 2022-04-14 10:07:55 + :when: 2022-04-14 11:07:55.000000000 +01:00 - - :approve - System.Memory - :who: Joss Sparkes (RemakingEden) :why: MIT - https://github.com/dotnet/corefx/blob/master/LICENSE.TXT :versions: [] - :when: 2022-04-14 10:08:48 + :when: 2022-04-14 11:08:48.000000000 +01:00 - - :approve - System.Xml.XmlDocument - :who: Joss Sparkes (RemakingEden) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-04-14 10:09:29 + :when: 2022-04-14 11:09:29.000000000 +01:00 - - :approve - Moq - :who: Joss Sparkes (RemakingEden) :why: BSD-3 - https://raw.githubusercontent.com/moq/moq4/main/License.txt :versions: [] - :when: 2022-04-25 09:36:00 + :when: 2022-04-25 10:36:00.000000000 +01:00 - - :approve - AWSSDK.Core - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://aws.amazon.com/apache-2-0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - AWSSDK.SecurityToken - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://aws.amazon.com/apache-2-0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - AWSSDK.SecurityToken - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://aws.amazon.com/apache-2-0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - Crc32.NET - :who: Jack Schofield (JackSchofield23) :why: MIT - https://github.com/force-net/Crc32.NET/blob/develop/LICENSE :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - DnsClient - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://licenses.nuget.org/Apache-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - FluentAssertions - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://licenses.nuget.org/Apache-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - Microsoft.Win32.Registry - :who: Jack Schofield (JackSchofield23) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - Minio - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - http://www.apache.org/licenses/LICENSE-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - Monai.Deploy.Messaging - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://licenses.nuget.org/Apache-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - Monai.Deploy.Storage - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://licenses.nuget.org/Apache-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - System.Security.Principal.Windows - :who: Jack Schofield (JackSchofield23) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - System.Security.Cryptography.ProtectedData - :who: Jack Schofield (JackSchofield23) :why: MIT - https://github.com/dotnet/corefx/blob/master/LICENSE.TXT :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - System.Security.AccessControl - :who: Jack Schofield (JackSchofield23) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - System.Reactive.Linq - :who: Jack Schofield (JackSchofield23) :why: MIT - http://go.microsoft.com/fwlink/?LinkID=261272 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - System.Reactive - :who: Jack Schofield (JackSchofield23) :why: MIT - http://go.microsoft.com/fwlink/?LinkID=261272 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - System.IO.Abstractions.TestingHelpers - :who: Jack Schofield (JackSchofield23) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - System.IO.Abstractions - :who: Jack Schofield (JackSchofield23) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - System.Configuration.ConfigurationManager - :who: Jack Schofield (JackSchofield23) :why: MIT - https://github.com/dotnet/corefx/blob/master/LICENSE.TXT :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - StyleCop.Analyzers - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://licenses.nuget.org/Apache-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - RestSharp - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://github.com/restsharp/RestSharp/blob/master/LICENSE.txt :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - RabbitMQ.Client - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - https://licenses.nuget.org/Apache-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - NUnit3TestAdapter - :who: Jack Schofield (JackSchofield23) :why: MIT - https://licenses.nuget.org/MIT :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - MongoDB.Bson - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - http://www.apache.org/licenses/LICENSE-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - MongoDB.Bson - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - http://www.apache.org/licenses/LICENSE-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - MongoDB.Driver - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - http://www.apache.org/licenses/LICENSE-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - MongoDB.Driver.Core - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - http://www.apache.org/licenses/LICENSE-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - MongoDB.Libmongocrypt - :who: Jack Schofield (JackSchofield23) :why: Apache 2.0 - http://www.apache.org/licenses/LICENSE-2.0 :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - - SharpCompress + - SharpCompress - :who: Jack Schofield (JackSchofield23) :why: MIT - https://github.com/adamhathcock/sharpcompress/blob/master/LICENSE.txt :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - - NUnit + - NUnit - :who: Jack Schofield (JackSchofield23) :why: MIT - https://github.com/nunit/nunit/blob/master/LICENSE.txt :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - - NUnit + - NUnit - :who: Jack Schofield (JackSchofield23) :why: MIT - https://github.com/nunit/nunit/blob/master/LICENSE.txt :versions: [] - :when: 2022-05-09 13:46:00 + :when: 2022-05-09 14:46:00.000000000 +01:00 - - :approve - - System.Runtime.InteropServices.WindowsRuntime + - System.Runtime.InteropServices.WindowsRuntime - :who: Jack Schofield (JackSchofield23) :why: Dotnet - http://go.microsoft.com/fwlink/?LinkId=329770 :versions: [] - :when: 2022-05-09 13:46:00 \ No newline at end of file + :when: 2022-05-09 14:46:00.000000000 +01:00 +- - :approve + - BoDi + - :who: Joss Sparkes (RemakingEden) + :why: Apache 2.0 - https://raw.githubusercontent.com/SpecFlowOSS/BoDi/master/LICENSE.txt + :versions: [] + :when: 2022-05-11 11:00:00.000000000 +01:00 +- - :approve + - BoDi + - :who: Joss Sparkes (RemakingEden) + :why: Apache 2.0 - https://raw.githubusercontent.com/SpecFlowOSS/BoDi/master/LICENSE.txt + :versions: [] + :when: 2022-05-11 11:00:00.000000000 +01:00 +- - :permit + - http://go.microsoft.com/fwlink/?LinkId=329770 + - :who: Joss Sparkes (RemakingEden) + :why: Dotnet license + :versions: [] + :when: 2022-05-11 09:55:16.000000000 +01:00 +- - :permit + - https://licenses.nuget.org/MIT + - :who: Joss Sparkes (RemakingEden) + :why: MIT license + :versions: [] + :when: 2022-05-11 09:55:35.000000000 +01:00 +- - :permit + - https://github.com/SwissLife-OSS/Snapshooter/blob/master/LICENSE + - :who: Joss Sparkes (RemakingEden) + :why: MIT license + :versions: [] + :when: 2022-05-11 08:58:58.009989800 Z +- - :approve + - SpecFlow + - :who: Joss Sparkes (RemakingEden) + :why: BSD - https://github.com/SpecFlowOSS/SpecFlow/blob/master/LICENSE.txt + :versions: [] + :when: 2022-05-11 11:00:00.000000000 +01:00 +- - :approve + - SpecFlow.Internal.Json + - :who: Joss Sparkes (RemakingEden) + :why: MIT - https://github.com/SpecFlowOSS/SpecFlow.Internal.Json/blob/master/LICENSE + :versions: [] + :when: 2022-05-11 11:00:00.000000000 +01:00 +- - :approve + - SpecFlow.NUnit + - :who: Joss Sparkes (RemakingEden) + :why: BSD - https://github.com/SpecFlowOSS/SpecFlow/blob/master/LICENSE.txt + :versions: [] + :when: 2022-05-11 11:00:00.000000000 +01:00 +- - :approve + - SpecFlow.Plus.LivingDocPlugin + - :who: Joss Sparkes (RemakingEden) + :why: BSD - https://github.com/SpecFlowOSS/SpecFlow/blob/master/LICENSE.txt + :versions: [] + :when: 2022-05-11 11:00:00.000000000 +01:00 +- - :approve + - SpecFlow.Tools.MsBuild.Generation + - :who: Joss Sparkes (RemakingEden) + :why: BSD - https://www.nuget.org/packages/SpecFlow.Tools.MsBuild.Generation/3.10.2-beta/License + :versions: [] + :when: 2022-05-11 11:00:00.000000000 +01:00 +- - :approve + - System.Security.Permissions + - :who: Joss Sparkes (RemakingEden) + :why: MIT - https://github.com/dotnet/corefx/blob/master/LICENSE.TXT + :versions: [] + :when: 2022-05-11 11:00:00.000000000 +01:00 diff --git a/src/Monai.Deploy.WorkflowManager.sln b/src/Monai.Deploy.WorkflowManager.sln index 2dcea40e7..8db691455 100644 --- a/src/Monai.Deploy.WorkflowManager.sln +++ b/src/Monai.Deploy.WorkflowManager.sln @@ -1,4 +1,4 @@ - + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.1.32328.378 @@ -21,21 +21,21 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManage EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{71DDEE7B-E213-4E39-A7F4-4646783A27F7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.PayloadListener.Tests", "..\tests\PayloadListener.Tests\Monai.Deploy.WorkflowManager.PayloadListener.Tests.csproj", "{DCA0F147-A7D4-4251-9726-8443222F6883}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkloadManager.WorkfowExecuter", "WorkflowExecuter\Monai.Deploy.WorkloadManager.WorkfowExecuter.csproj", "{BF0FB5E4-2C58-4AC3-9D68-5FB6BD196C45}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.CLI.Tests", "..\tests\CLI.Tests\Monai.Deploy.WorkflowManager.CLI.Tests.csproj", "{64CADF9C-037D-4259-B54A-4FB89E38F26D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.IntegrationTests", "..\tests\IntegrationTests\WorkflowManager.IntegrationTests\Monai.Deploy.WorkflowManager.IntegrationTests.csproj", "{60687B1C-691D-48D7-85DD-B58BDC3F4461}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.Tests", "..\tests\WorkflowManager.Tests\Monai.Deploy.WorkflowManager.Tests.csproj", "{C2A58360-996D-42CF-BD83-A42C6BDBC584}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.CLI.Tests", "..\tests\UnitTests\CLI.Tests\Monai.Deploy.WorkflowManager.CLI.Tests.csproj", "{D593E28A-0FD2-45EA-9A75-10433AE517C8}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.Configuration.Tests", "..\tests\Configuration.Tests\Monai.Deploy.WorkflowManager.Configuration.Tests.csproj", "{D36D3A1E-6D95-4DC6-8C54-225C2410B8D4}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.Configuration.Tests", "..\tests\UnitTests\Configuration.Tests\Monai.Deploy.WorkflowManager.Configuration.Tests.csproj", "{A3E8A54A-063A-4274-8C1F-EE65AC1AF588}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkloadManager.WorkfowExecuter", "WorkflowExecuter\Monai.Deploy.WorkloadManager.WorkfowExecuter.csproj", "{BF0FB5E4-2C58-4AC3-9D68-5FB6BD196C45}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.Database.Tests", "..\tests\UnitTests\Database.Tests\Monai.Deploy.WorkflowManager.Database.Tests.csproj", "{24DC4287-D24B-41BD-9135-19F68B190AC4}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests", "WorkflowExecuter.Tests\Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests.csproj", "{6E095A30-EDF0-4940-935D-A8B64C19DE22}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.PayloadListener.Tests", "..\tests\UnitTests\PayloadListener.Tests\Monai.Deploy.WorkflowManager.PayloadListener.Tests.csproj", "{5B9F3B66-E622-4B72-BB3D-8C6A11FD50CD}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.Database.Tests", "Database.Tests\Monai.Deploy.WorkflowManager.Database.Tests.csproj", "{F1F553CD-373E-4D82-9A92-6D138C4F0A5A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests", "..\tests\UnitTests\WorkflowExecuter.Tests\Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests.csproj", "{32CE9D12-2AE1-4318-BF13-03D4331D4A69}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Monai.Deploy.WorkflowManager.Common.Tests", "..\tests\Common.Tests\Monai.Deploy.WorkflowManager.Common.Tests.csproj", "{3BFC16AF-8881-4B6A-B39C-495FB3484992}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Monai.Deploy.WorkflowManager.Tests", "..\tests\UnitTests\WorkflowManager.Tests\Monai.Deploy.WorkflowManager.Tests.csproj", "{53B7E4CD-E2AF-41BF-AF8E-709B8292E77D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -75,50 +75,50 @@ Global {34C41B48-7B14-4C16-9644-9AB20E6B9435}.Debug|Any CPU.Build.0 = Debug|Any CPU {34C41B48-7B14-4C16-9644-9AB20E6B9435}.Release|Any CPU.ActiveCfg = Release|Any CPU {34C41B48-7B14-4C16-9644-9AB20E6B9435}.Release|Any CPU.Build.0 = Release|Any CPU - {DCA0F147-A7D4-4251-9726-8443222F6883}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {DCA0F147-A7D4-4251-9726-8443222F6883}.Debug|Any CPU.Build.0 = Debug|Any CPU - {DCA0F147-A7D4-4251-9726-8443222F6883}.Release|Any CPU.ActiveCfg = Release|Any CPU - {DCA0F147-A7D4-4251-9726-8443222F6883}.Release|Any CPU.Build.0 = Release|Any CPU - {64CADF9C-037D-4259-B54A-4FB89E38F26D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {64CADF9C-037D-4259-B54A-4FB89E38F26D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {64CADF9C-037D-4259-B54A-4FB89E38F26D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {64CADF9C-037D-4259-B54A-4FB89E38F26D}.Release|Any CPU.Build.0 = Release|Any CPU - {C2A58360-996D-42CF-BD83-A42C6BDBC584}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C2A58360-996D-42CF-BD83-A42C6BDBC584}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C2A58360-996D-42CF-BD83-A42C6BDBC584}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C2A58360-996D-42CF-BD83-A42C6BDBC584}.Release|Any CPU.Build.0 = Release|Any CPU - {D36D3A1E-6D95-4DC6-8C54-225C2410B8D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D36D3A1E-6D95-4DC6-8C54-225C2410B8D4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D36D3A1E-6D95-4DC6-8C54-225C2410B8D4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D36D3A1E-6D95-4DC6-8C54-225C2410B8D4}.Release|Any CPU.Build.0 = Release|Any CPU {BF0FB5E4-2C58-4AC3-9D68-5FB6BD196C45}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {BF0FB5E4-2C58-4AC3-9D68-5FB6BD196C45}.Debug|Any CPU.Build.0 = Debug|Any CPU {BF0FB5E4-2C58-4AC3-9D68-5FB6BD196C45}.Release|Any CPU.ActiveCfg = Release|Any CPU {BF0FB5E4-2C58-4AC3-9D68-5FB6BD196C45}.Release|Any CPU.Build.0 = Release|Any CPU - {6E095A30-EDF0-4940-935D-A8B64C19DE22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6E095A30-EDF0-4940-935D-A8B64C19DE22}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6E095A30-EDF0-4940-935D-A8B64C19DE22}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6E095A30-EDF0-4940-935D-A8B64C19DE22}.Release|Any CPU.Build.0 = Release|Any CPU - {F1F553CD-373E-4D82-9A92-6D138C4F0A5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F1F553CD-373E-4D82-9A92-6D138C4F0A5A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F1F553CD-373E-4D82-9A92-6D138C4F0A5A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F1F553CD-373E-4D82-9A92-6D138C4F0A5A}.Release|Any CPU.Build.0 = Release|Any CPU - {3BFC16AF-8881-4B6A-B39C-495FB3484992}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3BFC16AF-8881-4B6A-B39C-495FB3484992}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3BFC16AF-8881-4B6A-B39C-495FB3484992}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3BFC16AF-8881-4B6A-B39C-495FB3484992}.Release|Any CPU.Build.0 = Release|Any CPU + {60687B1C-691D-48D7-85DD-B58BDC3F4461}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {60687B1C-691D-48D7-85DD-B58BDC3F4461}.Debug|Any CPU.Build.0 = Debug|Any CPU + {60687B1C-691D-48D7-85DD-B58BDC3F4461}.Release|Any CPU.ActiveCfg = Release|Any CPU + {60687B1C-691D-48D7-85DD-B58BDC3F4461}.Release|Any CPU.Build.0 = Release|Any CPU + {D593E28A-0FD2-45EA-9A75-10433AE517C8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D593E28A-0FD2-45EA-9A75-10433AE517C8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D593E28A-0FD2-45EA-9A75-10433AE517C8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D593E28A-0FD2-45EA-9A75-10433AE517C8}.Release|Any CPU.Build.0 = Release|Any CPU + {A3E8A54A-063A-4274-8C1F-EE65AC1AF588}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A3E8A54A-063A-4274-8C1F-EE65AC1AF588}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A3E8A54A-063A-4274-8C1F-EE65AC1AF588}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A3E8A54A-063A-4274-8C1F-EE65AC1AF588}.Release|Any CPU.Build.0 = Release|Any CPU + {24DC4287-D24B-41BD-9135-19F68B190AC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {24DC4287-D24B-41BD-9135-19F68B190AC4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {24DC4287-D24B-41BD-9135-19F68B190AC4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {24DC4287-D24B-41BD-9135-19F68B190AC4}.Release|Any CPU.Build.0 = Release|Any CPU + {5B9F3B66-E622-4B72-BB3D-8C6A11FD50CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5B9F3B66-E622-4B72-BB3D-8C6A11FD50CD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5B9F3B66-E622-4B72-BB3D-8C6A11FD50CD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5B9F3B66-E622-4B72-BB3D-8C6A11FD50CD}.Release|Any CPU.Build.0 = Release|Any CPU + {32CE9D12-2AE1-4318-BF13-03D4331D4A69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {32CE9D12-2AE1-4318-BF13-03D4331D4A69}.Debug|Any CPU.Build.0 = Debug|Any CPU + {32CE9D12-2AE1-4318-BF13-03D4331D4A69}.Release|Any CPU.ActiveCfg = Release|Any CPU + {32CE9D12-2AE1-4318-BF13-03D4331D4A69}.Release|Any CPU.Build.0 = Release|Any CPU + {53B7E4CD-E2AF-41BF-AF8E-709B8292E77D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {53B7E4CD-E2AF-41BF-AF8E-709B8292E77D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {53B7E4CD-E2AF-41BF-AF8E-709B8292E77D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {53B7E4CD-E2AF-41BF-AF8E-709B8292E77D}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {DCA0F147-A7D4-4251-9726-8443222F6883} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} - {64CADF9C-037D-4259-B54A-4FB89E38F26D} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} - {C2A58360-996D-42CF-BD83-A42C6BDBC584} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} - {D36D3A1E-6D95-4DC6-8C54-225C2410B8D4} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} - {6E095A30-EDF0-4940-935D-A8B64C19DE22} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} - {F1F553CD-373E-4D82-9A92-6D138C4F0A5A} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} - {3BFC16AF-8881-4B6A-B39C-495FB3484992} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} + {60687B1C-691D-48D7-85DD-B58BDC3F4461} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} + {D593E28A-0FD2-45EA-9A75-10433AE517C8} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} + {A3E8A54A-063A-4274-8C1F-EE65AC1AF588} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} + {24DC4287-D24B-41BD-9135-19F68B190AC4} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} + {5B9F3B66-E622-4B72-BB3D-8C6A11FD50CD} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} + {32CE9D12-2AE1-4318-BF13-03D4331D4A69} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} + {53B7E4CD-E2AF-41BF-AF8E-709B8292E77D} = {71DDEE7B-E213-4E39-A7F4-4646783A27F7} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {DC0D56C8-D8CB-45CE-B528-F3DCF86D63ED} diff --git a/src/WorkflowManager/AssemblyInfo.cs b/src/WorkflowManager/AssemblyInfo.cs index b9649dbf9..bc80f6f29 100644 --- a/src/WorkflowManager/AssemblyInfo.cs +++ b/src/WorkflowManager/AssemblyInfo.cs @@ -4,6 +4,7 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("Monai.Deploy.WorkflowManager.Tests")] +[assembly: InternalsVisibleTo("Monai.Deploy.WorkflowManager.IntegrationTests")] // ILogger [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] diff --git a/tests/Common.Tests/Monai.Deploy.WorkflowManager.Common.Tests.csproj b/tests/Common.Tests/Monai.Deploy.WorkflowManager.Common.Tests.csproj deleted file mode 100644 index b39d15a9f..000000000 --- a/tests/Common.Tests/Monai.Deploy.WorkflowManager.Common.Tests.csproj +++ /dev/null @@ -1,29 +0,0 @@ - - - - net6.0 - enable - - false - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - - - diff --git a/tests/Common.Tests/Services/WorkflowServiceTest.cs b/tests/Common.Tests/Services/WorkflowServiceTest.cs deleted file mode 100644 index 1d76e8384..000000000 --- a/tests/Common.Tests/Services/WorkflowServiceTest.cs +++ /dev/null @@ -1,106 +0,0 @@ -// SPDX-FileCopyrightText: � 2021-2022 MONAI Consortium -// SPDX-License-Identifier: Apache License 2.0 - -using System; -using System.Threading.Tasks; -using FluentAssertions; -using Monai.Deploy.WorkflowManager.Common.Interfaces; -using Monai.Deploy.WorkflowManager.Common.Services; -using Monai.Deploy.WorkflowManager.Contracts.Models; -using Monai.Deploy.WorkflowManager.Database.Interfaces; -using Moq; -using Xunit; - -namespace Common.Tests -{ - public class WorkflowServiceTest - { - private IWorkflowService WorkflowService { get; set; } - - private readonly Mock _workflowRepository; - - public WorkflowServiceTest() - { - _workflowRepository = new Mock(); - - WorkflowService = new WorkflowService(_workflowRepository.Object); - } - - [Fact] - public void CreateAsync_NullWorkflow_ThrowsException() => Assert.ThrowsAsync(() => WorkflowService.CreateAsync(null)); - - [Fact] - public async Task CreateAsync_ValidWorkflow_ReturnsWorkflowId() - { - var workflow = new Workflow - { - Description = "workflowdescription", - Version = "workflowVersion", - Name = "workflowname", - InformaticsGateway = new InformaticsGateway - { - AeTitle = "aetitle", - ExportDestinations = { }, - DataOrigins = new[] { "PACS" } - }, - Tasks = new TaskObject[] - { - new TaskObject - { - Description = "taskdescription", - Type = "argo", - Args = {} - } - } - - }; - var id = Guid.NewGuid().ToString(); - - _workflowRepository.Setup(w => w.CreateAsync(workflow)).ReturnsAsync(id); - - var result = await WorkflowService.CreateAsync(workflow); - - Assert.Equal(id, result); - } - - [Fact] - public void GetAsync_NullId_ThrowsException() => Assert.ThrowsAsync(() => WorkflowService.GetAsync(null)); - - [Fact] - public async Task GetAsync_ValidId_ReturnsWorkflowRevision() - { - var workflowRevision = new WorkflowRevision - { - Id = Guid.NewGuid().ToString(), - Revision = 1, - Workflow = new Workflow - { - Description = "workflowdescription", - Version = "workflowVersion", - Name = "workflowname", - InformaticsGateway = new InformaticsGateway - { - AeTitle = "aetitle", - ExportDestinations = { }, - DataOrigins = new[] { "PACS" } - }, - Tasks = new TaskObject[] - { - new TaskObject - { - Description = "taskdescription", - Type = "argo", - Args = {} - } - } - } - }; - - _workflowRepository.Setup(w => w.GetByWorkflowIdAsync(workflowRevision.Id)).ReturnsAsync(workflowRevision); - - var result = await WorkflowService.GetAsync(workflowRevision.Id); - - result.Should().BeEquivalentTo(workflowRevision); - } - } -} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Features/WorkflowRequest.feature b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Features/WorkflowRequest.feature new file mode 100644 index 000000000..225d68bf9 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Features/WorkflowRequest.feature @@ -0,0 +1,67 @@ +Feature: WorkflowRequest + +Publishing a workflow request is consumed by the Workflow Manager. + +Scenario Outline: Publish a valid workflow request which creates a single workflow instance + Given I have a clinical workflow + When I publish a Workflow Request Message + Then I can see 1 Workflow Instance is created + And 1 Task Dispatch event is published + Examples: + | workflow | workflowRequestMessage | + | Basic_Workflow_1 | Basic_AeTitle_WF_Request | + | Basic_Workflow_1 | Basic_Id_WF_Request | + +Scenario Outline: Publish a valid workflow request which creates multiple workflow instances + Given I have a clinical workflow + And I have a clinical workflow + When I publish a Workflow Request Message + Then I can see 2 Workflow Instances are created + And 2 Task Dispatch events are published + Examples: + | workflow_1 | workflow_2 | workflowRequestMessage | + | Same_AeTitle_1 | Same_AeTitle_2 | Same_AeTitle | + | Basic_Workflow_1 | Basic_Workflow_2 | Basic_Multi_Id_WF_Request | + +Scenario: Publish a valid workflow request with mismatched AE title and workflow ID + Given I have a clinical workflow Basic_Workflow_1 + And I have a clinical workflow Basic_Workflow_3 + When I publish a Workflow Request Message Mismatch_Id_AeTitle_WF_Request + Then I can see 1 Workflow Instance is created + +Scenario: Publish a valid workflow request triggering a workflow with multiple revisions + Given I have a clinical workflow Basic_Workflow_Multiple_Revisions_1 + And I have a clinical workflow Basic_Workflow_Multiple_Revisions_2 + When I publish a Workflow Request Message + Then I can see 1 Workflow Instances are created + Examples: + | workflowRequestMessage | + | AeTitle_Multi_Revision_WF_Request | + | WorkflowID_Multi_Revision_WF_Request | + +Scenario: Publish an invalid workflow request which does not create a workflow instance + Given I have a clinical workflow Basic_Workflow_3 + When I publish a Workflow Request Message + Then I can see 0 Workflow Instances are created + Examples: + | workflowRequestMessage | + | Missing_PayloadID_Invalid_WF_Request | + | Missing_WorkflowID_Invalid_WF_Request | + | Missing_Bucket_Invalid_WF_Request | + | Missing_CorrelationID_Invalid_WF_Request | + | Missing_CallingAETitle_Invalid_WF_Request | + | Missing_CalledAETitle_Invalid_WF_Request | + +Scenario: Publish a workflow request with the same payloadId for a Workflow Instance which has not been dispatched + Given I have a clinical workflow Multi_Request_Workflow_Created + And I have an existing Workflow Instance Existing_WFI_Created + When I publish a Workflow Request Message Multi_WF_Created + Then I can see an additional Workflow Instance is not created + And 1 Task Dispatch event is published + +Scenario: Publish a workflow request with the same payloadId for a Workflow Instance which has been dispatched + Given I have a clinical workflow Multi_Request_Workflow_Dispatched + And I have an existing Workflow Instance Existing_WFI_Dispatched + When I publish a Workflow Request Message Multi_WF_Dispatched + Then I can see an additional Workflow Instance is not created + And A Task Dispatch event is not published diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Features/WorkflowRequest.feature.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Features/WorkflowRequest.feature.cs new file mode 100644 index 000000000..caa633031 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Features/WorkflowRequest.feature.cs @@ -0,0 +1,408 @@ +// ------------------------------------------------------------------------------ +// +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +// ------------------------------------------------------------------------------ +#region Designer generated code +#pragma warning disable +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Features +{ + using TechTalk.SpecFlow; + using System; + using System.Linq; + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [NUnit.Framework.TestFixtureAttribute()] + [NUnit.Framework.DescriptionAttribute("WorkflowRequest")] + public partial class WorkflowRequestFeature + { + + private TechTalk.SpecFlow.ITestRunner testRunner; + + private string[] _featureTags = ((string[])(null)); + +#line 1 "WorkflowRequest.feature" +#line hidden + + [NUnit.Framework.OneTimeSetUpAttribute()] + public virtual void FeatureSetup() + { + testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Features", "WorkflowRequest", "Publishing a workflow request is consumed by the Workflow Manager.", ProgrammingLanguage.CSharp, ((string[])(null))); + testRunner.OnFeatureStart(featureInfo); + } + + [NUnit.Framework.OneTimeTearDownAttribute()] + public virtual void FeatureTearDown() + { + testRunner.OnFeatureEnd(); + testRunner = null; + } + + [NUnit.Framework.SetUpAttribute()] + public virtual void TestInitialize() + { + } + + [NUnit.Framework.TearDownAttribute()] + public virtual void TestTearDown() + { + testRunner.OnScenarioEnd(); + } + + public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + { + testRunner.OnScenarioInitialize(scenarioInfo); + testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); + } + + public virtual void ScenarioStart() + { + testRunner.OnScenarioStart(); + } + + public virtual void ScenarioCleanup() + { + testRunner.CollectScenarioErrors(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Publish a valid workflow request which creates a single workflow instance")] + [NUnit.Framework.TestCaseAttribute("Basic_Workflow_1", "Basic_AeTitle_WF_Request", null)] + [NUnit.Framework.TestCaseAttribute("Basic_Workflow_1", "Basic_Id_WF_Request", null)] + public virtual void PublishAValidWorkflowRequestWhichCreatesASingleWorkflowInstance(string workflow, string workflowRequestMessage, string[] exampleTags) + { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("workflow", workflow); + argumentsOfScenario.Add("workflowRequestMessage", workflowRequestMessage); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Publish a valid workflow request which creates a single workflow instance", null, tagsOfScenario, argumentsOfScenario, this._featureTags); +#line 5 +this.ScenarioInitialize(scenarioInfo); +#line hidden + bool isScenarioIgnored = default(bool); + bool isFeatureIgnored = default(bool); + if ((tagsOfScenario != null)) + { + isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((this._featureTags != null)) + { + isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((isScenarioIgnored || isFeatureIgnored)) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 6 + testRunner.Given(string.Format("I have a clinical workflow {0}", workflow), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 7 + testRunner.When(string.Format("I publish a Workflow Request Message {0}", workflowRequestMessage), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 8 + testRunner.Then("I can see 1 Workflow Instance is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 9 + testRunner.And("1 Task Dispatch event is published", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Publish a valid workflow request which creates multiple workflow instances")] + [NUnit.Framework.TestCaseAttribute("Same_AeTitle_1", "Same_AeTitle_2", "Same_AeTitle", null)] + [NUnit.Framework.TestCaseAttribute("Basic_Workflow_1", "Basic_Workflow_2", "Basic_Multi_Id_WF_Request", null)] + public virtual void PublishAValidWorkflowRequestWhichCreatesMultipleWorkflowInstances(string workflow_1, string workflow_2, string workflowRequestMessage, string[] exampleTags) + { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("workflow_1", workflow_1); + argumentsOfScenario.Add("workflow_2", workflow_2); + argumentsOfScenario.Add("workflowRequestMessage", workflowRequestMessage); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Publish a valid workflow request which creates multiple workflow instances", null, tagsOfScenario, argumentsOfScenario, this._featureTags); +#line 15 +this.ScenarioInitialize(scenarioInfo); +#line hidden + bool isScenarioIgnored = default(bool); + bool isFeatureIgnored = default(bool); + if ((tagsOfScenario != null)) + { + isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((this._featureTags != null)) + { + isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((isScenarioIgnored || isFeatureIgnored)) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 16 + testRunner.Given(string.Format("I have a clinical workflow {0}", workflow_1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 17 + testRunner.And(string.Format("I have a clinical workflow {0}", workflow_2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 18 + testRunner.When(string.Format("I publish a Workflow Request Message {0}", workflowRequestMessage), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 19 + testRunner.Then("I can see 2 Workflow Instances are created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 20 + testRunner.And("2 Task Dispatch events are published", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Publish a valid workflow request with mismatched AE title and workflow ID")] + public virtual void PublishAValidWorkflowRequestWithMismatchedAETitleAndWorkflowID() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Publish a valid workflow request with mismatched AE title and workflow ID", null, tagsOfScenario, argumentsOfScenario, this._featureTags); +#line 26 +this.ScenarioInitialize(scenarioInfo); +#line hidden + bool isScenarioIgnored = default(bool); + bool isFeatureIgnored = default(bool); + if ((tagsOfScenario != null)) + { + isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((this._featureTags != null)) + { + isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((isScenarioIgnored || isFeatureIgnored)) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 27 + testRunner.Given("I have a clinical workflow Basic_Workflow_1", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 28 + testRunner.And("I have a clinical workflow Basic_Workflow_3", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 29 + testRunner.When("I publish a Workflow Request Message Mismatch_Id_AeTitle_WF_Request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 30 + testRunner.Then("I can see 1 Workflow Instance is created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Publish a valid workflow request triggering a workflow with multiple revisions")] + [NUnit.Framework.TestCaseAttribute("AeTitle_Multi_Revision_WF_Request", null)] + [NUnit.Framework.TestCaseAttribute("WorkflowID_Multi_Revision_WF_Request", null)] + public virtual void PublishAValidWorkflowRequestTriggeringAWorkflowWithMultipleRevisions(string workflowRequestMessage, string[] exampleTags) + { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("workflowRequestMessage", workflowRequestMessage); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Publish a valid workflow request triggering a workflow with multiple revisions", null, tagsOfScenario, argumentsOfScenario, this._featureTags); +#line 32 +this.ScenarioInitialize(scenarioInfo); +#line hidden + bool isScenarioIgnored = default(bool); + bool isFeatureIgnored = default(bool); + if ((tagsOfScenario != null)) + { + isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((this._featureTags != null)) + { + isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((isScenarioIgnored || isFeatureIgnored)) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 33 + testRunner.Given("I have a clinical workflow Basic_Workflow_Multiple_Revisions_1", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 34 + testRunner.And("I have a clinical workflow Basic_Workflow_Multiple_Revisions_2", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 35 + testRunner.When(string.Format("I publish a Workflow Request Message {0}", workflowRequestMessage), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 36 + testRunner.Then("I can see 1 Workflow Instances are created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Publish an invalid workflow request which does not create a workflow instance")] + [NUnit.Framework.TestCaseAttribute("Missing_PayloadID_Invalid_WF_Request", null)] + [NUnit.Framework.TestCaseAttribute("Missing_WorkflowID_Invalid_WF_Request", null)] + [NUnit.Framework.TestCaseAttribute("Missing_Bucket_Invalid_WF_Request", null)] + [NUnit.Framework.TestCaseAttribute("Missing_CorrelationID_Invalid_WF_Request", null)] + [NUnit.Framework.TestCaseAttribute("Missing_CallingAETitle_Invalid_WF_Request", null)] + [NUnit.Framework.TestCaseAttribute("Missing_CalledAETitle_Invalid_WF_Request", null)] + public virtual void PublishAnInvalidWorkflowRequestWhichDoesNotCreateAWorkflowInstance(string workflowRequestMessage, string[] exampleTags) + { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("workflowRequestMessage", workflowRequestMessage); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Publish an invalid workflow request which does not create a workflow instance", null, tagsOfScenario, argumentsOfScenario, this._featureTags); +#line 42 +this.ScenarioInitialize(scenarioInfo); +#line hidden + bool isScenarioIgnored = default(bool); + bool isFeatureIgnored = default(bool); + if ((tagsOfScenario != null)) + { + isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((this._featureTags != null)) + { + isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((isScenarioIgnored || isFeatureIgnored)) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 43 + testRunner.Given("I have a clinical workflow Basic_Workflow_3", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 44 + testRunner.When(string.Format("I publish a Workflow Request Message {0}", workflowRequestMessage), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 45 + testRunner.Then("I can see 0 Workflow Instances are created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Publish a workflow request with the same payloadId for a Workflow Instance which " + + "has not been dispatched")] + public virtual void PublishAWorkflowRequestWithTheSamePayloadIdForAWorkflowInstanceWhichHasNotBeenDispatched() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Publish a workflow request with the same payloadId for a Workflow Instance which " + + "has not been dispatched", null, tagsOfScenario, argumentsOfScenario, this._featureTags); +#line 55 +this.ScenarioInitialize(scenarioInfo); +#line hidden + bool isScenarioIgnored = default(bool); + bool isFeatureIgnored = default(bool); + if ((tagsOfScenario != null)) + { + isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((this._featureTags != null)) + { + isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((isScenarioIgnored || isFeatureIgnored)) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 56 + testRunner.Given("I have a clinical workflow Multi_Request_Workflow_Created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 57 + testRunner.And("I have an existing Workflow Instance Existing_WFI_Created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 58 + testRunner.When("I publish a Workflow Request Message Multi_WF_Created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 59 + testRunner.Then("I can see an additional Workflow Instance is not created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 60 + testRunner.And("1 Task Dispatch event is published", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Publish a workflow request with the same payloadId for a Workflow Instance which " + + "has been dispatched")] + public virtual void PublishAWorkflowRequestWithTheSamePayloadIdForAWorkflowInstanceWhichHasBeenDispatched() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Publish a workflow request with the same payloadId for a Workflow Instance which " + + "has been dispatched", null, tagsOfScenario, argumentsOfScenario, this._featureTags); +#line 62 +this.ScenarioInitialize(scenarioInfo); +#line hidden + bool isScenarioIgnored = default(bool); + bool isFeatureIgnored = default(bool); + if ((tagsOfScenario != null)) + { + isScenarioIgnored = tagsOfScenario.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((this._featureTags != null)) + { + isFeatureIgnored = this._featureTags.Where(__entry => __entry != null).Where(__entry => String.Equals(__entry, "ignore", StringComparison.CurrentCultureIgnoreCase)).Any(); + } + if ((isScenarioIgnored || isFeatureIgnored)) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 63 + testRunner.Given("I have a clinical workflow Multi_Request_Workflow_Dispatched", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 64 + testRunner.And("I have an existing Workflow Instance Existing_WFI_Dispatched", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 65 + testRunner.When("I publish a Workflow Request Message Multi_WF_Dispatched", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 66 + testRunner.Then("I can see an additional Workflow Instance is not created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 67 + testRunner.And("A Task Dispatch event is not published", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + } +} +#pragma warning restore +#endregion diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Hooks.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Hooks.cs new file mode 100644 index 000000000..479f41f0e --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Hooks.cs @@ -0,0 +1,140 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using System.Diagnostics; +using BoDi; +using Microsoft.Extensions.Configuration; +using Monai.Deploy.WorkflowManager.IntegrationTests.POCO; +using Monai.Deploy.WorkflowManager.IntegrationTests.Support; + +namespace Monai.Deploy.WorkflowManagerIntegrationTests +{ + /// + /// Hooks class for setting up the integration tests. + /// + [Binding] + public class Hooks + { + /// + /// Initializes a new instance of the class. + /// + /// + public Hooks(IObjectContainer objectContainer) + { + ObjectContainer = objectContainer; + } + + private static RabbitPublisher? WorkflowPublisher { get; set; } + + private static RabbitConsumer? TaskDispatchConsumer { get; set; } + + private static MongoClientUtil? MongoClient { get; set; } + + private IObjectContainer ObjectContainer { get; set; } + + /// + /// Runs before all tests to create static implementions of Rabbit and Mongo clients as well as starting the WorkflowManager using WebApplicationFactory. + /// + [BeforeTestRun(Order = 0)] + public static void Init() + { + var config = new ConfigurationBuilder() + .AddEnvironmentVariables() + .AddJsonFile("appsettings.Development.json") + .Build(); + + TestExecutionConfig.RabbitConfig.Host = "localhost"; + TestExecutionConfig.RabbitConfig.Port = 15672; + TestExecutionConfig.RabbitConfig.User = "admin"; + TestExecutionConfig.RabbitConfig.Password = "admin"; + TestExecutionConfig.RabbitConfig.VirtualHost = "monaideploy"; + TestExecutionConfig.RabbitConfig.Exchange = "monaideploy"; + TestExecutionConfig.RabbitConfig.WorkflowRequestQueue = config.GetValue("WorkflowManager:messaging:topics:workflowRequest"); + TestExecutionConfig.RabbitConfig.TaskDispatchQueue = "md.tasks.dispatch"; + TestExecutionConfig.RabbitConfig.TaskCallbackQueue = "md.tasks.callback"; + TestExecutionConfig.RabbitConfig.WorkflowCompleteQueue = config.GetValue("WorkflowManager:messaging:topics:exportComplete"); + + TestExecutionConfig.MongoConfig.ConnectionString = config.GetValue("WorkloadManagerDatabase:ConnectionString"); + TestExecutionConfig.MongoConfig.Database = config.GetValue("WorkloadManagerDatabase:DatabaseName"); + TestExecutionConfig.MongoConfig.WorkflowCollection = config.GetValue("WorkloadManagerDatabase:WorkflowCollectionName"); + TestExecutionConfig.MongoConfig.WorkflowInstanceCollection = config.GetValue("WorkloadManagerDatabase:WorkflowInstanceCollectionName"); + + WorkflowPublisher = new RabbitPublisher(RabbitConnectionFactory.GetConnectionFactory(), TestExecutionConfig.RabbitConfig.Exchange, TestExecutionConfig.RabbitConfig.WorkflowRequestQueue); + TaskDispatchConsumer = new RabbitConsumer(RabbitConnectionFactory.GetConnectionFactory(), TestExecutionConfig.RabbitConfig.Exchange, TestExecutionConfig.RabbitConfig.TaskDispatchQueue); + MongoClient = new MongoClientUtil(); + WebAppFactory.SetupWorkflowManger(); + } + + /// + /// Runs before all tests to check that the WorkflowManager consumer is started. + /// + /// Error if the WorkflowManager consumer is not started. + /// + [BeforeTestRun(Order = 1)] + public static async Task CheckWorkflowConsumerStarted() + { + var response = await WebAppFactory.GetConsumers(); + var content = response.Content.ReadAsStringAsync().Result; + + for (var i = 1; i <= 10; i++) + { + if (string.IsNullOrEmpty(content) || content == "[]") + { + Debug.Write($"Workflow consumer not started. Recheck times {i}"); + response = await WebAppFactory.GetConsumers(); + content = response.Content.ReadAsStringAsync().Result; + } + else + { + Debug.Write("Consumer started. Integration tests will begin!"); + break; + } + + if (i == 10) + { + throw new Exception("Workflow Mangaer Consumer not started! Integration tests will not continue"); + } + + Thread.Sleep(1000); + } + } + + /// + /// Adds Rabbit and Mongo clients to Specflow IoC container for test scenario being executed. + /// + [BeforeScenario] + public void SetUp() + { + ObjectContainer.RegisterInstanceAs(WorkflowPublisher); + ObjectContainer.RegisterInstanceAs(TaskDispatchConsumer); + ObjectContainer.RegisterInstanceAs(MongoClient); + } + + /// + /// Runs after all tests to closes Rabbit connections. + /// + [AfterTestRun(Order = 0)] + public static void TearDownMongo() + { + MongoClient.DeleteAllWorkflowDocuments(); + MongoClient.DeleteAllWorkflowInstances(); + } + + /// + /// Runs after all tests to closes Rabbit connections. + /// + [AfterTestRun(Order = 1)] + public static void TearDownRabbit() + { + if (WorkflowPublisher != null) + { + WorkflowPublisher.CloseConnection(); + } + + if (TaskDispatchConsumer != null) + { + TaskDispatchConsumer.CloseConnection(); + } + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/ImplicitUsings.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/ImplicitUsings.cs new file mode 100644 index 000000000..e0e7405cb --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/ImplicitUsings.cs @@ -0,0 +1,4 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +global using TechTalk.SpecFlow; diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Models/InformaticsGateway/WorkflowRequestMessage.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Models/InformaticsGateway/WorkflowRequestMessage.cs new file mode 100644 index 000000000..213727765 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Models/InformaticsGateway/WorkflowRequestMessage.cs @@ -0,0 +1,34 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using Newtonsoft.Json; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Models +{ + public class WorkflowRequestMessage + { + [JsonProperty(PropertyName = "payload_id")] + public Guid PayloadId { get; set; } + + [JsonProperty(PropertyName = "workflows")] + public IEnumerable Workflows { get; set; } + + [JsonProperty(PropertyName = "file_count")] + public int FileCount { get; set; } + + [JsonProperty(PropertyName = "correlation_id")] + public string CorrelationId { get; set; } = default!; + + [JsonProperty(PropertyName = "bucket")] + public string Bucket { get; set; } = default!; + + [JsonProperty(PropertyName = "calling_aetitle")] + public string CallingAeTitle { get; set; } = default!; + + [JsonProperty(PropertyName = "called_aetitle")] + public string CalledAeTitle { get; set; } = default!; + + [JsonProperty(PropertyName = "timestamp")] + public DateTime Timestamp { get; set; } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Monai.Deploy.WorkflowManager.IntegrationTests.csproj b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Monai.Deploy.WorkflowManager.IntegrationTests.csproj new file mode 100644 index 000000000..c23c559a0 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Monai.Deploy.WorkflowManager.IntegrationTests.csproj @@ -0,0 +1,30 @@ + + + + net6.0 + enable + enable + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/POCO/TestExecutionConfig.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/POCO/TestExecutionConfig.cs new file mode 100644 index 000000000..30199bf96 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/POCO/TestExecutionConfig.cs @@ -0,0 +1,48 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.POCO +{ + static class TestExecutionConfig + { + public static class RabbitConfig + { + public static string Host { get; set; } + + public static int Port { get; set; } + + public static string User { get; set; } + + public static string Password { get; set; } + + public static string Exchange { get; set; } + + public static string VirtualHost { get; set; } + + public static string WorkflowRequestQueue { get; set; } + + public static string TaskDispatchQueue { get; set; } + + public static string TaskCallbackQueue { get; set; } + + public static string WorkflowCompleteQueue { get; set; } + } + + public static class MongoConfig + { + public static string ConnectionString { get; set; } + + public static int Port { get; set; } + + public static string User { get; set; } + + public static string Password { get; set; } + + public static string Database { get; set; } + + public static string WorkflowCollection { get; set; } + + public static string WorkflowInstanceCollection { get; set; } + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/StepDefinitions/WorkflowRequestStepDefinitions.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/StepDefinitions/WorkflowRequestStepDefinitions.cs new file mode 100644 index 000000000..7c8724d7d --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/StepDefinitions/WorkflowRequestStepDefinitions.cs @@ -0,0 +1,280 @@ +// SPDX-FileCopyrightText: � 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using FluentAssertions; +using Monai.Deploy.Messaging.Events; +using Monai.Deploy.Messaging.Messages; +using Monai.Deploy.WorkflowManager.Contracts.Models; +using Monai.Deploy.WorkflowManager.IntegrationTests.Models; +using Monai.Deploy.WorkflowManager.IntegrationTests.Support; +using Monai.Deploy.WorkflowManager.IntegrationTests.TestData; +using Monai.Deploy.WorkloadManager.Contracts.Models; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.StepDefinitions +{ + [Binding] + public class WorkflowRequestStepDefinitions + { + private RabbitPublisher WorkflowPublisher { get; set; } + private RabbitConsumer TaskDispatchConsumer { get; set; } + private MongoClientUtil MongoClient { get; set; } + private Assertions Assertions { get; set; } + private readonly List _workflowRevisions = new List(); + private WorkflowRequestMessage WorkflowRequestMessage { get; set; } + private List WorkflowInstances { get; set; } + + public WorkflowRequestStepDefinitions(RabbitPublisher workflowPublisher, RabbitConsumer taskDispatchConsumer, MongoClientUtil mongoClient) + { + WorkflowPublisher = workflowPublisher ?? throw new ArgumentNullException(nameof(workflowPublisher)); + TaskDispatchConsumer = taskDispatchConsumer ?? throw new ArgumentNullException(nameof(taskDispatchConsumer)); + MongoClient = mongoClient ?? throw new ArgumentNullException(nameof(mongoClient)); ; + Assertions = new Assertions(); + } + + [Given(@"I have a clinical workflow (.*)")] + public void GivenIHaveAClinicalWorkflow(string name) + { + var workflowRevision = WorkflowRevisionsTestData.TestData.FirstOrDefault(c => c.Name.Equals(name)); + + if (workflowRevision != null) + { + if (workflowRevision.WorkflowRevision != null) + { + _workflowRevisions.Add(workflowRevision.WorkflowRevision); + MongoClient.CreateWorkflowRevisionDocument(workflowRevision.WorkflowRevision); + } + else + { + throw new Exception($"Workflow {name} does not have any applicable test data, please check and try again!"); + } + } + else + { + throw new Exception($"Workflow {name} does not have any applicable test data, please check and try again!"); + } + + } + + [Given(@"I have an existing Workflow Instance (.*)")] + public void GivenIHaveAnExistingWorkflowInstance(string name) + { + var workflowInstance = WorkflowInstancesTestData.TestData.FirstOrDefault(c => c.Name.Contains(name)); + + if (workflowInstance != null) + { + if (workflowInstance.WorkflowInstance != null) + { + MongoClient.CreateWorkflowInstanceDocument(workflowInstance.WorkflowInstance); + } + else + { + throw new Exception($"Workflow Intance {name} does not have any applicable test data, please check and try again!"); + } + } + else + { + throw new Exception($"Workflow Intance {name} does not have any applicable test data, please check and try again!"); + } + } + + [When(@"I publish a Workflow Request Message (.*)")] + public void WhenIPublishAWorkflowRequestMessage(string name) + { + var workflowRequest = WorkflowRequestsTestData.TestData.FirstOrDefault(c => c.Name.Contains(name)); + + if (workflowRequest != null) + { + if (workflowRequest.WorkflowRequestMessage != null) + { + WorkflowRequestMessage = workflowRequest.WorkflowRequestMessage; + + var message = new JsonMessage( + workflowRequest.WorkflowRequestMessage, + "16988a78-87b5-4168-a5c3-2cfc2bab8e54", + Guid.NewGuid().ToString(), + string.Empty); + + WorkflowPublisher.PublishMessage(message.ToMessage()); + } + else + { + throw new Exception($"Workflow request {name} does not have any applicable test data, please check and try again!"); + } + } + else + { + throw new Exception($"Workflow request {name} does not have any applicable test data, please check and try again!"); + } + } + + [Then(@"I can see (.*) Workflow Instances are created")] + [Then(@"I can see (.*) Workflow Instance is created")] + public void ThenICanSeeAWorkflowInstanceIsCreated(int count) + { + WorkflowInstances = GetWorkflowInstances(count, WorkflowRequestMessage.PayloadId.ToString()); + + if (WorkflowInstances != null) + { + foreach (var workflowInstance in WorkflowInstances) + { + var workflow = _workflowRevisions.FirstOrDefault(x => x.WorkflowId.Equals(workflowInstance.WorkflowId)); + + if (workflow != null) + { + Assertions.AssertWorkflowInstanceDetails(workflowInstance, workflow, WorkflowRequestMessage); + } + else + { + throw new Exception($"Workflow not found for workflowId {workflowInstance.WorkflowId}"); + } + } + } + } + + [Then(@"(.*) Task Dispatch event is published")] + [Then(@"(.*) Task Dispatch events are published")] + public void TaskDispatchEventIsPublished(int count) + { + if (WorkflowInstances == null) + { + WorkflowInstances = GetWorkflowInstances(count, WorkflowRequestMessage.PayloadId.ToString()); + } + + var taskDispatchEvents = GetTaskDispatchEvents(count, WorkflowInstances); + + foreach (var instance in WorkflowInstances) + { + var workflow = _workflowRevisions.FirstOrDefault(x => x.WorkflowId.Equals(instance.WorkflowId)); + + if (workflow != null) + { + var taskDispatchEvent = taskDispatchEvents.FirstOrDefault(x => x.ExecutionId.Equals(instance.Tasks[0].ExecutionId)); + + if (taskDispatchEvent != null) + { + var workflowInstance = MongoClient.GetWorkflowInstanceById(instance.Id); + + Assertions.AssertTaskDispatchEvent(taskDispatchEvent, workflowInstance, workflow, WorkflowRequestMessage); + } + else + { + throw new Exception($"Task dispatch evenet for ExecutionId {instance.Tasks[0].ExecutionId} cannot be found"); + } + } + else + { + throw new Exception($"Workflow for instance workflowId {instance.WorkflowId} cannot be found"); + } + } + } + + [Then(@"I can see an additional Workflow Instance is not created")] + public void ThenICanSeeAnAdditionalWorkflowInstanceIsNotCreated() + { + var workflowInstances = MongoClient.GetWorkflowInstances(WorkflowRequestMessage.PayloadId.ToString()); + + workflowInstances.Count.Should().Be(1); + } + + [Then(@"A Task Dispatch event is not published")] + public void ThenATaskDispatchEventIsNotPublished() + { + for (var i = 0; i < 3; i++) + { + var taskDispatchEvent = TaskDispatchConsumer.GetMessage(); + + if (taskDispatchEvent != null) + { + if (WorkflowInstances == null) + { + WorkflowInstances = GetWorkflowInstances(1, WorkflowRequestMessage.PayloadId.ToString()); + } + + foreach (var instance in WorkflowInstances) + { + if (taskDispatchEvent.ExecutionId == instance.Tasks[0].ExecutionId) + { + throw new Exception($"Task Dispatch Event has been published when workflowInstance status was {instance.Tasks[0].Status}"); + } + } + } + + Thread.Sleep(1000); + } + } + + + private List GetWorkflowInstances(int count, string payloadId) + { + for (var i = 0; i < 20; i++) + { + var workflowInstances = MongoClient.GetWorkflowInstances(payloadId); + + if (workflowInstances.Count == count) + { + return workflowInstances; + } + + if (i == 9) + { + throw new Exception($"{count} workflow instances could not be found for payloadId {payloadId}"); + } + + Thread.Sleep(1000); + } + + throw new Exception($"{count} workflow instances could not be found for payloadId {payloadId}"); + } + + private List GetTaskDispatchEvents(int count, List workflowInstances) + { + var taskDispatchEvent = new List(); + + for (var i = 0; i < 10; i++) + { + var message = TaskDispatchConsumer.GetMessage(); + + if (message != null) + { + foreach (var workflowInstance in workflowInstances) + { + if (message.ExecutionId == workflowInstance.Tasks[0].ExecutionId) + { + taskDispatchEvent.Add(message); + } + } + } + + if (taskDispatchEvent.Count == count) + { + return taskDispatchEvent; + } + + if (i == 9) + { + throw new Exception($"{count} task dispatch events could not be found"); + } + + Thread.Sleep(1000); + } + + throw new Exception($"{count} task dispatch events could not be found"); + } + + [AfterScenario(Order = 1)] + public void DeleteWorkflows() + { + foreach (var workflow in _workflowRevisions) + { + MongoClient.DeleteWorkflowDocument(workflow.WorkflowId); + } + + _workflowRevisions.Clear(); + + if (WorkflowInstances != null) + { + WorkflowInstances.Clear(); + } + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/Assertions.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/Assertions.cs new file mode 100644 index 000000000..859fd5733 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/Assertions.cs @@ -0,0 +1,41 @@ +using FluentAssertions; +using Monai.Deploy.Messaging.Events; +using Monai.Deploy.WorkflowManager.Contracts.Models; +using Monai.Deploy.WorkflowManager.IntegrationTests.Models; +using Monai.Deploy.WorkloadManager.Contracts.Models; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Support +{ + public class Assertions + { + public void AssertWorkflowInstanceDetails(WorkflowInstance workflowInstance, WorkflowRevision workflowRevision, WorkflowRequestMessage workflowRequestMessage) + { + workflowInstance.PayloadId.Should().Match(workflowRequestMessage.PayloadId.ToString()); + workflowInstance.WorkflowId.Should().Match(workflowRevision.WorkflowId); + workflowInstance.AeTitle.Should().Match(workflowRevision.Workflow.InformaticsGateway.AeTitle); + workflowInstance.Tasks.Count.Should().Be(workflowRevision.Workflow.Tasks.Length); + + foreach (var task in workflowInstance.Tasks) + { + var workflowTask = workflowRevision.Workflow.Tasks.FirstOrDefault(x => x.Id.Equals(task.TaskId)); + if (workflowTask != null) + { + task.TaskId.Should().Match(workflowTask.Id); + task.TaskType.Should().Match(workflowTask.Type); + } + else + { + throw new Exception($"Workflow Revision Task or {task.TaskId} not found!"); + } + } + } + + public void AssertTaskDispatchEvent(TaskDispatchEvent taskDispatchEvent, WorkflowInstance workflowInstance, WorkflowRevision workflowRevision, WorkflowRequestMessage workflowRequestMessage) + { + taskDispatchEvent.CorrelationId.Should().Match(workflowRequestMessage.CorrelationId); + taskDispatchEvent.TaskId.Should().Match(workflowRevision.Workflow.Tasks[0].Id); + taskDispatchEvent.WorkflowId.Should().Match(workflowRevision.WorkflowId); + workflowInstance.Tasks[0].Status.Should().Be(TaskExecutionStatus.Dispatched); + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/JsonFormatter.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/JsonFormatter.cs new file mode 100644 index 000000000..e1a104f78 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/JsonFormatter.cs @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Support +{ + static class JsonFormatter + { + public static string FormatJson(string json) + { + return JToken.Parse(json).ToString(Formatting.Indented); + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/MessageReceiver.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/MessageReceiver.cs new file mode 100644 index 000000000..ec347705c --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/MessageReceiver.cs @@ -0,0 +1,24 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using RabbitMQ.Client; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Support +{ + [Binding] + public class MessageReceiver : DefaultBasicConsumer + { + private readonly IModel _channel; + + public MessageReceiver(IModel channel) + { + _channel = channel; + } + + public override void HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, IBasicProperties properties, ReadOnlyMemory body) + { + // TO DO Assertions + _channel.BasicAck(deliveryTag, false); + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/MongoClientUtil.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/MongoClientUtil.cs new file mode 100644 index 000000000..b8070eae5 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/MongoClientUtil.cs @@ -0,0 +1,74 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using Monai.Deploy.WorkflowManager.Contracts.Models; +using Monai.Deploy.WorkflowManager.IntegrationTests.POCO; +using Monai.Deploy.WorkloadManager.Contracts.Models; +using MongoDB.Driver; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Support +{ + public class MongoClientUtil + { + public MongoClientUtil() + { + Client = new MongoClient(TestExecutionConfig.MongoConfig.ConnectionString); + Database = Client.GetDatabase($"{TestExecutionConfig.MongoConfig.Database}"); + WorkflowRevisionCollection = Database.GetCollection($"{TestExecutionConfig.MongoConfig.WorkflowCollection}"); + WorkflowInstanceCollection = Database.GetCollection($"{TestExecutionConfig.MongoConfig.WorkflowInstanceCollection}"); + } + + private MongoClient Client { get; set; } + + private IMongoDatabase Database { get; set; } + + private IMongoCollection WorkflowRevisionCollection { get; set; } + + private IMongoCollection WorkflowInstanceCollection { get; set; } + + public void CreateWorkflowRevisionDocument(WorkflowRevision workflowRevision) + { + WorkflowRevisionCollection.InsertOne(workflowRevision); + } + + public void DeleteWorkflowDocument(string id) + { + WorkflowRevisionCollection.DeleteOne(x => x.WorkflowId.Equals(id)); + } + + public void DeleteAllWorkflowDocuments() + { + WorkflowRevisionCollection.DeleteMany("{ }"); + } + + public void CreateWorkflowInstanceDocument(WorkflowInstance workflowInstance) + { + WorkflowInstanceCollection.InsertOne(workflowInstance); + } + + public WorkflowInstance GetWorkflowInstance(string payloadId) + { + return WorkflowInstanceCollection.Find(x => x.PayloadId == payloadId).FirstOrDefault(); + } + + public WorkflowInstance GetWorkflowInstanceById(string Id) + { + return WorkflowInstanceCollection.Find(x => x.Id == Id).FirstOrDefault(); + } + + public List GetWorkflowInstances(string payloadId) + { + return WorkflowInstanceCollection.Find(x => x.PayloadId == payloadId).ToList(); + } + + public void DeleteAllWorkflowInstances() + { + WorkflowInstanceCollection.DeleteMany("{ }"); + } + + public void DropDatabase(string dbName) + { + Client.DropDatabase(dbName); + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitConnectionFactory.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitConnectionFactory.cs new file mode 100644 index 000000000..7a0cab774 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitConnectionFactory.cs @@ -0,0 +1,24 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using Monai.Deploy.WorkflowManager.IntegrationTests.POCO; +using RabbitMQ.Client; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Support +{ + public static class RabbitConnectionFactory + { + public static ConnectionFactory GetConnectionFactory() + { + var connectionFactory = new ConnectionFactory + { + HostName = TestExecutionConfig.RabbitConfig.Host, + UserName = TestExecutionConfig.RabbitConfig.User, + Password = TestExecutionConfig.RabbitConfig.Password, + VirtualHost = TestExecutionConfig.RabbitConfig.VirtualHost + }; + + return connectionFactory; + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitConsumer.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitConsumer.cs new file mode 100644 index 000000000..bba668be5 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitConsumer.cs @@ -0,0 +1,52 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using System.Text; +using Newtonsoft.Json; +using RabbitMQ.Client; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Support +{ + public class RabbitConsumer + { + public RabbitConsumer(ConnectionFactory connectionFactory, string exchange, string routingKey) + { + Exchange = exchange; + RoutingKey = routingKey; + var connection = connectionFactory.CreateConnection(); + Channel = connection.CreateModel(); + Queue = Channel.QueueDeclare(queue: string.Empty, durable: true, exclusive: false, autoDelete: false); + Channel.QueueBind(Queue.QueueName, Exchange, RoutingKey); + Channel.ExchangeDeclare(Exchange, ExchangeType.Topic, durable: true); + } + + private QueueDeclareOk Queue { get; set; } + + private string Exchange { get; set; } + + private string RoutingKey { get; set; } + + private IModel Channel { get; set; } + + public T GetMessage() + { + var basicGetResult = Channel.BasicGet(Queue.QueueName, true); + + if (basicGetResult != null) + { + var byteArray = basicGetResult.Body.ToArray(); + + var str = Encoding.Default.GetString(byteArray); + + return JsonConvert.DeserializeObject(str); + } + + return default; + } + + public void CloseConnection() + { + Channel.Close(); + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitPublisher.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitPublisher.cs new file mode 100644 index 000000000..7e02f433f --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/RabbitPublisher.cs @@ -0,0 +1,54 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using Monai.Deploy.Messaging.Messages; +using RabbitMQ.Client; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Support +{ + public class RabbitPublisher + { + public RabbitPublisher(ConnectionFactory connectionFactory, string exchange, string routingKey) + { + Exchange = exchange; + RoutingKey = routingKey; + var connection = connectionFactory.CreateConnection(); + Channel = connection.CreateModel(); + Channel.ExchangeDeclare(Exchange, ExchangeType.Topic, durable: true); + } + + private string Exchange { get; set; } + + private string RoutingKey { get; set; } + + private IModel Channel { get; set; } + + public void PublishMessage(Message message) + { + var propertiesDictionary = new Dictionary + { + { "CreationDateTime", message.CreationDateTime.ToString("o") } + }; + + var properties = Channel.CreateBasicProperties(); + properties.Persistent = true; + properties.ContentType = message.ContentType; + properties.MessageId = message.MessageId; + properties.AppId = message.ApplicationId; + properties.CorrelationId = message.CorrelationId; + properties.DeliveryMode = 2; + properties.Headers = propertiesDictionary; + properties.Type = message.MessageDescription; + + Channel.BasicPublish(exchange: Exchange, + routingKey: RoutingKey, + basicProperties: properties, + body: message.Body); + } + + public void CloseConnection() + { + Channel.Close(); + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/WebAppFactory.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/WebAppFactory.cs new file mode 100644 index 000000000..0c8a36b91 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/Support/WebAppFactory.cs @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using System.Net.Http.Headers; +using System.Text; +using Microsoft.AspNetCore.Mvc.Testing; +using Monai.Deploy.WorkflowManager.IntegrationTests.POCO; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.Support +{ + public static class WebAppFactory + { + public static void SetupWorkflowManger() + { + var webApplicationFactory = new WebApplicationFactory(); + + _ = webApplicationFactory.CreateClient(); + } + + public static async Task GetConsumers() + { + var httpClient = new HttpClient(); + + var svcCredentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(TestExecutionConfig.RabbitConfig.User + ":" + TestExecutionConfig.RabbitConfig.Password)); + + httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", svcCredentials); + + return await httpClient.GetAsync($"http://{TestExecutionConfig.RabbitConfig.Host}:{TestExecutionConfig.RabbitConfig.Port}/api/consumers"); + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/Helper.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/Helper.cs new file mode 100644 index 000000000..4cbc35387 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/Helper.cs @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.TestData +{ + public static class Helper + { + public static object WorkflowsTestData { get; private set; } + + public static string GetWorkflowIdByName(string name) + { + var workflowRevision = WorkflowRevisionsTestData.TestData.FirstOrDefault(c => c.Name.Contains(name)); + if (workflowRevision != null) + { + if (workflowRevision.WorkflowRevision != null) + { + return workflowRevision.WorkflowRevision.WorkflowId; + } + } + throw new Exception($"workflow {name} does not exist. Please check and try again!"); + } + + public static string GetPayloadIdByName(string name) + { + var workflowRequest = WorkflowRequestsTestData.TestData.FirstOrDefault(c => c.Name.Contains(name)); + if (workflowRequest != null) + { + if (workflowRequest.WorkflowRequestMessage != null) + { + return workflowRequest.WorkflowRequestMessage.PayloadId.ToString(); + } + } + throw new Exception($"workflow {name} does not exist. Please check and try again!"); + } + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowInstanceTestData.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowInstanceTestData.cs new file mode 100644 index 000000000..65b5ad447 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowInstanceTestData.cs @@ -0,0 +1,77 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using Monai.Deploy.Messaging.Events; +using Monai.Deploy.WorkflowManager.Contracts.Models; +using Monai.Deploy.WorkloadManager.Contracts.Models; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.TestData +{ + public class WorkflowInstanceTestData + { + public string? Name { get; set; } + + public WorkflowInstance? WorkflowInstance { get; set; } + } + + public static class WorkflowInstancesTestData + { + public static List TestData = new List() + { + new WorkflowInstanceTestData() + { + Name = "Existing_WFI_Created", + WorkflowInstance = new WorkflowInstance() + { + Id = Guid.NewGuid().ToString(), + AeTitle = "Multi_Req", + WorkflowId = Helper.GetWorkflowIdByName("Multi_Request_Workflow_Created"), + PayloadId = Helper.GetPayloadIdByName("Multi_WF_Created"), + StartTime = DateTime.Now, + Status = Status.Created, + InputMetaData = new Dictionary() + { + { "", "" } + }, + Tasks = new List + { + new TaskExecution() + { + ExecutionId = Guid.NewGuid().ToString(), + TaskId = "2dbd1af7-b699-4467-8e99-05a0c22422b4", + TaskType = "Multi_task", + Status = TaskExecutionStatus.Created + } + } + } + }, + new WorkflowInstanceTestData() + { + Name = "Existing_WFI_Dispatched", + WorkflowInstance = new WorkflowInstance() + { + Id = Guid.NewGuid().ToString(), + AeTitle = "Multi_Req", + WorkflowId = Helper.GetWorkflowIdByName("Multi_Request_Workflow_Dispatched"), + PayloadId = Helper.GetPayloadIdByName("Multi_WF_Dispatched"), + StartTime = DateTime.Now, + Status = Status.Created, + InputMetaData = new Dictionary() + { + { "", "" } + }, + Tasks = new List + { + new TaskExecution() + { + ExecutionId = Guid.NewGuid().ToString(), + TaskId = "7d7c8b83-6628-413c-9912-a89314e5e2d5", + TaskType = "Multi_task", + Status = TaskExecutionStatus.Dispatched + } + } + } + }, + }; + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowRequestTestData.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowRequestTestData.cs new file mode 100644 index 000000000..2dfadaa75 --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowRequestTestData.cs @@ -0,0 +1,225 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using Monai.Deploy.WorkflowManager.IntegrationTests.Models; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.TestData +{ + public class WorkflowRequestTestData + { + public string? Name { get; set; } + + public WorkflowRequestMessage? WorkflowRequestMessage { get; set; } + } + + public static class WorkflowRequestsTestData + { + public static List TestData = new List() + { + new WorkflowRequestTestData + { + Name = "Basic_AeTitle_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Basic_AE", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Basic_Id_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { Helper.GetWorkflowIdByName("Basic_Workflow_1") }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "No_AE", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Basic_Multi_Id_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { Helper.GetWorkflowIdByName("Basic_Workflow_1"), Helper.GetWorkflowIdByName("Basic_Workflow_2") }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "No_AE", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Mismatch_Id_AeTitle_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { Helper.GetWorkflowIdByName("Basic_Workflow_1") }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Basic_AE_3", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "AeTitle_Multi_Revision_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Multi_Revision", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "WorkflowID_Multi_Revision_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { Helper.GetWorkflowIdByName("Basic_Workflow_Multiple_Revisions_2") }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "No_AE", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Missing_PayloadID_Invalid_WF_Request ", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + Workflows = new List() { Helper.GetWorkflowIdByName("Basic_Workflow_3") }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Basic_AE_3", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Missing_WorkflowID_Invalid_WF_Request ", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Basic_AE_3", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Missing_Bucket_Invalid_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + PayloadId = Guid.NewGuid(), + Workflows = new List() { Helper.GetWorkflowIdByName("Basic_Workflow_3") }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Basic_AE_3", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Missing_CorrelationID_Invalid_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { Helper.GetWorkflowIdByName("Basic_Workflow_3") }, + Timestamp = DateTime.Now, + CalledAeTitle = "Basic_AE_3", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Missing_CallingAETitle_Invalid_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { Helper.GetWorkflowIdByName("Basic_Workflow_3") }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Basic_AE_3", + } + }, + new WorkflowRequestTestData + { + Name = "Missing_CalledAETitle_Invalid_WF_Request", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { Helper.GetWorkflowIdByName("Basic_Workflow_3") }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Multi_WF_Created", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Multi_Created", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Multi_WF_Dispatched", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Multi_Dispatch", + CallingAeTitle = "MWM", + } + }, + new WorkflowRequestTestData + { + Name = "Same_AeTitle", + WorkflowRequestMessage = new WorkflowRequestMessage + { + Bucket = "bucket_1", + PayloadId = Guid.NewGuid(), + Workflows = new List() { }, + CorrelationId = Guid.NewGuid().ToString(), + Timestamp = DateTime.Now, + CalledAeTitle = "Same_Ae", + CallingAeTitle = "MWM", + } + }, + }; + } +} diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowRevisionTestData.cs b/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowRevisionTestData.cs new file mode 100644 index 000000000..c78a91b5d --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/TestData/WorkflowRevisionTestData.cs @@ -0,0 +1,318 @@ +// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium +// SPDX-License-Identifier: Apache License 2.0 + +using Monai.Deploy.WorkflowManager.Contracts.Models; + +namespace Monai.Deploy.WorkflowManager.IntegrationTests.TestData +{ + public class WorkflowRevisionTestData + { + public string? Name { get; set; } + + public WorkflowRevision? WorkflowRevision { get; set; } + } + + public static class WorkflowRevisionsTestData + { + public static List TestData = new List() + { + new WorkflowRevisionTestData() + { + Name = "Basic_Workflow_1", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = Guid.NewGuid().ToString(), + Revision = 1, + Workflow = new Workflow() + { + Name = "Basic workflow 1", + Description = "Basic workflow 1", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = Guid.NewGuid().ToString(), + Type = "Basic_task", + Description = "Basic Workflow 1 Task 1" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Basic_AE" + } + } + } + }, + new WorkflowRevisionTestData() + { + Name = "Basic_Workflow_2", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = Guid.NewGuid().ToString(), + Revision = 1, + Workflow = new Workflow() + { + Name = "Basic workflow 2", + Description = "Basic workflow 2", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = Guid.NewGuid().ToString(), + Type = "Basic_task", + Description = "Basic Workflow 2 Task 1" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Basic_AE" + } + } + } + }, + new WorkflowRevisionTestData() + { + Name = "Basic_Workflow_3", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = Guid.NewGuid().ToString(), + Revision = 1, + Workflow = new Workflow() + { + Name = "Basic workflow 3", + Description = "Basic workflow 3", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = Guid.NewGuid().ToString(), + Type = "Basic_task", + Description = "Basic Workflow 3 Task 1" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Basic_AE_3" + } + } + } + }, + new WorkflowRevisionTestData() + { + Name = "Same_AeTitle_1", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = Guid.NewGuid().ToString(), + Revision = 1, + Workflow = new Workflow() + { + Name = "Same AeTitle 1", + Description = "Same AeTitle 1", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = Guid.NewGuid().ToString(), + Type = "Basic_task", + Description = "Same AeTitle 1 Task 1" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Same_Ae" + } + } + } + }, + new WorkflowRevisionTestData() + { + Name = "Same_AeTitle_2", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = Guid.NewGuid().ToString(), + Revision = 1, + Workflow = new Workflow() + { + Name = "Same AeTitle 2", + Description = "Same AeTitle 2", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = Guid.NewGuid().ToString(), + Type = "Basic_task", + Description = "Same AeTitle 2 Task 1" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Same_Ae" + } + } + } + }, + new WorkflowRevisionTestData() + { + Name = "Basic_Workflow_Multiple_Revisions_1", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = "85c48175-f4db-4d3c-bf3a-14f736edaccd", + Revision = 1, + Workflow = new Workflow() + { + Name = "Basic workflow multiple revisions 1", + Description = "Basic workflow multiple revisions 1", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = Guid.NewGuid().ToString(), + Type = "Basic_Workflow_Multiple_Revisions_1", + Description = "Basic_Workflow_Multiple_Revisions_1" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Multi_Revision" + } + } + } + }, + new WorkflowRevisionTestData() + { + Name = "Basic_Workflow_Multiple_Revisions_2", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = "85c48175-f4db-4d3c-bf3a-14f736edaccd", + Revision = 1, + Workflow = new Workflow() + { + Name = "Basic workflow multiple revisions 2", + Description = "Basic workflow multiple revisions 2", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = Guid.NewGuid().ToString(), + Type = "Basic_Workflow_Multiple_Revisions_2", + Description = "Basic_Workflow_Multiple_Revisions_2" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Multi_Revision" + } + } + } + }, + new WorkflowRevisionTestData() + { + Name = "Multi_Task_Workflow", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = Guid.NewGuid().ToString(), + Revision = 1, + Workflow = new Workflow() + { + Name = "Multi task workflow", + Description = "Multi task workflow", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = Guid.NewGuid().ToString(), + Type = "task_1", + Description = "Multi task workflow Task 1" + }, + new TaskObject + { + Id = Guid.NewGuid().ToString(), + Type = "task_2", + Description = "Multi task workflow Task 2" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Multi_Workflow" + } + } + } + }, + new WorkflowRevisionTestData() + { + Name = "Multi_Request_Workflow_Created", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = Guid.NewGuid().ToString(), + Revision = 1, + Workflow = new Workflow() + { + Name = "Basic workflow 1", + Description = "Basic workflow 1", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = "2dbd1af7-b699-4467-8e99-05a0c22422b4", + Type = "Multi_task", + Description = "Multiple request task 1" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Multi_Created" + } + } + } + }, + new WorkflowRevisionTestData() + { + Name = "Multi_Request_Workflow_Dispatched", + WorkflowRevision = new WorkflowRevision() + { + Id = Guid.NewGuid().ToString(), + WorkflowId = Guid.NewGuid().ToString(), + Revision = 1, + Workflow = new Workflow() + { + Name = "Basic workflow 1", + Description = "Basic workflow 1", + Version = "1", + Tasks = new TaskObject[] + { + new TaskObject + { + Id = "7d7c8b83-6628-413c-9912-a89314e5e2d5", + Type = "Multi_task", + Description = "Multiple request task 1" + } + }, + InformaticsGateway = new InformaticsGateway() + { + AeTitle = "Multi_Dispatch" + } + } + } + }, + }; + } +} + diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/docker-compose.yml b/tests/IntegrationTests/WorkflowManager.IntegrationTests/docker-compose.yml new file mode 100644 index 000000000..34cbe3a5d --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3.9' +services: + rabbit1: + image: "rabbitmq:3.8.18-management" + hostname: "rabbit1" + environment: + RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG" + RABBITMQ_DEFAULT_USER: "admin" + RABBITMQ_DEFAULT_PASS: "admin" + RABBITMQ_DEFAULT_VHOST: "monaideploy" + ports: + - "15672:15672" + - "5672:5672" + labels: + NAME: "rabbitmq1" + + mongodb_container: + image: mongo:latest + environment: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: rootpassword + ports: + - 27017:27017 + volumes: + - mongodb_data_container:/data/db + +volumes: + mongodb_data_container: diff --git a/tests/IntegrationTests/WorkflowManager.IntegrationTests/packages.lock.json b/tests/IntegrationTests/WorkflowManager.IntegrationTests/packages.lock.json new file mode 100644 index 000000000..58c3ca67c --- /dev/null +++ b/tests/IntegrationTests/WorkflowManager.IntegrationTests/packages.lock.json @@ -0,0 +1,1533 @@ +{ + "version": 1, + "dependencies": { + "net6.0": { + "FluentAssertions": { + "type": "Direct", + "requested": "[6.2.0, )", + "resolved": "6.2.0", + "contentHash": "5YOZLB0Tay1bw+wEYZTAZlPThQ/Yntk1HSPJYluMd5PW/Xg9E8I1mRC03AKRsnuANBR0kYaHq0NX1fg7RgrGNA==", + "dependencies": { + "System.Configuration.ConfigurationManager": "4.4.0" + } + }, + "Microsoft.AspNetCore.Mvc.Testing": { + "type": "Direct", + "requested": "[6.0.4, )", + "resolved": "6.0.4", + "contentHash": "1WBUlT3x+9/0GsGQCDWgJo/ImO1opmeKXz4DKucdutZTDCjOc6wfTHrHtnVVxDQlG0u6cxWx1h/EVeRimBmLEw==", + "dependencies": { + "Microsoft.AspNetCore.TestHost": "6.0.4", + "Microsoft.Extensions.DependencyModel": "6.0.0", + "Microsoft.Extensions.Hosting": "6.0.1" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Direct", + "requested": "[6.0.0, )", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.0.0, )", + "resolved": "17.0.0", + "contentHash": "fJcnMY3jX1MzJvhGvUWauRhU5eQsOaHdwlrcnI3NabBhbi8WLAkMFI8d0YnewA/+b9q/U7vbhp8Xmh1vJ05FYQ==", + "dependencies": { + "Microsoft.CodeCoverage": "17.0.0", + "Microsoft.TestPlatform.TestHost": "17.0.0" + } + }, + "MongoDB.Driver": { + "type": "Direct", + "requested": "[2.15.0, )", + "resolved": "2.15.0", + "contentHash": "MaDExORt2JLBHFlG3dJZIdQlZsfK8YjfEbXJECqAU/Ez8BwbJwjHS0AjOBQZPj3U4UDU5pnGYiQn4P0dM9DnMw==", + "dependencies": { + "MongoDB.Bson": "2.15.0", + "MongoDB.Driver.Core": "2.15.0", + "MongoDB.Libmongocrypt": "1.3.0" + } + }, + "NUnit": { + "type": "Direct", + "requested": "[3.13.2, )", + "resolved": "3.13.2", + "contentHash": "u+fz/lXyR4vlamySNAEMrXvh+GhAQiB6/aVZtU5WjivR5zF26Ui0tfteDtWqT90k9D8y6g8rFKYQC97Z7d195w==", + "dependencies": { + "NETStandard.Library": "2.0.0" + } + }, + "NUnit3TestAdapter": { + "type": "Direct", + "requested": "[4.1.0, )", + "resolved": "4.1.0", + "contentHash": "v45RJt87pPAWlCDIftmtQhNK0mXd81IcnTE6SmWUmxi6YegCvkQogZQ/ROw4zyNyo2HI3Ckby3LB0GHF4bEIXg==" + }, + "RabbitMQ.Client": { + "type": "Direct", + "requested": "[6.2.4, )", + "resolved": "6.2.4", + "contentHash": "ttM7F+Ymb00EyQ25UCC44djr5GN/+cZNey2B3xD6JdJQQx7UcCtHdKBCE09zcmWuB+Afp07tFzetE14l/U8xQw==", + "dependencies": { + "System.Memory": "4.5.4", + "System.Threading.Channels": "4.7.1" + } + }, + "Snapshooter.NUnit": { + "type": "Direct", + "requested": "[0.7.1, )", + "resolved": "0.7.1", + "contentHash": "QHWou3gRgQDTNGYPIB1WMhJJyUhaGN/+KpELikEHWzKGlikhWcQX8Hc6L4+VnurgSTBFJb0ir//rJYWNIz/dRA==", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "NUnit": "3.12.0", + "Snapshooter": "0.7.1" + } + }, + "SpecFlow.NUnit": { + "type": "Direct", + "requested": "[3.9.40, )", + "resolved": "3.9.40", + "contentHash": "+brbJAe0LLzmXh2L78kOJc2fa5EH/7cugmbnfZQdBeWCzL6iFDWFl3MHZ0xx/2BQyu6N/xokqw53Rl30LIo7lw==", + "dependencies": { + "NUnit": "3.13.1", + "SpecFlow": "[3.9.40]", + "SpecFlow.Tools.MsBuild.Generation": "[3.9.40]" + } + }, + "SpecFlow.Plus.LivingDocPlugin": { + "type": "Direct", + "requested": "[3.9.57, )", + "resolved": "3.9.57", + "contentHash": "hH/jTxLVWS/QlCGvNMk4BSI/mcJhlnEjx4xWjP4dLUWek/CmSST49NAzQVvZpoqwrkIErMAzWRV/PFFvyLiShA==", + "dependencies": { + "SpecFlow": "[3.9.8, 3.10.0)", + "SpecFlow.Internal.Json": "1.0.8", + "SpecFlow.Tools.MsBuild.Generation": "[3.9.8, 3.10.0)" + } + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.10.10", + "contentHash": "eieuNNym2E63hAnUwZiEQtNCNT5knh2PTqcFVuFQsZpYCw22cGXLq9miC8TDENLFRHh2I1mkTBRiC9E8UlKQhw==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.1.141", + "contentHash": "paspGCeiN5Qjl6vJanqP1Ll8l3t9hqUmVWmeHMELXyvUgozvVzaSh+PTQ/gj6gmFQ64Us7aeCFSQlfBPZag+vQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.10.10, 4.0.0)" + } + }, + "BoDi": { + "type": "Transitive", + "resolved": "1.5.0", + "contentHash": "CzIPzdIAFSd2zuLxI+0K9s48Qv3HQDbWiApn9h96j284rHs2bSPrn/PMca3mi4q3xLSEqOp+GUJ6+mXDD9prKg==" + }, + "Crc32.NET": { + "type": "Transitive", + "resolved": "1.2.0", + "contentHash": "wNW/huzolu8MNKUnwCVKxjfAlCFpeI8AZVfF46iAWJ1+P6bTU1AZct7VAkDDEjgeeTJCVTkGZaD6jSd/fOiUkA==", + "dependencies": { + "NETStandard.Library": "2.0.0" + } + }, + "DnsClient": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "kVd3IxAs5EQZSKTQhMUaJmuOQ1n2VWKExatdqNszsxxKzTB+Toaxx3M1DsN3yKfHloMXPmt6fgfcOqRwKheoUQ==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "Gherkin": { + "type": "Transitive", + "resolved": "19.0.3", + "contentHash": "kq9feqMojMj9aABrHb/ABEPaH2Y4dSclseSahAru6qxCeqVQNLLTgw/6vZMauzI1yBUL2fz03ub5yEd5btLfvg==" + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Karambolo.Extensions.Logging.File": { + "type": "Transitive", + "resolved": "3.2.1", + "contentHash": "+jWcz78yeZw7RgXO73c5QPNja/Bt6i7s9h2W5GrSTuWyd9N/45nfCtd3fATwv556PihcYTFJO62yOgMTkZzbBw==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Physical": "3.0.0", + "Microsoft.Extensions.Logging.Configuration": "3.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "3.0.0", + "System.Threading.Channels": "4.7.1" + } + }, + "Microsoft.AspNetCore.JsonPatch": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "eObF1OgvkQHJXmDMcMYM/oRZ1Vk939UZr2QShBsXoY01AkS+7nczgzzWdNd2TutlNx6AWZKBizg/sBCOXQDPbg==", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.AspNetCore.Mvc.NewtonsoftJson": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "h0ZMz0yR6HiqjKo2wrZP4WWBaioelPDljvCewdl6Qo7n2iTZpIRjukB0O5idyzATUJRDKltBDex0pGLH3Q0utQ==", + "dependencies": { + "Microsoft.AspNetCore.JsonPatch": "6.0.3", + "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json.Bson": "1.0.2" + } + }, + "Microsoft.AspNetCore.Mvc.Versioning": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "mN9IARvNpHMBD2/oGmp5Bxp1Dg45Hfcp+LWaAyTtL2HisWLMOIcf0Ox1qW9IvCvdbHM+2A9dWEInhiqBsNxsJA==" + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "GZH7F1iDtJKw23qkqQaAnBh9Rw+GVUq5SK0ldfAqMh+2syFRtzPkvQUl0V+qe2wuP0QRr1zG82G812ZN8AU6ig==", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Versioning": "5.0.0" + } + }, + "Microsoft.AspNetCore.TestHost": { + "type": "Transitive", + "resolved": "6.0.4", + "contentHash": "glganOCWeDVyPjy3D2K+Tpp5Xkwglv1I5aAT+nHh6Cq1fKlilibMf+yruBXogOZwasJIOgXzG4CLqVVXNoSpew==", + "dependencies": { + "System.IO.Pipelines": "6.0.2" + } + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.0.0", + "contentHash": "+B+09FPYBtf+cXfZOPIgpnP5mzLq5QdlBo+JEFy9CdqBaWHWE/YMY0Mos9uDsZhcgFegJm9GigAgMyqBZyfq+Q==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "f7ZlNOI1wPg/r0zRgvmcLAM3kwuCVGe5cZc8rYoKPDGZs5dgRFe5a43H9FnCXsyFAF6FILB08Nr9RkuNMwd3TQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.3", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.3", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "7c6wJtTFj7FDe20IVPDKeCzxWIMu+XDpYi7aYuUo6knu4vDeB3N3F0pjAZgXJ96GwTZYBrjOEwnbpYmfapEz/w==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "Ld9HyVABYor3Tq43/sG2JERL94UnDHJPg5PwpkCW4CWsf/CbxHetdecv+bCXA/Hg4q+44sov0GVl4Ywjk4PnyA==" + }, + "Microsoft.Extensions.ApiDescription.Server": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "dzB2Cgg+JmrouhjkcQGzSFjjvpwlq353i8oBQO2GWNjCXSzhbtBRUf28HSauWe7eib3wYOdb3tItdjRwAdwCSg==" + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.OpenApi": { + "type": "Transitive", + "resolved": "1.2.3", + "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.0.0", + "contentHash": "WMugCdPkA8U/BsSRc+3RN+DXcaYSDvp/s0MofVld08iF1O5fek4iKecygk6NruNf1rgJsv4LK71mrwbyeqhzHA==", + "dependencies": { + "NuGet.Frameworks": "5.0.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.0.0", + "contentHash": "xkKFzm0hylHF0SlDj78ACYMJC/i8fQ3i16sDDNYoKnjTsstGSQfuSBJ+QT4nqRXk/fOiYTh+iY0KIX5N7HTLuQ==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.0.0", + "Newtonsoft.Json": "9.0.1" + } + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Minio": { + "type": "Transitive", + "resolved": "3.1.13", + "contentHash": "i4h+gXs7kFHn1QUP0ZcuZz4Xa/PgNzZo+QRmi0WbFG5TYec7ozhrV+/cq7zfJbLOgcB89XwieASLLiduGNuwdA==", + "dependencies": { + "Crc32.NET": "1.2.0", + "Microsoft.CSharp": "4.5.0", + "RestSharp": "106.10.1", + "System.Reactive.Linq": "4.0.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.0-rc0033", + "contentHash": "Grp8jVQH6Cn3PNtEcthm2zNTVJDYgv5flj9JyAmv3dYXqVoqgBhXAg8LZepetNnbcMpvgwEV0JG67dKS5fOdNw==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "RabbitMQ.Client": "6.2.4", + "System.ComponentModel.Annotations": "5.0.0" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.1.0-rc0019", + "contentHash": "YAXgTE7vTqeMc+ZhprUg/muQ+JDVMaix1Ha1vLJTSSjfZWBOnxyK5SugS50uNlvByJcqHEXh+ygd9219wK1S+Q==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.1.141", + "Ardalis.GuardClauses": "4.0.0", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Minio": "3.1.13", + "Newtonsoft.Json": "13.0.1" + } + }, + "MongoDB.Bson": { + "type": "Transitive", + "resolved": "2.15.0", + "contentHash": "5uPSADVLydGJ4CbmjrsQn7v3NugSdx6htJ4cMNbo8youlfBa5v6YbEqztbipnl+dT1L/YBkJKZ1DDp6LWl0Hqw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "5.0.0" + } + }, + "MongoDB.Driver.Core": { + "type": "Transitive", + "resolved": "2.15.0", + "contentHash": "oEfGhyxHDmH3KhRHPZqVEYSfLqFwOLrY5zMszbELKNxrgkJj82MNJ8AzGVOsayaxtrQqqcAGfyQK8Ecc1yoc0Q==", + "dependencies": { + "DnsClient": "1.6.0", + "MongoDB.Bson": "2.15.0", + "MongoDB.Libmongocrypt": "1.3.0", + "SharpCompress": "0.30.1", + "System.Buffers": "4.5.1" + } + }, + "MongoDB.Libmongocrypt": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "BAvqY/otOsmAGTsmzIYXRFysvpu8X7rYkDzEBX4iBlrF57SB+fD5px9sCPR6sETgfZ6k98qUNS6go5wtY9WOBA==" + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "QYFyxhaABwmq3p/21VrZNYvCg3DaEoN/wUuw5nmfAf0X3HLjgupwhkEWdgfb9nvGAUIv3osmZoD3kKl4jxEmYQ==", + "dependencies": { + "Newtonsoft.Json": "12.0.1" + } + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "c5JVjuVAm4f7E9Vj+v09Z9s2ZsqFDjBpcsyS3M9xRo0bEdm/LVZSzLxxNvfvAwRiiE8nwe1h2G4OwiwlzFKXlA==" + }, + "RestSharp": { + "type": "Transitive", + "resolved": "106.10.1", + "contentHash": "MhR4w8LbArVaRA5T/oAR3ZnF852QXtDXRBO84GsvyYzsm7FsjXHJ+JaM8x/nR/B/OCB1WbolGH7hqMT1GZpNJw==" + }, + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==" + }, + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==" + }, + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZVuZJqnnegJhd2k/PtAbbIcZ3aZeITq3sj06oKfMBSfphW3HDmk/t4ObvbOk/JA/swGR0LNqMksAh/f7gpTROg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", + "dependencies": { + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" + } + }, + "runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", + "dependencies": { + "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==" + }, + "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kVXCuMTrTlxq4XOOMAysuNwsXWpYeboGddNGpIgNSZmv1b6r/s/DPk0fYMB7Q5Qo4bY68o48jt4T4y5BVecbCQ==" + }, + "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==" + }, + "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==" + }, + "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==" + }, + "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==" + }, + "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.2", + "contentHash": "leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==" + }, + "SharpCompress": { + "type": "Transitive", + "resolved": "0.30.1", + "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" + }, + "Snapshooter": { + "type": "Transitive", + "resolved": "0.7.1", + "contentHash": "ro3erXNgb2fUdxeaXcFtTX1o+LR7jplads+etSWbIOf+gkctZvId7qg1nStrHLkYI6DDunaNetHbeaj3mLIvKQ==", + "dependencies": { + "Newtonsoft.Json": "12.0.3" + } + }, + "SpecFlow": { + "type": "Transitive", + "resolved": "3.9.40", + "contentHash": "ru7twstJSKrTv3XfcxyttzrdZ/FvXOF5cYN/x/2js755wVk1zpSPUPa/ml3lSZmPNkS5OAOuSt1JLEa5hhDhdw==", + "dependencies": { + "BoDi": "1.5.0", + "Gherkin": "19.0.3", + "Microsoft.Extensions.DependencyModel": "1.0.3", + "SpecFlow.Internal.Json": "1.0.8", + "System.Configuration.ConfigurationManager": "4.5.0", + "System.Net.Http": "4.3.4", + "System.Runtime.Loader": "4.3.0" + } + }, + "SpecFlow.Internal.Json": { + "type": "Transitive", + "resolved": "1.0.8", + "contentHash": "lVCC/Rie7N5rFoc7YxPS0nneLfsWSTIMMlkndwxhaD8MxBp3Bsv1HeiVjVwXCjWaQeoqZcvIy52fF5Xit00ZLw==" + }, + "SpecFlow.Tools.MsBuild.Generation": { + "type": "Transitive", + "resolved": "3.9.40", + "contentHash": "DFClKzQH0ijUBiZNpas8sQ66EdGwVSS18UtC1hVIM7PiT0F+xzKs4VX5hsz+ZY/RKyQEfY9HELUAC8AoZicxSg==", + "dependencies": { + "SpecFlow": "[3.9.40]" + } + }, + "Swashbuckle.AspNetCore": { + "type": "Transitive", + "resolved": "6.3.0", + "contentHash": "3TAV6JqsJF2F5e5d/tiQuW/TlzKXB/n2IcL5QR1FP8ArmLhmPkpeHiLZ3+1YnJ5840/X5ApvpRRJpM9809IjTg==", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "3.0.0", + "Swashbuckle.AspNetCore.Swagger": "6.3.0", + "Swashbuckle.AspNetCore.SwaggerGen": "6.3.0", + "Swashbuckle.AspNetCore.SwaggerUI": "6.3.0" + } + }, + "Swashbuckle.AspNetCore.Swagger": { + "type": "Transitive", + "resolved": "6.3.0", + "contentHash": "+taHh7kowNF+tQo9a82avwDtfqhAC82jTZTqZwypDpauPvwavyVtJ7+ERxE+yDb6U/nOcMicMmDAGbqbJ2Pc+Q==", + "dependencies": { + "Microsoft.OpenApi": "1.2.3" + } + }, + "Swashbuckle.AspNetCore.SwaggerGen": { + "type": "Transitive", + "resolved": "6.3.0", + "contentHash": "8PRLtqCXTIfc+W/pcyab8GqHzHuFRZ3L+9/fix/ssVknwy/pbgkOqgzq9DGWfKz+MZReIp5ajZLR7bXioDdacQ==", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.3.0" + } + }, + "Swashbuckle.AspNetCore.SwaggerUI": { + "type": "Transitive", + "resolved": "6.3.0", + "contentHash": "OmVLGzyeNBFUAx6E/bqrZW4uxfv9q2MtegYzeHv5Dj8N34ry8104d6OcyRIV4BhwHBSFD1rMvDlPciguFMtQ5w==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Concurrent": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.Configuration.ConfigurationManager": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.5.0", + "System.Security.Permissions": "4.5.0" + } + }, + "System.Diagnostics.Debug": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.Tracing": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Calendars": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "16.1.25", + "contentHash": "PZ3y8SgASqtIlJyhss47FGLwBMXMWvxL9MKk9dEqIZT/vrfQr5yhKwdJ/vNm2H8FqsWJoxu0P12nYGXFj0irkA==" + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.IO.Pipelines": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "cb5OfQjnz+zjpJJei+f3QYK7+wWZrDdNHf3DykO6QCacpNZ80tuNgq1DC2kqlrjfEu+cMUTvulxPIrCMbBkjqg==" + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.Net.Http": { + "type": "Transitive", + "resolved": "4.3.4", + "contentHash": "aOa2d51SEbmM+H+Csw7yJOuNZoHkrP2XnAurye5HWYgGVVU54YZDvsLUYRv6h18X3sPnjNCANmN7ZhIPiqMcjA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.1", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Diagnostics.DiagnosticSource": "4.3.0", + "System.Diagnostics.Tracing": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.Net.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Security.Cryptography.X509Certificates": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" + } + }, + "System.Net.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Reactive": { + "type": "Transitive", + "resolved": "4.0.0", + "contentHash": "yaVAxT2Yl28p9+DupGwj2oPbIOYZUQimOQ+n7N7vML2oofIRj9BmcfD7DHc6FLrNah65EigOgG6U9VnwWEyz5g==", + "dependencies": { + "System.Runtime.InteropServices.WindowsRuntime": "4.3.0" + } + }, + "System.Reactive.Linq": { + "type": "Transitive", + "resolved": "4.0.0", + "contentHash": "LaYTtUoOtQJ7SBb1/tfM/kcIHy0dsA7E+31/739HyTyGg9uSGzP/fV4VFI3/Atg7MQiks+JbEAwcoTDJY0pJoA==", + "dependencies": { + "System.Reactive": "4.0.0" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.InteropServices.WindowsRuntime": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "J4GUi3xZQLUBasNwZnjrffN8i5wpHrBtZoLG+OhRyGo/+YunMRWWtwoMDlUAIdmX0uRfpHIBDSV6zyr3yf00TA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Loader": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "DHMaRn8D8YCK2GG2pw+UzNxn/OHVfaWx7OTLBD/hPegHZZgcZh3H6seWegrC4BYwsfuGrywIuT+MQs+rPqRLTQ==", + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Numerics": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", + "dependencies": { + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Cryptography.Algorithms": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.Apple": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Cng": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Security.Cryptography.Csp": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Security.Cryptography.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Collections.Concurrent": "4.3.0", + "System.Linq": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.OpenSsl": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", + "dependencies": { + "System.Collections": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Cryptography.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Security.Cryptography.ProtectedData": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==" + }, + "System.Security.Cryptography.X509Certificates": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Calendars": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Runtime.Numerics": "4.3.0", + "System.Security.Cryptography.Algorithms": "4.3.0", + "System.Security.Cryptography.Cng": "4.3.0", + "System.Security.Cryptography.Csp": "4.3.0", + "System.Security.Cryptography.Encoding": "4.3.0", + "System.Security.Cryptography.OpenSsl": "4.3.0", + "System.Security.Cryptography.Primitives": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0", + "runtime.native.System.Net.Http": "4.3.0", + "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" + } + }, + "System.Security.Permissions": { + "type": "Transitive", + "resolved": "4.5.0", + "contentHash": "9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==", + "dependencies": { + "System.Security.AccessControl": "4.5.0" + } + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "4.7.1", + "contentHash": "6akRtHK/wab3246t4p5v3HQrtQk8LboOt5T4dtpNgsp3zvDeM4/Gx8V12t0h+c/W9/enUrilk8n6EQqdQorZAA==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "monai.deploy.workflowmanager": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Karambolo.Extensions.Logging.File": "3.2.1", + "Microsoft.AspNetCore.Mvc.NewtonsoftJson": "6.0.3", + "Microsoft.AspNetCore.Mvc.Versioning": "5.0.0", + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": "5.0.0", + "Microsoft.EntityFrameworkCore": "6.0.3", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.WorkflowManager.Common": "1.0.0", + "Monai.Deploy.WorkflowManager.Configuration": "1.0.0", + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Database": "1.0.0", + "Monai.Deploy.WorkflowManager.Logging": "1.0.0", + "Monai.Deploy.WorkflowManager.PayloadListener": "1.0.0", + "Newtonsoft.Json": "13.0.1", + "Swashbuckle.AspNetCore": "6.3.0" + } + }, + "monai.deploy.workflowmanager.common": { + "type": "Project", + "dependencies": { + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Database": "1.0.0" + } + }, + "monai.deploy.workflowmanager.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.Storage": "0.1.0-rc0019", + "Newtonsoft.Json": "13.0.1", + "System.IO.Abstractions": "16.1.25" + } + }, + "monai.deploy.workflowmanager.contracts": { + "type": "Project", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.1.141", + "Microsoft.Extensions.Configuration": "6.0.1", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "MongoDB.Bson": "2.15.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "monai.deploy.workflowmanager.database": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Logging.Abstractions": "6.0.1", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Logging": "1.0.0", + "MongoDB.Bson": "2.15.0", + "MongoDB.Driver": "2.15.0" + } + }, + "monai.deploy.workflowmanager.logging": { + "type": "Project", + "dependencies": { + "Karambolo.Extensions.Logging.File": "3.2.1", + "Microsoft.Extensions.Logging.Abstractions": "6.0.1" + } + }, + "monai.deploy.workflowmanager.payloadlistener": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Karambolo.Extensions.Logging.File": "3.2.1", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.Storage": "0.1.0-rc0019", + "Monai.Deploy.WorkflowManager.Common": "1.0.0", + "Monai.Deploy.WorkflowManager.Configuration": "1.0.0", + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Logging": "1.0.0", + "Monai.Deploy.WorkloadManager.WorkfowExecuter": "1.0.0" + } + }, + "monai.deploy.workloadmanager.workfowexecuter": { + "type": "Project", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.1.141", + "Ardalis.GuardClauses": "4.0.1", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.Storage": "0.1.0-rc0019", + "Monai.Deploy.WorkflowManager.Configuration": "1.0.0", + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Database": "1.0.0", + "Monai.Deploy.WorkflowManager.Logging": "1.0.0", + "Newtonsoft.Json": "13.0.1" + } + } + } + } +} \ No newline at end of file diff --git a/tests/CLI.Tests/Monai.Deploy.WorkflowManager.CLI.Tests.csproj b/tests/UnitTests/CLI.Tests/Monai.Deploy.WorkflowManager.CLI.Tests.csproj similarity index 100% rename from tests/CLI.Tests/Monai.Deploy.WorkflowManager.CLI.Tests.csproj rename to tests/UnitTests/CLI.Tests/Monai.Deploy.WorkflowManager.CLI.Tests.csproj diff --git a/tests/CLI.Tests/packages.lock.json b/tests/UnitTests/CLI.Tests/packages.lock.json similarity index 100% rename from tests/CLI.Tests/packages.lock.json rename to tests/UnitTests/CLI.Tests/packages.lock.json diff --git a/tests/Configuration.Tests/ConfigurationValidatorTest.cs b/tests/UnitTests/Configuration.Tests/ConfigurationValidatorTest.cs similarity index 100% rename from tests/Configuration.Tests/ConfigurationValidatorTest.cs rename to tests/UnitTests/Configuration.Tests/ConfigurationValidatorTest.cs diff --git a/tests/Configuration.Tests/Monai.Deploy.WorkflowManager.Configuration.Tests.csproj b/tests/UnitTests/Configuration.Tests/Monai.Deploy.WorkflowManager.Configuration.Tests.csproj similarity index 90% rename from tests/Configuration.Tests/Monai.Deploy.WorkflowManager.Configuration.Tests.csproj rename to tests/UnitTests/Configuration.Tests/Monai.Deploy.WorkflowManager.Configuration.Tests.csproj index 8fe3ebfab..c7573f4c8 100644 --- a/tests/Configuration.Tests/Monai.Deploy.WorkflowManager.Configuration.Tests.csproj +++ b/tests/UnitTests/Configuration.Tests/Monai.Deploy.WorkflowManager.Configuration.Tests.csproj @@ -24,7 +24,7 @@ - + diff --git a/tests/Configuration.Tests/VerifyLogExtension.cs b/tests/UnitTests/Configuration.Tests/VerifyLogExtension.cs similarity index 100% rename from tests/Configuration.Tests/VerifyLogExtension.cs rename to tests/UnitTests/Configuration.Tests/VerifyLogExtension.cs diff --git a/src/Database.Tests/Monai.Deploy.WorkflowManager.Database.Tests.csproj b/tests/UnitTests/Database.Tests/Monai.Deploy.WorkflowManager.Database.Tests.csproj similarity index 90% rename from src/Database.Tests/Monai.Deploy.WorkflowManager.Database.Tests.csproj rename to tests/UnitTests/Database.Tests/Monai.Deploy.WorkflowManager.Database.Tests.csproj index 7b8f14356..d23bc54d7 100644 --- a/src/Database.Tests/Monai.Deploy.WorkflowManager.Database.Tests.csproj +++ b/tests/UnitTests/Database.Tests/Monai.Deploy.WorkflowManager.Database.Tests.csproj @@ -22,7 +22,7 @@ - + diff --git a/tests/PayloadListener.Tests/Monai.Deploy.WorkflowManager.PayloadListener.Tests.csproj b/tests/UnitTests/PayloadListener.Tests/Monai.Deploy.WorkflowManager.PayloadListener.Tests.csproj similarity index 85% rename from tests/PayloadListener.Tests/Monai.Deploy.WorkflowManager.PayloadListener.Tests.csproj rename to tests/UnitTests/PayloadListener.Tests/Monai.Deploy.WorkflowManager.PayloadListener.Tests.csproj index 0df4bd62a..888da40b2 100644 --- a/tests/PayloadListener.Tests/Monai.Deploy.WorkflowManager.PayloadListener.Tests.csproj +++ b/tests/UnitTests/PayloadListener.Tests/Monai.Deploy.WorkflowManager.PayloadListener.Tests.csproj @@ -17,7 +17,7 @@ - + diff --git a/tests/PayloadListener.Tests/Services/EventPayloadRecieverServiceTests.cs b/tests/UnitTests/PayloadListener.Tests/Services/EventPayloadRecieverServiceTests.cs similarity index 100% rename from tests/PayloadListener.Tests/Services/EventPayloadRecieverServiceTests.cs rename to tests/UnitTests/PayloadListener.Tests/Services/EventPayloadRecieverServiceTests.cs diff --git a/tests/PayloadListener.Tests/Validators/EventPayloadValidatorTests.cs b/tests/UnitTests/PayloadListener.Tests/Validators/EventPayloadValidatorTests.cs similarity index 100% rename from tests/PayloadListener.Tests/Validators/EventPayloadValidatorTests.cs rename to tests/UnitTests/PayloadListener.Tests/Validators/EventPayloadValidatorTests.cs diff --git a/src/WorkflowExecuter.Tests/Common/EventMapperTests.cs b/tests/UnitTests/WorkflowExecuter.Tests/Common/EventMapperTests.cs similarity index 100% rename from src/WorkflowExecuter.Tests/Common/EventMapperTests.cs rename to tests/UnitTests/WorkflowExecuter.Tests/Common/EventMapperTests.cs diff --git a/src/WorkflowExecuter.Tests/Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests.csproj b/tests/UnitTests/WorkflowExecuter.Tests/Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests.csproj similarity index 89% rename from src/WorkflowExecuter.Tests/Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests.csproj rename to tests/UnitTests/WorkflowExecuter.Tests/Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests.csproj index 71aef956e..83ae685d5 100644 --- a/src/WorkflowExecuter.Tests/Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests.csproj +++ b/tests/UnitTests/WorkflowExecuter.Tests/Monai.Deploy.WorkflowManager.WorkflowExecuter.Tests.csproj @@ -23,7 +23,7 @@ - + diff --git a/src/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs b/tests/UnitTests/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs similarity index 100% rename from src/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs rename to tests/UnitTests/WorkflowExecuter.Tests/Services/WorkflowExecuterServiceTests.cs diff --git a/tests/WorkflowManager.Tests/Common/IServiceProviderExtensionsTest.cs b/tests/UnitTests/WorkflowManager.Tests/Common/IServiceProviderExtensionsTest.cs similarity index 100% rename from tests/WorkflowManager.Tests/Common/IServiceProviderExtensionsTest.cs rename to tests/UnitTests/WorkflowManager.Tests/Common/IServiceProviderExtensionsTest.cs diff --git a/tests/WorkflowManager.Tests/Logging/FileLoggingTextFormatterTest.cs b/tests/UnitTests/WorkflowManager.Tests/Logging/FileLoggingTextFormatterTest.cs similarity index 100% rename from tests/WorkflowManager.Tests/Logging/FileLoggingTextFormatterTest.cs rename to tests/UnitTests/WorkflowManager.Tests/Logging/FileLoggingTextFormatterTest.cs diff --git a/tests/WorkflowManager.Tests/Monai.Deploy.WorkflowManager.Tests.csproj b/tests/UnitTests/WorkflowManager.Tests/Monai.Deploy.WorkflowManager.Tests.csproj similarity index 94% rename from tests/WorkflowManager.Tests/Monai.Deploy.WorkflowManager.Tests.csproj rename to tests/UnitTests/WorkflowManager.Tests/Monai.Deploy.WorkflowManager.Tests.csproj index 9d45217c8..0dd5ddde2 100644 --- a/tests/WorkflowManager.Tests/Monai.Deploy.WorkflowManager.Tests.csproj +++ b/tests/UnitTests/WorkflowManager.Tests/Monai.Deploy.WorkflowManager.Tests.csproj @@ -31,7 +31,7 @@ - + diff --git a/tests/WorkflowManager.Tests/Services/DataRetentionService/DataRetentionServiceTest.cs b/tests/UnitTests/WorkflowManager.Tests/Services/DataRetentionService/DataRetentionServiceTest.cs similarity index 100% rename from tests/WorkflowManager.Tests/Services/DataRetentionService/DataRetentionServiceTest.cs rename to tests/UnitTests/WorkflowManager.Tests/Services/DataRetentionService/DataRetentionServiceTest.cs diff --git a/tests/WorkflowManager.Tests/Shared/VerifyLogExtension.cs b/tests/UnitTests/WorkflowManager.Tests/Shared/VerifyLogExtension.cs similarity index 100% rename from tests/WorkflowManager.Tests/Shared/VerifyLogExtension.cs rename to tests/UnitTests/WorkflowManager.Tests/Shared/VerifyLogExtension.cs diff --git a/tests/WorkflowManager.Tests/packages.lock.json b/tests/UnitTests/WorkflowManager.Tests/packages.lock.json similarity index 97% rename from tests/WorkflowManager.Tests/packages.lock.json rename to tests/UnitTests/WorkflowManager.Tests/packages.lock.json index 4148b247f..4b283e9cf 100644 --- a/tests/WorkflowManager.Tests/packages.lock.json +++ b/tests/UnitTests/WorkflowManager.Tests/packages.lock.json @@ -1,1468 +1,1468 @@ -{ - "version": 1, - "dependencies": { - "net6.0": { - "AutoFixture.Xunit2": { - "type": "Direct", - "requested": "[4.17.0, )", - "resolved": "4.17.0", - "contentHash": "lrURL/LhJLPkn2tSPUEW8Wscr5LoV2Mr8A+ikn5gwkofex3o7qWUsBswlLw+KCA7EOpeqwZOldp3k91zDF+48Q==", - "dependencies": { - "AutoFixture": "4.17.0", - "xunit.extensibility.core": "[2.2.0, 3.0.0)" - } - }, - "coverlet.collector": { - "type": "Direct", - "requested": "[3.1.2, )", - "resolved": "3.1.2", - "contentHash": "wuLDIDKD5XMt0A7lE31JPenT7QQwZPFkP5rRpdJeblyXZ9MGLI8rYjvm5fvAKln+2/X+4IxxQDxBtwdrqKNLZw==" - }, - "FluentAssertions": { - "type": "Direct", - "requested": "[6.6.0, )", - "resolved": "6.6.0", - "contentHash": "gBsgPrNRkzUQfnxZSKnU0oVILIc5dr+dmdKXscyYKD5URcwNVQ72a7uuCvTyBzRZW98MZQNolSYC0y/MQTJ03A==", - "dependencies": { - "System.Configuration.ConfigurationManager": "4.4.0" - } - }, - "Microsoft.AspNetCore.Mvc.Testing": { - "type": "Direct", - "requested": "[6.0.3, )", - "resolved": "6.0.3", - "contentHash": "+NhhbRzLVZ97rEWw+euUC0dxCq87uLScTYDeFxY/lTFXDOY3kwd1LNTaLV+dRq/Wfmkg5Lq/i9YitDoWjsruig==", - "dependencies": { - "Microsoft.AspNetCore.TestHost": "6.0.3", - "Microsoft.Extensions.DependencyModel": "6.0.0", - "Microsoft.Extensions.Hosting": "6.0.1" - } - }, - "Microsoft.Extensions.Logging.Abstractions": { - "type": "Direct", - "requested": "[6.0.1, )", - "resolved": "6.0.1", - "contentHash": "dzB2Cgg+JmrouhjkcQGzSFjjvpwlq353i8oBQO2GWNjCXSzhbtBRUf28HSauWe7eib3wYOdb3tItdjRwAdwCSg==" - }, - "Microsoft.NET.Test.Sdk": { - "type": "Direct", - "requested": "[17.1.0, )", - "resolved": "17.1.0", - "contentHash": "MVKvOsHIfrZrvg+8aqOF5dknO/qWrR1sWZjMPQ1N42MKMlL/zQL30FQFZxPeWfmVKWUWAOmAHYsqB5OerTKziw==", - "dependencies": { - "Microsoft.CodeCoverage": "17.1.0", - "Microsoft.TestPlatform.TestHost": "17.1.0" - } - }, - "Moq": { - "type": "Direct", - "requested": "[4.17.2, )", - "resolved": "4.17.2", - "contentHash": "HytUPJ3/uks2UgJ9hIcyXm3YxpFAR4OJzbQwTHltbKGun3lFLhEHs97hiiPj1dY8jV/kasXeihTzDxct6Zf3iQ==", - "dependencies": { - "Castle.Core": "4.4.1", - "System.Threading.Tasks.Extensions": "4.5.4" - } - }, - "xunit": { - "type": "Direct", - "requested": "[2.4.1, )", - "resolved": "2.4.1", - "contentHash": "XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==", - "dependencies": { - "xunit.analyzers": "0.10.0", - "xunit.assert": "[2.4.1]", - "xunit.core": "[2.4.1]" - } - }, - "xunit.runner.visualstudio": { - "type": "Direct", - "requested": "[2.4.3, )", - "resolved": "2.4.3", - "contentHash": "kZZSmOmKA8OBlAJaquPXnJJLM9RwQ27H7BMVqfMLUcTi9xHinWGJiWksa3D4NEtz0wZ/nxd2mogObvBgJKCRhQ==" - }, - "Ardalis.GuardClauses": { - "type": "Transitive", - "resolved": "4.0.1", - "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", - "dependencies": { - "JetBrains.Annotations": "2021.3.0" - } - }, - "AutoFixture": { - "type": "Transitive", - "resolved": "4.17.0", - "contentHash": "efMRCG3Epc4QDELwdmQGf6/caQUleRXPRCnLAq5gLMpTuOTcOQWV12vEJ8qo678Rj97/TjjxHYu/34rGkXdVAA==", - "dependencies": { - "Fare": "[2.1.1, 3.0.0)", - "System.ComponentModel.Annotations": "4.3.0" - } - }, - "AWSSDK.Core": { - "type": "Transitive", - "resolved": "3.7.10.10", - "contentHash": "eieuNNym2E63hAnUwZiEQtNCNT5knh2PTqcFVuFQsZpYCw22cGXLq9miC8TDENLFRHh2I1mkTBRiC9E8UlKQhw==" - }, - "AWSSDK.SecurityToken": { - "type": "Transitive", - "resolved": "3.7.1.141", - "contentHash": "paspGCeiN5Qjl6vJanqP1Ll8l3t9hqUmVWmeHMELXyvUgozvVzaSh+PTQ/gj6gmFQ64Us7aeCFSQlfBPZag+vQ==", - "dependencies": { - "AWSSDK.Core": "[3.7.10.10, 4.0.0)" - } - }, - "Castle.Core": { - "type": "Transitive", - "resolved": "4.4.1", - "contentHash": "zanbjWC0Y05gbx4eGXkzVycOQqVOFVeCjVsDSyuao9P4mtN1w3WxxTo193NGC7j3o2u3AJRswaoC6hEbnGACnQ==", - "dependencies": { - "NETStandard.Library": "1.6.1", - "System.Collections.Specialized": "4.3.0", - "System.ComponentModel": "4.3.0", - "System.ComponentModel.TypeConverter": "4.3.0", - "System.Diagnostics.TraceSource": "4.3.0", - "System.Dynamic.Runtime": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.3.0", - "System.Reflection.TypeExtensions": "4.3.0", - "System.Xml.XmlDocument": "4.3.0" - } - }, - "Crc32.NET": { - "type": "Transitive", - "resolved": "1.2.0", - "contentHash": "wNW/huzolu8MNKUnwCVKxjfAlCFpeI8AZVfF46iAWJ1+P6bTU1AZct7VAkDDEjgeeTJCVTkGZaD6jSd/fOiUkA==", - "dependencies": { - "NETStandard.Library": "2.0.0" - } - }, - "DnsClient": { - "type": "Transitive", - "resolved": "1.6.0", - "contentHash": "kVd3IxAs5EQZSKTQhMUaJmuOQ1n2VWKExatdqNszsxxKzTB+Toaxx3M1DsN3yKfHloMXPmt6fgfcOqRwKheoUQ==", - "dependencies": { - "Microsoft.Win32.Registry": "5.0.0" - } - }, - "Fare": { - "type": "Transitive", - "resolved": "2.1.1", - "contentHash": "HaI8puqA66YU7/9cK4Sgbs1taUTP1Ssa4QT2PIzqJ7GvAbN1QgkjbRsjH+FSbMh1MJdvS0CIwQNLtFT+KF6KpA==", - "dependencies": { - "NETStandard.Library": "1.6.1" - } - }, - "JetBrains.Annotations": { - "type": "Transitive", - "resolved": "2021.3.0", - "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" - }, - "Karambolo.Extensions.Logging.File": { - "type": "Transitive", - "resolved": "3.2.1", - "contentHash": "+jWcz78yeZw7RgXO73c5QPNja/Bt6i7s9h2W5GrSTuWyd9N/45nfCtd3fATwv556PihcYTFJO62yOgMTkZzbBw==", - "dependencies": { - "Microsoft.Extensions.FileProviders.Physical": "3.0.0", - "Microsoft.Extensions.Logging.Configuration": "3.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "3.0.0", - "System.Threading.Channels": "4.7.1" - } - }, - "Microsoft.AspNetCore.JsonPatch": { - "type": "Transitive", - "resolved": "6.0.3", - "contentHash": "eObF1OgvkQHJXmDMcMYM/oRZ1Vk939UZr2QShBsXoY01AkS+7nczgzzWdNd2TutlNx6AWZKBizg/sBCOXQDPbg==", - "dependencies": { - "Microsoft.CSharp": "4.7.0", - "Newtonsoft.Json": "13.0.1" - } - }, - "Microsoft.AspNetCore.Mvc.NewtonsoftJson": { - "type": "Transitive", - "resolved": "6.0.3", - "contentHash": "h0ZMz0yR6HiqjKo2wrZP4WWBaioelPDljvCewdl6Qo7n2iTZpIRjukB0O5idyzATUJRDKltBDex0pGLH3Q0utQ==", - "dependencies": { - "Microsoft.AspNetCore.JsonPatch": "6.0.3", - "Newtonsoft.Json": "13.0.1", - "Newtonsoft.Json.Bson": "1.0.2" - } - }, - "Microsoft.AspNetCore.Mvc.Versioning": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "mN9IARvNpHMBD2/oGmp5Bxp1Dg45Hfcp+LWaAyTtL2HisWLMOIcf0Ox1qW9IvCvdbHM+2A9dWEInhiqBsNxsJA==" - }, - "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "GZH7F1iDtJKw23qkqQaAnBh9Rw+GVUq5SK0ldfAqMh+2syFRtzPkvQUl0V+qe2wuP0QRr1zG82G812ZN8AU6ig==", - "dependencies": { - "Microsoft.AspNetCore.Mvc.Versioning": "5.0.0" - } - }, - "Microsoft.AspNetCore.TestHost": { - "type": "Transitive", - "resolved": "6.0.3", - "contentHash": "oeK3KFtoLslFbKyQEiQ8HgKWAmTXUlp8vtYByUmC5ysWVrNEpCrQOKACGV/uYSeC9aFvEIvVyFTcommnxrsyiA==", - "dependencies": { - "System.IO.Pipelines": "6.0.2" - } - }, - "Microsoft.CodeCoverage": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "0N/ZJ71ncCxQWhgtkEYKOgu2oMHa8h1tsOUbhmIKXF8UwtSUCe4vHAsJ3DVcNWRwNfQzSTy263ZE+QF6MdIhhQ==" - }, - "Microsoft.CSharp": { - "type": "Transitive", - "resolved": "4.7.0", - "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" - }, - "Microsoft.EntityFrameworkCore": { - "type": "Transitive", - "resolved": "6.0.3", - "contentHash": "f7ZlNOI1wPg/r0zRgvmcLAM3kwuCVGe5cZc8rYoKPDGZs5dgRFe5a43H9FnCXsyFAF6FILB08Nr9RkuNMwd3TQ==", - "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "6.0.3", - "Microsoft.EntityFrameworkCore.Analyzers": "6.0.3", - "Microsoft.Extensions.Caching.Memory": "6.0.1", - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "System.Collections.Immutable": "6.0.0", - "System.Diagnostics.DiagnosticSource": "6.0.0" - } - }, - "Microsoft.EntityFrameworkCore.Abstractions": { - "type": "Transitive", - "resolved": "6.0.3", - "contentHash": "7c6wJtTFj7FDe20IVPDKeCzxWIMu+XDpYi7aYuUo6knu4vDeB3N3F0pjAZgXJ96GwTZYBrjOEwnbpYmfapEz/w==" - }, - "Microsoft.EntityFrameworkCore.Analyzers": { - "type": "Transitive", - "resolved": "6.0.3", - "contentHash": "Ld9HyVABYor3Tq43/sG2JERL94UnDHJPg5PwpkCW4CWsf/CbxHetdecv+bCXA/Hg4q+44sov0GVl4Ywjk4PnyA==" - }, - "Microsoft.Extensions.ApiDescription.Server": { - "type": "Transitive", - "resolved": "3.0.0", - "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" - }, - "Microsoft.Extensions.Caching.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", - "dependencies": { - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Caching.Memory": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", - "dependencies": { - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.Binder": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.CommandLine": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.FileExtensions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Physical": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.Json": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "System.Text.Json": "6.0.0" - } - }, - "Microsoft.Extensions.Configuration.UserSecrets": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Physical": "6.0.0" - } - }, - "Microsoft.Extensions.DependencyInjection": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" - }, - "Microsoft.Extensions.DependencyModel": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", - "dependencies": { - "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", - "System.Text.Json": "6.0.0" - } - }, - "Microsoft.Extensions.FileProviders.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", - "dependencies": { - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.FileProviders.Physical": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", - "dependencies": { - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.FileSystemGlobbing": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" - }, - "Microsoft.Extensions.Hosting": { - "type": "Transitive", - "resolved": "6.0.1", - "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.Binder": "6.0.0", - "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", - "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", - "Microsoft.Extensions.Configuration.Json": "6.0.0", - "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Physical": "6.0.0", - "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Configuration": "6.0.0", - "Microsoft.Extensions.Logging.Console": "6.0.0", - "Microsoft.Extensions.Logging.Debug": "6.0.0", - "Microsoft.Extensions.Logging.EventLog": "6.0.0", - "Microsoft.Extensions.Logging.EventSource": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0" - } - }, - "Microsoft.Extensions.Hosting.Abstractions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Logging": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "System.Diagnostics.DiagnosticSource": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.Configuration": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", - "dependencies": { - "Microsoft.Extensions.Configuration": "6.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.Binder": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.Console": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Configuration": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "System.Text.Json": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.Debug": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.EventLog": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "System.Diagnostics.EventLog": "6.0.0" - } - }, - "Microsoft.Extensions.Logging.EventSource": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0", - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Json": "6.0.0" - } - }, - "Microsoft.Extensions.Options": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Options.ConfigurationExtensions": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", - "Microsoft.Extensions.Configuration.Binder": "6.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Microsoft.Extensions.Primitives": "6.0.0" - } - }, - "Microsoft.Extensions.Primitives": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "Microsoft.NETCore.Platforms": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" - }, - "Microsoft.NETCore.Targets": { - "type": "Transitive", - "resolved": "1.1.0", - "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" - }, - "Microsoft.OpenApi": { - "type": "Transitive", - "resolved": "1.2.3", - "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" - }, - "Microsoft.TestPlatform.ObjectModel": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "OMo/FYnKGy3lZEK0gfitskRM3ga/YBt6MyCyFPq0xNLeybGOQ6HnYNAAvzyePo5WPuMiw3LX+HiuRWNjnas1fA==", - "dependencies": { - "NuGet.Frameworks": "5.11.0", - "System.Reflection.Metadata": "1.6.0" - } - }, - "Microsoft.TestPlatform.TestHost": { - "type": "Transitive", - "resolved": "17.1.0", - "contentHash": "JS0JDLniDhIzkSPLHz7N/x1CG8ywJOtwInFDYA3KQvbz+ojGoT5MT2YDVReL1b86zmNRV8339vsTSm/zh0RcMg==", - "dependencies": { - "Microsoft.TestPlatform.ObjectModel": "17.1.0", - "Newtonsoft.Json": "9.0.1" - } - }, - "Microsoft.Win32.Registry": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", - "dependencies": { - "System.Security.AccessControl": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "Minio": { - "type": "Transitive", - "resolved": "3.1.13", - "contentHash": "i4h+gXs7kFHn1QUP0ZcuZz4Xa/PgNzZo+QRmi0WbFG5TYec7ozhrV+/cq7zfJbLOgcB89XwieASLLiduGNuwdA==", - "dependencies": { - "Crc32.NET": "1.2.0", - "Microsoft.CSharp": "4.5.0", - "RestSharp": "106.10.1", - "System.Reactive.Linq": "4.0.0" - } - }, - "Monai.Deploy.Messaging": { - "type": "Transitive", - "resolved": "0.1.0-rc0033", - "contentHash": "Grp8jVQH6Cn3PNtEcthm2zNTVJDYgv5flj9JyAmv3dYXqVoqgBhXAg8LZepetNnbcMpvgwEV0JG67dKS5fOdNw==", - "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Logging": "6.0.0", - "Newtonsoft.Json": "13.0.1", - "RabbitMQ.Client": "6.2.4", - "System.ComponentModel.Annotations": "5.0.0" - } - }, - "Monai.Deploy.Storage": { - "type": "Transitive", - "resolved": "0.1.0-rc0019", - "contentHash": "YAXgTE7vTqeMc+ZhprUg/muQ+JDVMaix1Ha1vLJTSSjfZWBOnxyK5SugS50uNlvByJcqHEXh+ygd9219wK1S+Q==", - "dependencies": { - "AWSSDK.SecurityToken": "3.7.1.141", - "Ardalis.GuardClauses": "4.0.0", - "Microsoft.Extensions.Configuration": "6.0.1", - "Microsoft.Extensions.Logging": "6.0.0", - "Minio": "3.1.13", - "Newtonsoft.Json": "13.0.1" - } - }, - "MongoDB.Bson": { - "type": "Transitive", - "resolved": "2.15.0", - "contentHash": "5uPSADVLydGJ4CbmjrsQn7v3NugSdx6htJ4cMNbo8youlfBa5v6YbEqztbipnl+dT1L/YBkJKZ1DDp6LWl0Hqw==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "5.0.0" - } - }, - "MongoDB.Driver": { - "type": "Transitive", - "resolved": "2.15.0", - "contentHash": "MaDExORt2JLBHFlG3dJZIdQlZsfK8YjfEbXJECqAU/Ez8BwbJwjHS0AjOBQZPj3U4UDU5pnGYiQn4P0dM9DnMw==", - "dependencies": { - "MongoDB.Bson": "2.15.0", - "MongoDB.Driver.Core": "2.15.0", - "MongoDB.Libmongocrypt": "1.3.0" - } - }, - "MongoDB.Driver.Core": { - "type": "Transitive", - "resolved": "2.15.0", - "contentHash": "oEfGhyxHDmH3KhRHPZqVEYSfLqFwOLrY5zMszbELKNxrgkJj82MNJ8AzGVOsayaxtrQqqcAGfyQK8Ecc1yoc0Q==", - "dependencies": { - "DnsClient": "1.6.0", - "MongoDB.Bson": "2.15.0", - "MongoDB.Libmongocrypt": "1.3.0", - "SharpCompress": "0.30.1", - "System.Buffers": "4.5.1" - } - }, - "MongoDB.Libmongocrypt": { - "type": "Transitive", - "resolved": "1.3.0", - "contentHash": "BAvqY/otOsmAGTsmzIYXRFysvpu8X7rYkDzEBX4iBlrF57SB+fD5px9sCPR6sETgfZ6k98qUNS6go5wtY9WOBA==" - }, - "NETStandard.Library": { - "type": "Transitive", - "resolved": "2.0.0", - "contentHash": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0" - } - }, - "Newtonsoft.Json": { - "type": "Transitive", - "resolved": "13.0.1", - "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" - }, - "Newtonsoft.Json.Bson": { - "type": "Transitive", - "resolved": "1.0.2", - "contentHash": "QYFyxhaABwmq3p/21VrZNYvCg3DaEoN/wUuw5nmfAf0X3HLjgupwhkEWdgfb9nvGAUIv3osmZoD3kKl4jxEmYQ==", - "dependencies": { - "Newtonsoft.Json": "12.0.1" - } - }, - "NuGet.Frameworks": { - "type": "Transitive", - "resolved": "5.11.0", - "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" - }, - "RabbitMQ.Client": { - "type": "Transitive", - "resolved": "6.2.4", - "contentHash": "ttM7F+Ymb00EyQ25UCC44djr5GN/+cZNey2B3xD6JdJQQx7UcCtHdKBCE09zcmWuB+Afp07tFzetE14l/U8xQw==", - "dependencies": { - "System.Memory": "4.5.4", - "System.Threading.Channels": "4.7.1" - } - }, - "RestSharp": { - "type": "Transitive", - "resolved": "106.10.1", - "contentHash": "MhR4w8LbArVaRA5T/oAR3ZnF852QXtDXRBO84GsvyYzsm7FsjXHJ+JaM8x/nR/B/OCB1WbolGH7hqMT1GZpNJw==" - }, - "runtime.native.System": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "SharpCompress": { - "type": "Transitive", - "resolved": "0.30.1", - "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" - }, - "Swashbuckle.AspNetCore": { - "type": "Transitive", - "resolved": "6.3.0", - "contentHash": "3TAV6JqsJF2F5e5d/tiQuW/TlzKXB/n2IcL5QR1FP8ArmLhmPkpeHiLZ3+1YnJ5840/X5ApvpRRJpM9809IjTg==", - "dependencies": { - "Microsoft.Extensions.ApiDescription.Server": "3.0.0", - "Swashbuckle.AspNetCore.Swagger": "6.3.0", - "Swashbuckle.AspNetCore.SwaggerGen": "6.3.0", - "Swashbuckle.AspNetCore.SwaggerUI": "6.3.0" - } - }, - "Swashbuckle.AspNetCore.Swagger": { - "type": "Transitive", - "resolved": "6.3.0", - "contentHash": "+taHh7kowNF+tQo9a82avwDtfqhAC82jTZTqZwypDpauPvwavyVtJ7+ERxE+yDb6U/nOcMicMmDAGbqbJ2Pc+Q==", - "dependencies": { - "Microsoft.OpenApi": "1.2.3" - } - }, - "Swashbuckle.AspNetCore.SwaggerGen": { - "type": "Transitive", - "resolved": "6.3.0", - "contentHash": "8PRLtqCXTIfc+W/pcyab8GqHzHuFRZ3L+9/fix/ssVknwy/pbgkOqgzq9DGWfKz+MZReIp5ajZLR7bXioDdacQ==", - "dependencies": { - "Swashbuckle.AspNetCore.Swagger": "6.3.0" - } - }, - "Swashbuckle.AspNetCore.SwaggerUI": { - "type": "Transitive", - "resolved": "6.3.0", - "contentHash": "OmVLGzyeNBFUAx6E/bqrZW4uxfv9q2MtegYzeHv5Dj8N34ry8104d6OcyRIV4BhwHBSFD1rMvDlPciguFMtQ5w==" - }, - "System.Buffers": { - "type": "Transitive", - "resolved": "4.5.1", - "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" - }, - "System.Collections": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Immutable": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Collections.NonGeneric": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Collections.Specialized": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", - "dependencies": { - "System.Collections.NonGeneric": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.ComponentModel": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.ComponentModel.Annotations": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" - }, - "System.ComponentModel.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", - "dependencies": { - "System.ComponentModel": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.ComponentModel.TypeConverter": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Collections.NonGeneric": "4.3.0", - "System.Collections.Specialized": "4.3.0", - "System.ComponentModel": "4.3.0", - "System.ComponentModel.Primitives": "4.3.0", - "System.Globalization": "4.3.0", - "System.Linq": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Configuration.ConfigurationManager": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "gWwQv/Ug1qWJmHCmN17nAbxJYmQBM/E94QxKLksvUiiKB1Ld3Sc/eK1lgmbSjDFxkQhVuayI/cGFZhpBSodLrg==", - "dependencies": { - "System.Security.Cryptography.ProtectedData": "4.4.0" - } - }, - "System.Diagnostics.Debug": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Diagnostics.EventLog": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" - }, - "System.Diagnostics.TraceSource": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VnYp1NxGx8Ww731y2LJ1vpfb/DKVNKEZ8Jsh5SgQTZREL/YpWRArgh9pI8CDLmgHspZmLL697CaLvH85qQpRiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Dynamic.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Globalization": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.Abstractions": { - "type": "Transitive", - "resolved": "16.1.25", - "contentHash": "PZ3y8SgASqtIlJyhss47FGLwBMXMWvxL9MKk9dEqIZT/vrfQr5yhKwdJ/vNm2H8FqsWJoxu0P12nYGXFj0irkA==" - }, - "System.IO.FileSystem": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.IO.Pipelines": { - "type": "Transitive", - "resolved": "6.0.2", - "contentHash": "cb5OfQjnz+zjpJJei+f3QYK7+wWZrDdNHf3DykO6QCacpNZ80tuNgq1DC2kqlrjfEu+cMUTvulxPIrCMbBkjqg==" - }, - "System.Linq": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - } - }, - "System.Linq.Expressions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Linq": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Emit.Lightweight": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Memory": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" - }, - "System.ObjectModel": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Reactive": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "yaVAxT2Yl28p9+DupGwj2oPbIOYZUQimOQ+n7N7vML2oofIRj9BmcfD7DHc6FLrNah65EigOgG6U9VnwWEyz5g==", - "dependencies": { - "System.Runtime.InteropServices.WindowsRuntime": "4.3.0" - } - }, - "System.Reactive.Linq": { - "type": "Transitive", - "resolved": "4.0.0", - "contentHash": "LaYTtUoOtQJ7SBb1/tfM/kcIHy0dsA7E+31/739HyTyGg9uSGzP/fV4VFI3/Atg7MQiks+JbEAwcoTDJY0pJoA==", - "dependencies": { - "System.Reactive": "4.0.0" - } - }, - "System.Reflection": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", - "dependencies": { - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.ILGeneration": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit.Lightweight": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Metadata": { - "type": "Transitive", - "resolved": "1.6.0", - "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" - }, - "System.Reflection.Primitives": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.TypeExtensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", - "dependencies": { - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Resources.ResourceManager": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.CompilerServices.Unsafe": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" - }, - "System.Runtime.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.InteropServices.WindowsRuntime": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "J4GUi3xZQLUBasNwZnjrffN8i5wpHrBtZoLG+OhRyGo/+YunMRWWtwoMDlUAIdmX0uRfpHIBDSV6zyr3yf00TA==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Security.AccessControl": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Security.Cryptography.ProtectedData": { - "type": "Transitive", - "resolved": "4.4.0", - "contentHash": "cJV7ScGW7EhatRsjehfvvYVBvtiSMKgN8bOVI0bQhnF5bU7vnHVIsH49Kva7i7GWaWYvmEzkYVk1TC+gZYBEog==" - }, - "System.Security.Principal.Windows": { - "type": "Transitive", - "resolved": "5.0.0", - "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" - }, - "System.Text.Encoding": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.Extensions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Text.Encodings.Web": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } - }, - "System.Text.Json": { - "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0" - } - }, - "System.Text.RegularExpressions": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Threading": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Threading.Channels": { - "type": "Transitive", - "resolved": "4.7.1", - "contentHash": "6akRtHK/wab3246t4p5v3HQrtQk8LboOt5T4dtpNgsp3zvDeM4/Gx8V12t0h+c/W9/enUrilk8n6EQqdQorZAA==" - }, - "System.Threading.Tasks": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading.Tasks.Extensions": { - "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" - }, - "System.Xml.ReaderWriter": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Tasks.Extensions": "4.3.0" - } - }, - "System.Xml.XmlDocument": { - "type": "Transitive", - "resolved": "4.3.0", - "contentHash": "lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0" - } - }, - "xunit.abstractions": { - "type": "Transitive", - "resolved": "2.0.3", - "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" - }, - "xunit.analyzers": { - "type": "Transitive", - "resolved": "0.10.0", - "contentHash": "4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==" - }, - "xunit.assert": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==", - "dependencies": { - "NETStandard.Library": "1.6.1" - } - }, - "xunit.core": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==", - "dependencies": { - "xunit.extensibility.core": "[2.4.1]", - "xunit.extensibility.execution": "[2.4.1]" - } - }, - "xunit.extensibility.core": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==", - "dependencies": { - "NETStandard.Library": "1.6.1", - "xunit.abstractions": "2.0.3" - } - }, - "xunit.extensibility.execution": { - "type": "Transitive", - "resolved": "2.4.1", - "contentHash": "7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==", - "dependencies": { - "NETStandard.Library": "1.6.1", - "xunit.extensibility.core": "[2.4.1]" - } - }, - "monai.deploy.workflowmanager": { - "type": "Project", - "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Karambolo.Extensions.Logging.File": "3.2.1", - "Microsoft.AspNetCore.Mvc.NewtonsoftJson": "6.0.3", - "Microsoft.AspNetCore.Mvc.Versioning": "5.0.0", - "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": "5.0.0", - "Microsoft.EntityFrameworkCore": "6.0.3", - "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Hosting": "6.0.1", - "Microsoft.Extensions.Logging": "6.0.0", - "Microsoft.Extensions.Logging.Console": "6.0.0", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.Messaging": "0.1.0-rc0033", - "Monai.Deploy.WorkflowManager.Common": "1.0.0", - "Monai.Deploy.WorkflowManager.Configuration": "1.0.0", - "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", - "Monai.Deploy.WorkflowManager.Database": "1.0.0", - "Monai.Deploy.WorkflowManager.Logging": "1.0.0", - "Monai.Deploy.WorkflowManager.PayloadListener": "1.0.0", - "Newtonsoft.Json": "13.0.1", - "Swashbuckle.AspNetCore": "6.3.0" - } - }, - "monai.deploy.workflowmanager.common": { - "type": "Project", - "dependencies": { - "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", - "Monai.Deploy.WorkflowManager.Database": "1.0.0" - } - }, - "monai.deploy.workflowmanager.configuration": { - "type": "Project", - "dependencies": { - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.Messaging": "0.1.0-rc0033", - "Monai.Deploy.Storage": "0.1.0-rc0019", - "Newtonsoft.Json": "13.0.1", - "System.IO.Abstractions": "16.1.25" - } - }, - "monai.deploy.workflowmanager.contracts": { - "type": "Project", - "dependencies": { - "AWSSDK.SecurityToken": "3.7.1.141", - "Microsoft.Extensions.Configuration": "6.0.1", - "Monai.Deploy.Messaging": "0.1.0-rc0033", - "MongoDB.Bson": "2.15.0", - "Newtonsoft.Json": "13.0.1" - } - }, - "monai.deploy.workflowmanager.database": { - "type": "Project", - "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Microsoft.Extensions.Logging.Abstractions": "6.0.1", - "Microsoft.Extensions.Options": "6.0.0", - "Monai.Deploy.Messaging": "0.1.0-rc0033", - "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", - "Monai.Deploy.WorkflowManager.Logging": "1.0.0", - "MongoDB.Bson": "2.15.0", - "MongoDB.Driver": "2.15.0" - } - }, - "monai.deploy.workflowmanager.logging": { - "type": "Project", - "dependencies": { - "Karambolo.Extensions.Logging.File": "3.2.1", - "Microsoft.Extensions.Logging.Abstractions": "6.0.1" - } - }, - "monai.deploy.workflowmanager.payloadlistener": { - "type": "Project", - "dependencies": { - "Ardalis.GuardClauses": "4.0.1", - "Karambolo.Extensions.Logging.File": "3.2.1", - "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", - "Monai.Deploy.Messaging": "0.1.0-rc0033", - "Monai.Deploy.Storage": "0.1.0-rc0019", - "Monai.Deploy.WorkflowManager.Common": "1.0.0", - "Monai.Deploy.WorkflowManager.Configuration": "1.0.0", - "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", - "Monai.Deploy.WorkflowManager.Logging": "1.0.0", - "Monai.Deploy.WorkloadManager.WorkfowExecuter": "1.0.0" - } - }, - "monai.deploy.workloadmanager.workfowexecuter": { - "type": "Project", - "dependencies": { - "AWSSDK.SecurityToken": "3.7.1.141", - "Ardalis.GuardClauses": "4.0.1", - "Monai.Deploy.Messaging": "0.1.0-rc0033", - "Monai.Deploy.Storage": "0.1.0-rc0019", - "Monai.Deploy.WorkflowManager.Configuration": "1.0.0", - "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", - "Monai.Deploy.WorkflowManager.Database": "1.0.0", - "Monai.Deploy.WorkflowManager.Logging": "1.0.0", - "Newtonsoft.Json": "13.0.1" - } - } - } - } +{ + "version": 1, + "dependencies": { + "net6.0": { + "AutoFixture.Xunit2": { + "type": "Direct", + "requested": "[4.17.0, )", + "resolved": "4.17.0", + "contentHash": "lrURL/LhJLPkn2tSPUEW8Wscr5LoV2Mr8A+ikn5gwkofex3o7qWUsBswlLw+KCA7EOpeqwZOldp3k91zDF+48Q==", + "dependencies": { + "AutoFixture": "4.17.0", + "xunit.extensibility.core": "[2.2.0, 3.0.0)" + } + }, + "coverlet.collector": { + "type": "Direct", + "requested": "[3.1.2, )", + "resolved": "3.1.2", + "contentHash": "wuLDIDKD5XMt0A7lE31JPenT7QQwZPFkP5rRpdJeblyXZ9MGLI8rYjvm5fvAKln+2/X+4IxxQDxBtwdrqKNLZw==" + }, + "FluentAssertions": { + "type": "Direct", + "requested": "[6.6.0, )", + "resolved": "6.6.0", + "contentHash": "gBsgPrNRkzUQfnxZSKnU0oVILIc5dr+dmdKXscyYKD5URcwNVQ72a7uuCvTyBzRZW98MZQNolSYC0y/MQTJ03A==", + "dependencies": { + "System.Configuration.ConfigurationManager": "4.4.0" + } + }, + "Microsoft.AspNetCore.Mvc.Testing": { + "type": "Direct", + "requested": "[6.0.3, )", + "resolved": "6.0.3", + "contentHash": "+NhhbRzLVZ97rEWw+euUC0dxCq87uLScTYDeFxY/lTFXDOY3kwd1LNTaLV+dRq/Wfmkg5Lq/i9YitDoWjsruig==", + "dependencies": { + "Microsoft.AspNetCore.TestHost": "6.0.3", + "Microsoft.Extensions.DependencyModel": "6.0.0", + "Microsoft.Extensions.Hosting": "6.0.1" + } + }, + "Microsoft.Extensions.Logging.Abstractions": { + "type": "Direct", + "requested": "[6.0.1, )", + "resolved": "6.0.1", + "contentHash": "dzB2Cgg+JmrouhjkcQGzSFjjvpwlq353i8oBQO2GWNjCXSzhbtBRUf28HSauWe7eib3wYOdb3tItdjRwAdwCSg==" + }, + "Microsoft.NET.Test.Sdk": { + "type": "Direct", + "requested": "[17.1.0, )", + "resolved": "17.1.0", + "contentHash": "MVKvOsHIfrZrvg+8aqOF5dknO/qWrR1sWZjMPQ1N42MKMlL/zQL30FQFZxPeWfmVKWUWAOmAHYsqB5OerTKziw==", + "dependencies": { + "Microsoft.CodeCoverage": "17.1.0", + "Microsoft.TestPlatform.TestHost": "17.1.0" + } + }, + "Moq": { + "type": "Direct", + "requested": "[4.17.2, )", + "resolved": "4.17.2", + "contentHash": "HytUPJ3/uks2UgJ9hIcyXm3YxpFAR4OJzbQwTHltbKGun3lFLhEHs97hiiPj1dY8jV/kasXeihTzDxct6Zf3iQ==", + "dependencies": { + "Castle.Core": "4.4.1", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, + "xunit": { + "type": "Direct", + "requested": "[2.4.1, )", + "resolved": "2.4.1", + "contentHash": "XNR3Yz9QTtec16O0aKcO6+baVNpXmOnPUxDkCY97J+8krUYxPvXT1szYYEUdKk4sB8GOI2YbAjRIOm8ZnXRfzQ==", + "dependencies": { + "xunit.analyzers": "0.10.0", + "xunit.assert": "[2.4.1]", + "xunit.core": "[2.4.1]" + } + }, + "xunit.runner.visualstudio": { + "type": "Direct", + "requested": "[2.4.3, )", + "resolved": "2.4.3", + "contentHash": "kZZSmOmKA8OBlAJaquPXnJJLM9RwQ27H7BMVqfMLUcTi9xHinWGJiWksa3D4NEtz0wZ/nxd2mogObvBgJKCRhQ==" + }, + "Ardalis.GuardClauses": { + "type": "Transitive", + "resolved": "4.0.1", + "contentHash": "RemnImQf/BWR8oYqFpdw+hn+b4Q1w+pGujkRiSfjQhMPuiERwGn4UMmQv+6UDE4qbPlnIN+e3e40JkvBhzgfzg==", + "dependencies": { + "JetBrains.Annotations": "2021.3.0" + } + }, + "AutoFixture": { + "type": "Transitive", + "resolved": "4.17.0", + "contentHash": "efMRCG3Epc4QDELwdmQGf6/caQUleRXPRCnLAq5gLMpTuOTcOQWV12vEJ8qo678Rj97/TjjxHYu/34rGkXdVAA==", + "dependencies": { + "Fare": "[2.1.1, 3.0.0)", + "System.ComponentModel.Annotations": "4.3.0" + } + }, + "AWSSDK.Core": { + "type": "Transitive", + "resolved": "3.7.10.10", + "contentHash": "eieuNNym2E63hAnUwZiEQtNCNT5knh2PTqcFVuFQsZpYCw22cGXLq9miC8TDENLFRHh2I1mkTBRiC9E8UlKQhw==" + }, + "AWSSDK.SecurityToken": { + "type": "Transitive", + "resolved": "3.7.1.141", + "contentHash": "paspGCeiN5Qjl6vJanqP1Ll8l3t9hqUmVWmeHMELXyvUgozvVzaSh+PTQ/gj6gmFQ64Us7aeCFSQlfBPZag+vQ==", + "dependencies": { + "AWSSDK.Core": "[3.7.10.10, 4.0.0)" + } + }, + "Castle.Core": { + "type": "Transitive", + "resolved": "4.4.1", + "contentHash": "zanbjWC0Y05gbx4eGXkzVycOQqVOFVeCjVsDSyuao9P4mtN1w3WxxTo193NGC7j3o2u3AJRswaoC6hEbnGACnQ==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.TypeConverter": "4.3.0", + "System.Diagnostics.TraceSource": "4.3.0", + "System.Dynamic.Runtime": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Xml.XmlDocument": "4.3.0" + } + }, + "Crc32.NET": { + "type": "Transitive", + "resolved": "1.2.0", + "contentHash": "wNW/huzolu8MNKUnwCVKxjfAlCFpeI8AZVfF46iAWJ1+P6bTU1AZct7VAkDDEjgeeTJCVTkGZaD6jSd/fOiUkA==", + "dependencies": { + "NETStandard.Library": "2.0.0" + } + }, + "DnsClient": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "kVd3IxAs5EQZSKTQhMUaJmuOQ1n2VWKExatdqNszsxxKzTB+Toaxx3M1DsN3yKfHloMXPmt6fgfcOqRwKheoUQ==", + "dependencies": { + "Microsoft.Win32.Registry": "5.0.0" + } + }, + "Fare": { + "type": "Transitive", + "resolved": "2.1.1", + "contentHash": "HaI8puqA66YU7/9cK4Sgbs1taUTP1Ssa4QT2PIzqJ7GvAbN1QgkjbRsjH+FSbMh1MJdvS0CIwQNLtFT+KF6KpA==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "JetBrains.Annotations": { + "type": "Transitive", + "resolved": "2021.3.0", + "contentHash": "Ddxjs5RRjf+c8m9m++WvhW1lz1bqNhsTjWvCLbQN9bvKbkJeR9MhtfNwKgBRRdG2yLHcXFr5Lf7fsvvkiPaDRg==" + }, + "Karambolo.Extensions.Logging.File": { + "type": "Transitive", + "resolved": "3.2.1", + "contentHash": "+jWcz78yeZw7RgXO73c5QPNja/Bt6i7s9h2W5GrSTuWyd9N/45nfCtd3fATwv556PihcYTFJO62yOgMTkZzbBw==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Physical": "3.0.0", + "Microsoft.Extensions.Logging.Configuration": "3.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "3.0.0", + "System.Threading.Channels": "4.7.1" + } + }, + "Microsoft.AspNetCore.JsonPatch": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "eObF1OgvkQHJXmDMcMYM/oRZ1Vk939UZr2QShBsXoY01AkS+7nczgzzWdNd2TutlNx6AWZKBizg/sBCOXQDPbg==", + "dependencies": { + "Microsoft.CSharp": "4.7.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "Microsoft.AspNetCore.Mvc.NewtonsoftJson": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "h0ZMz0yR6HiqjKo2wrZP4WWBaioelPDljvCewdl6Qo7n2iTZpIRjukB0O5idyzATUJRDKltBDex0pGLH3Q0utQ==", + "dependencies": { + "Microsoft.AspNetCore.JsonPatch": "6.0.3", + "Newtonsoft.Json": "13.0.1", + "Newtonsoft.Json.Bson": "1.0.2" + } + }, + "Microsoft.AspNetCore.Mvc.Versioning": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "mN9IARvNpHMBD2/oGmp5Bxp1Dg45Hfcp+LWaAyTtL2HisWLMOIcf0Ox1qW9IvCvdbHM+2A9dWEInhiqBsNxsJA==" + }, + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "GZH7F1iDtJKw23qkqQaAnBh9Rw+GVUq5SK0ldfAqMh+2syFRtzPkvQUl0V+qe2wuP0QRr1zG82G812ZN8AU6ig==", + "dependencies": { + "Microsoft.AspNetCore.Mvc.Versioning": "5.0.0" + } + }, + "Microsoft.AspNetCore.TestHost": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "oeK3KFtoLslFbKyQEiQ8HgKWAmTXUlp8vtYByUmC5ysWVrNEpCrQOKACGV/uYSeC9aFvEIvVyFTcommnxrsyiA==", + "dependencies": { + "System.IO.Pipelines": "6.0.2" + } + }, + "Microsoft.CodeCoverage": { + "type": "Transitive", + "resolved": "17.1.0", + "contentHash": "0N/ZJ71ncCxQWhgtkEYKOgu2oMHa8h1tsOUbhmIKXF8UwtSUCe4vHAsJ3DVcNWRwNfQzSTy263ZE+QF6MdIhhQ==" + }, + "Microsoft.CSharp": { + "type": "Transitive", + "resolved": "4.7.0", + "contentHash": "pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==" + }, + "Microsoft.EntityFrameworkCore": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "f7ZlNOI1wPg/r0zRgvmcLAM3kwuCVGe5cZc8rYoKPDGZs5dgRFe5a43H9FnCXsyFAF6FILB08Nr9RkuNMwd3TQ==", + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "6.0.3", + "Microsoft.EntityFrameworkCore.Analyzers": "6.0.3", + "Microsoft.Extensions.Caching.Memory": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "System.Collections.Immutable": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore.Abstractions": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "7c6wJtTFj7FDe20IVPDKeCzxWIMu+XDpYi7aYuUo6knu4vDeB3N3F0pjAZgXJ96GwTZYBrjOEwnbpYmfapEz/w==" + }, + "Microsoft.EntityFrameworkCore.Analyzers": { + "type": "Transitive", + "resolved": "6.0.3", + "contentHash": "Ld9HyVABYor3Tq43/sG2JERL94UnDHJPg5PwpkCW4CWsf/CbxHetdecv+bCXA/Hg4q+44sov0GVl4Ywjk4PnyA==" + }, + "Microsoft.Extensions.ApiDescription.Server": { + "type": "Transitive", + "resolved": "3.0.0", + "contentHash": "LH4OE/76F6sOCslif7+Xh3fS/wUUrE5ryeXAMcoCnuwOQGT5Smw0p57IgDh/pHgHaGz/e+AmEQb7pRgb++wt0w==" + }, + "Microsoft.Extensions.Caching.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==", + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "BUyFU9t+HzlSE7ri4B+AQN2BgTgHv/uM82s5ZkgU1BApyzWzIl48nDsG5wR1t0pniNuuyTBzG3qCW8152/NtSw==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "qWzV9o+ZRWq+pGm+1dF+R7qTgTYoXvbyowRoBxQJGfqTpqDun2eteerjRQhq5PQ/14S+lqto3Ft4gYaRyl4rdQ==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Binder": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "b3ErKzND8LIC7o08QAVlKfaEIYEvLJbtmVbFZVBRXeu9YkKfSSzLZfR1SUfQPBIy9mKLhEtJgGYImkcMNaKE0A==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.CommandLine": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "3nL1qCkZ1Oxx14ZTzgo4MmlO7tso7F+TtMZAY2jUAtTLyAcDp+EDjk3RqafoKiNaePyPvvlleEcBxh3b2Hzl1g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.EnvironmentVariables": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "pnyXV1LFOsYjGveuC07xp0YHIyGq7jRq5Ncb5zrrIieMLWVwgMyYxcOH0jTnBedDT4Gh1QinSqsjqzcieHk1og==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.FileExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "V4Dth2cYMZpw3HhGw9XUDIijpI6gN+22LDt0AhufIgOppCUfpWX4483OmN+dFXRJkJLc8Tv0Q8QK+1ingT2+KQ==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GJGery6QytCzS/BxJ96klgG9in3uH26KcUBbiVG/coNDXCRq6LGVVlUT4vXq34KPuM+R2av+LeYdX9h4IZOCUg==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Configuration.UserSecrets": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "Fy8yr4V6obi7ZxvKYI1i85jqtwMq8tqyxQVZpRSkgeA8enqy/KvBIMdcuNdznlxQMZa72mvbHqb7vbg4Pyx95w==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "k6PWQMuoBDGGHOQTtyois2u4AwyVcIwL2LaSLlTZQm2CYcJ1pxbt6jfAnpWmzENA/wfrYRI/X9DTLoUkE4AsLw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "xlzi2IYREJH3/m6+lUrQlujzX8wDitm4QGnUu6kUXTQAWPuZY8i+ticFJbzfqaetLA6KR/rO6Ew/HuYD+bxifg==" + }, + "Microsoft.Extensions.DependencyModel": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "TD5QHg98m3+QhgEV1YVoNMl5KtBw/4rjfxLHO0e/YV9bPUBDKntApP4xdrVtGgCeQZHVfC2EXIGsdpRNrr87Pg==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.4", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "0pd4/fho0gC12rQswaGQxbU34jOS1TPS8lZPpkFCH68ppQjHNHYle9iRuHeev1LhrJ94YPvzcRd8UmIuFk23Qw==", + "dependencies": { + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileProviders.Physical": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "QvkL7l0nM8udt3gfyu0Vw8bbCXblxaKOl7c2oBfgGy4LCURRaL9XWZX1FWJrQc43oMokVneVxH38iz+bY1sbhg==", + "dependencies": { + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileSystemGlobbing": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.FileSystemGlobbing": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ip8jnL1aPiaPeKINCqaTEbvBFDmVx9dXQEBZ2HOBRXPD1eabGNqP/bKlsIcp7U2lGxiXd5xIhoFcmY8nM4Hdiw==" + }, + "Microsoft.Extensions.Hosting": { + "type": "Transitive", + "resolved": "6.0.1", + "contentHash": "hbmizc9KPWOacLU8Z8YMaBG6KWdZFppczYV/KwnPGU/8xebWxQxdDeJmLOgg968prb7g2oQgnp6JVLX6lgby8g==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.Configuration.CommandLine": "6.0.0", + "Microsoft.Extensions.Configuration.EnvironmentVariables": "6.0.1", + "Microsoft.Extensions.Configuration.FileExtensions": "6.0.0", + "Microsoft.Extensions.Configuration.Json": "6.0.0", + "Microsoft.Extensions.Configuration.UserSecrets": "6.0.1", + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Physical": "6.0.0", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Logging.Debug": "6.0.0", + "Microsoft.Extensions.Logging.EventLog": "6.0.0", + "Microsoft.Extensions.Logging.EventSource": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0" + } + }, + "Microsoft.Extensions.Hosting.Abstractions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "GcT5l2CYXL6Sa27KCSh0TixsRfADUgth+ojQSD5EkzisZxmGFh7CwzkcYuGwvmXLjr27uWRNrJ2vuuEjMhU05Q==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.DiagnosticSource": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Configuration": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "ZDskjagmBAbv+K8rYW9VhjPplhbOE63xUD0DiuydZJwt15dRyoqicYklLd86zzeintUc7AptDkHn+YhhYkYo8A==", + "dependencies": { + "Microsoft.Extensions.Configuration": "6.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Options.ConfigurationExtensions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Console": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "gsqKzOEdsvq28QiXFxagmn1oRB9GeI5GgYCkoybZtQA0IUb7QPwf1WmN3AwJeNIsadTvIFQCiVK0OVIgKfOBGg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging.Configuration": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.Debug": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "M9g/JixseSZATJE9tcMn9uzoD4+DbSglivFqVx8YkRJ7VVPmnvCEbOZ0AAaxsL1EKyI4cz07DXOOJExxNsUOHw==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "rlo0RxlMd0WtLG3CHI0qOTp6fFn7MvQjlrCjucA31RqmiMFCZkF8CHNbe8O7tbBIyyoLGWB1he9CbaA5iyHthg==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "System.Diagnostics.EventLog": "6.0.0" + } + }, + "Microsoft.Extensions.Logging.EventSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "BeDyyqt7nkm/nr+Gdk+L8n1tUT/u33VkbXAOesgYSNsxDM9hJ1NOBGoZfj9rCbeD2+9myElI6JOVVFmnzgeWQA==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Json": "6.0.0" + } + }, + "Microsoft.Extensions.Options": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==", + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Options.ConfigurationExtensions": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "bXWINbTn0vC0FYc9GaQTISbxhQLAMrvtbuvD9N6JelEaIS/Pr62wUCinrq5bf1WRBGczt1v4wDhxFtVFNcMdUQ==", + "dependencies": { + "Microsoft.Extensions.Configuration.Abstractions": "6.0.0", + "Microsoft.Extensions.Configuration.Binder": "6.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Microsoft.Extensions.Primitives": "6.0.0" + } + }, + "Microsoft.Extensions.Primitives": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "9+PnzmQFfEFNR9J2aDTfJGGupShHjOuGw4VUv+JB044biSHrnmCIMD+mJHmb2H7YryrfBEXDurxQ47gJZdCKNQ==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "Microsoft.NETCore.Platforms": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==" + }, + "Microsoft.NETCore.Targets": { + "type": "Transitive", + "resolved": "1.1.0", + "contentHash": "aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==" + }, + "Microsoft.OpenApi": { + "type": "Transitive", + "resolved": "1.2.3", + "contentHash": "Nug3rO+7Kl5/SBAadzSMAVgqDlfGjJZ0GenQrLywJ84XGKO0uRqkunz5Wyl0SDwcR71bAATXvSdbdzPrYRYKGw==" + }, + "Microsoft.TestPlatform.ObjectModel": { + "type": "Transitive", + "resolved": "17.1.0", + "contentHash": "OMo/FYnKGy3lZEK0gfitskRM3ga/YBt6MyCyFPq0xNLeybGOQ6HnYNAAvzyePo5WPuMiw3LX+HiuRWNjnas1fA==", + "dependencies": { + "NuGet.Frameworks": "5.11.0", + "System.Reflection.Metadata": "1.6.0" + } + }, + "Microsoft.TestPlatform.TestHost": { + "type": "Transitive", + "resolved": "17.1.0", + "contentHash": "JS0JDLniDhIzkSPLHz7N/x1CG8ywJOtwInFDYA3KQvbz+ojGoT5MT2YDVReL1b86zmNRV8339vsTSm/zh0RcMg==", + "dependencies": { + "Microsoft.TestPlatform.ObjectModel": "17.1.0", + "Newtonsoft.Json": "9.0.1" + } + }, + "Microsoft.Win32.Registry": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", + "dependencies": { + "System.Security.AccessControl": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "Minio": { + "type": "Transitive", + "resolved": "3.1.13", + "contentHash": "i4h+gXs7kFHn1QUP0ZcuZz4Xa/PgNzZo+QRmi0WbFG5TYec7ozhrV+/cq7zfJbLOgcB89XwieASLLiduGNuwdA==", + "dependencies": { + "Crc32.NET": "1.2.0", + "Microsoft.CSharp": "4.5.0", + "RestSharp": "106.10.1", + "System.Reactive.Linq": "4.0.0" + } + }, + "Monai.Deploy.Messaging": { + "type": "Transitive", + "resolved": "0.1.0-rc0033", + "contentHash": "Grp8jVQH6Cn3PNtEcthm2zNTVJDYgv5flj9JyAmv3dYXqVoqgBhXAg8LZepetNnbcMpvgwEV0JG67dKS5fOdNw==", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Newtonsoft.Json": "13.0.1", + "RabbitMQ.Client": "6.2.4", + "System.ComponentModel.Annotations": "5.0.0" + } + }, + "Monai.Deploy.Storage": { + "type": "Transitive", + "resolved": "0.1.0-rc0019", + "contentHash": "YAXgTE7vTqeMc+ZhprUg/muQ+JDVMaix1Ha1vLJTSSjfZWBOnxyK5SugS50uNlvByJcqHEXh+ygd9219wK1S+Q==", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.1.141", + "Ardalis.GuardClauses": "4.0.0", + "Microsoft.Extensions.Configuration": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Minio": "3.1.13", + "Newtonsoft.Json": "13.0.1" + } + }, + "MongoDB.Bson": { + "type": "Transitive", + "resolved": "2.15.0", + "contentHash": "5uPSADVLydGJ4CbmjrsQn7v3NugSdx6htJ4cMNbo8youlfBa5v6YbEqztbipnl+dT1L/YBkJKZ1DDp6LWl0Hqw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "5.0.0" + } + }, + "MongoDB.Driver": { + "type": "Transitive", + "resolved": "2.15.0", + "contentHash": "MaDExORt2JLBHFlG3dJZIdQlZsfK8YjfEbXJECqAU/Ez8BwbJwjHS0AjOBQZPj3U4UDU5pnGYiQn4P0dM9DnMw==", + "dependencies": { + "MongoDB.Bson": "2.15.0", + "MongoDB.Driver.Core": "2.15.0", + "MongoDB.Libmongocrypt": "1.3.0" + } + }, + "MongoDB.Driver.Core": { + "type": "Transitive", + "resolved": "2.15.0", + "contentHash": "oEfGhyxHDmH3KhRHPZqVEYSfLqFwOLrY5zMszbELKNxrgkJj82MNJ8AzGVOsayaxtrQqqcAGfyQK8Ecc1yoc0Q==", + "dependencies": { + "DnsClient": "1.6.0", + "MongoDB.Bson": "2.15.0", + "MongoDB.Libmongocrypt": "1.3.0", + "SharpCompress": "0.30.1", + "System.Buffers": "4.5.1" + } + }, + "MongoDB.Libmongocrypt": { + "type": "Transitive", + "resolved": "1.3.0", + "contentHash": "BAvqY/otOsmAGTsmzIYXRFysvpu8X7rYkDzEBX4iBlrF57SB+fD5px9sCPR6sETgfZ6k98qUNS6go5wtY9WOBA==" + }, + "NETStandard.Library": { + "type": "Transitive", + "resolved": "2.0.0", + "contentHash": "7jnbRU+L08FXKMxqUflxEXtVymWvNOrS8yHgu9s6EM8Anr6T/wIX4nZ08j/u3Asz+tCufp3YVwFSEvFTPYmBPA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0" + } + }, + "Newtonsoft.Json": { + "type": "Transitive", + "resolved": "13.0.1", + "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==" + }, + "Newtonsoft.Json.Bson": { + "type": "Transitive", + "resolved": "1.0.2", + "contentHash": "QYFyxhaABwmq3p/21VrZNYvCg3DaEoN/wUuw5nmfAf0X3HLjgupwhkEWdgfb9nvGAUIv3osmZoD3kKl4jxEmYQ==", + "dependencies": { + "Newtonsoft.Json": "12.0.1" + } + }, + "NuGet.Frameworks": { + "type": "Transitive", + "resolved": "5.11.0", + "contentHash": "eaiXkUjC4NPcquGWzAGMXjuxvLwc6XGKMptSyOGQeT0X70BUZObuybJFZLA0OfTdueLd3US23NBPTBb6iF3V1Q==" + }, + "RabbitMQ.Client": { + "type": "Transitive", + "resolved": "6.2.4", + "contentHash": "ttM7F+Ymb00EyQ25UCC44djr5GN/+cZNey2B3xD6JdJQQx7UcCtHdKBCE09zcmWuB+Afp07tFzetE14l/U8xQw==", + "dependencies": { + "System.Memory": "4.5.4", + "System.Threading.Channels": "4.7.1" + } + }, + "RestSharp": { + "type": "Transitive", + "resolved": "106.10.1", + "contentHash": "MhR4w8LbArVaRA5T/oAR3ZnF852QXtDXRBO84GsvyYzsm7FsjXHJ+JaM8x/nR/B/OCB1WbolGH7hqMT1GZpNJw==" + }, + "runtime.native.System": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "SharpCompress": { + "type": "Transitive", + "resolved": "0.30.1", + "contentHash": "XqD4TpfyYGa7QTPzaGlMVbcecKnXy4YmYLDWrU+JIj7IuRNl7DH2END+Ll7ekWIY8o3dAMWLFDE1xdhfIWD1nw==" + }, + "Swashbuckle.AspNetCore": { + "type": "Transitive", + "resolved": "6.3.0", + "contentHash": "3TAV6JqsJF2F5e5d/tiQuW/TlzKXB/n2IcL5QR1FP8ArmLhmPkpeHiLZ3+1YnJ5840/X5ApvpRRJpM9809IjTg==", + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "3.0.0", + "Swashbuckle.AspNetCore.Swagger": "6.3.0", + "Swashbuckle.AspNetCore.SwaggerGen": "6.3.0", + "Swashbuckle.AspNetCore.SwaggerUI": "6.3.0" + } + }, + "Swashbuckle.AspNetCore.Swagger": { + "type": "Transitive", + "resolved": "6.3.0", + "contentHash": "+taHh7kowNF+tQo9a82avwDtfqhAC82jTZTqZwypDpauPvwavyVtJ7+ERxE+yDb6U/nOcMicMmDAGbqbJ2Pc+Q==", + "dependencies": { + "Microsoft.OpenApi": "1.2.3" + } + }, + "Swashbuckle.AspNetCore.SwaggerGen": { + "type": "Transitive", + "resolved": "6.3.0", + "contentHash": "8PRLtqCXTIfc+W/pcyab8GqHzHuFRZ3L+9/fix/ssVknwy/pbgkOqgzq9DGWfKz+MZReIp5ajZLR7bXioDdacQ==", + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.3.0" + } + }, + "Swashbuckle.AspNetCore.SwaggerUI": { + "type": "Transitive", + "resolved": "6.3.0", + "contentHash": "OmVLGzyeNBFUAx6E/bqrZW4uxfv9q2MtegYzeHv5Dj8N34ry8104d6OcyRIV4BhwHBSFD1rMvDlPciguFMtQ5w==" + }, + "System.Buffers": { + "type": "Transitive", + "resolved": "4.5.1", + "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" + }, + "System.Collections": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Collections.Immutable": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Collections.NonGeneric": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "prtjIEMhGUnQq6RnPEYLpFt8AtLbp9yq2zxOSrY7KJJZrw25Fi97IzBqY7iqssbM61Ek5b8f3MG/sG1N2sN5KA==", + "dependencies": { + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Collections.Specialized": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "Epx8PoVZR0iuOnJJDzp7pWvdfMMOAvpUo95pC4ScH2mJuXkKA2Y4aR3cG9qt2klHgSons1WFh4kcGW7cSXvrxg==", + "dependencies": { + "System.Collections.NonGeneric": "4.3.0", + "System.Globalization": "4.3.0", + "System.Globalization.Extensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.ComponentModel": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VyGn1jGRZVfxnh8EdvDCi71v3bMXrsu8aYJOwoV7SNDLVhiEqwP86pPMyRGsDsxhXAm2b3o9OIqeETfN5qfezw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.Annotations": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dMkqfy2el8A8/I76n2Hi1oBFEbG1SfxD2l5nhwXV3XjlnOmwxJlQbYpJH4W51odnU9sARCSAgv7S3CyAFMkpYg==" + }, + "System.ComponentModel.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "j8GUkCpM8V4d4vhLIIoBLGey2Z5bCkMVNjEZseyAlm4n5arcsJOeI3zkUP+zvZgzsbLTYh4lYeP/ZD/gdIAPrw==", + "dependencies": { + "System.ComponentModel": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.ComponentModel.TypeConverter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "16pQ6P+EdhcXzPiEK4kbA953Fu0MNG2ovxTZU81/qsCd1zPRsKc3uif5NgvllCY598k6bI0KUyKW8fanlfaDQg==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Collections.NonGeneric": "4.3.0", + "System.Collections.Specialized": "4.3.0", + "System.ComponentModel": "4.3.0", + "System.ComponentModel.Primitives": "4.3.0", + "System.Globalization": "4.3.0", + "System.Linq": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Configuration.ConfigurationManager": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "gWwQv/Ug1qWJmHCmN17nAbxJYmQBM/E94QxKLksvUiiKB1Ld3Sc/eK1lgmbSjDFxkQhVuayI/cGFZhpBSodLrg==", + "dependencies": { + "System.Security.Cryptography.ProtectedData": "4.4.0" + } + }, + "System.Diagnostics.Debug": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Diagnostics.DiagnosticSource": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "frQDfv0rl209cKm1lnwTgFPzNigy2EKk1BS3uAvHvlBVKe5cymGyHO+Sj+NLv5VF/AhHsqPIUUwya5oV4CHMUw==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Diagnostics.EventLog": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "lcyUiXTsETK2ALsZrX+nWuHSIQeazhqPphLfaRxzdGaG93+0kELqpgEHtwWOlQe7+jSFnKwaCAgL4kjeZCQJnw==" + }, + "System.Diagnostics.TraceSource": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VnYp1NxGx8Ww731y2LJ1vpfb/DKVNKEZ8Jsh5SgQTZREL/YpWRArgh9pI8CDLmgHspZmLL697CaLvH85qQpRiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0", + "runtime.native.System": "4.3.0" + } + }, + "System.Dynamic.Runtime": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "SNVi1E/vfWUAs/WYKhE9+qlS6KqK0YVhnlT0HQtr8pMIA8YX3lwy3uPMownDwdYISBdmAF/2holEIldVp85Wag==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Linq": "4.3.0", + "System.Linq.Expressions": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Globalization": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Globalization.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "System.Globalization": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0" + } + }, + "System.IO": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.Abstractions": { + "type": "Transitive", + "resolved": "16.1.25", + "contentHash": "PZ3y8SgASqtIlJyhss47FGLwBMXMWvxL9MKk9dEqIZT/vrfQr5yhKwdJ/vNm2H8FqsWJoxu0P12nYGXFj0irkA==" + }, + "System.IO.FileSystem": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.IO.FileSystem.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.IO.Pipelines": { + "type": "Transitive", + "resolved": "6.0.2", + "contentHash": "cb5OfQjnz+zjpJJei+f3QYK7+wWZrDdNHf3DykO6QCacpNZ80tuNgq1DC2kqlrjfEu+cMUTvulxPIrCMbBkjqg==" + }, + "System.Linq": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0" + } + }, + "System.Linq.Expressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Linq": "4.3.0", + "System.ObjectModel": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Emit.Lightweight": "4.3.0", + "System.Reflection.Extensions": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Reflection.TypeExtensions": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Memory": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==" + }, + "System.ObjectModel": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Threading": "4.3.0" + } + }, + "System.Reactive": { + "type": "Transitive", + "resolved": "4.0.0", + "contentHash": "yaVAxT2Yl28p9+DupGwj2oPbIOYZUQimOQ+n7N7vML2oofIRj9BmcfD7DHc6FLrNah65EigOgG6U9VnwWEyz5g==", + "dependencies": { + "System.Runtime.InteropServices.WindowsRuntime": "4.3.0" + } + }, + "System.Reactive.Linq": { + "type": "Transitive", + "resolved": "4.0.0", + "contentHash": "LaYTtUoOtQJ7SBb1/tfM/kcIHy0dsA7E+31/739HyTyGg9uSGzP/fV4VFI3/Atg7MQiks+JbEAwcoTDJY0pJoA==", + "dependencies": { + "System.Reactive": "4.0.0" + } + }, + "System.Reflection": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.IO": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "228FG0jLcIwTVJyz8CLFKueVqQK36ANazUManGaJHkO0icjiIypKW7YLWLIWahyIkdh5M7mV2dJepllLyA1SKg==", + "dependencies": { + "System.IO": "4.3.0", + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.ILGeneration": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Emit.Lightweight": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Reflection.Emit.ILGeneration": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.Metadata": { + "type": "Transitive", + "resolved": "1.6.0", + "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ==" + }, + "System.Reflection.Primitives": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Reflection.TypeExtensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "7u6ulLcZbyxB5Gq0nMkQttcdBTx57ibzw+4IOXEfR+sXYQoHvjW5LTLyNr8O22UIMrqYbchJQJnos4eooYzYJA==", + "dependencies": { + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Resources.ResourceManager": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Globalization": "4.3.0", + "System.Reflection": "4.3.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0" + } + }, + "System.Runtime.CompilerServices.Unsafe": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + }, + "System.Runtime.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.Handles": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Runtime.InteropServices": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Reflection": "4.3.0", + "System.Reflection.Primitives": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Handles": "4.3.0" + } + }, + "System.Runtime.InteropServices.WindowsRuntime": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "J4GUi3xZQLUBasNwZnjrffN8i5wpHrBtZoLG+OhRyGo/+YunMRWWtwoMDlUAIdmX0uRfpHIBDSV6zyr3yf00TA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Security.AccessControl": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "5.0.0", + "System.Security.Principal.Windows": "5.0.0" + } + }, + "System.Security.Cryptography.ProtectedData": { + "type": "Transitive", + "resolved": "4.4.0", + "contentHash": "cJV7ScGW7EhatRsjehfvvYVBvtiSMKgN8bOVI0bQhnF5bU7vnHVIsH49Kva7i7GWaWYvmEzkYVk1TC+gZYBEog==" + }, + "System.Security.Principal.Windows": { + "type": "Transitive", + "resolved": "5.0.0", + "contentHash": "t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==" + }, + "System.Text.Encoding": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Text.Encoding.Extensions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0", + "System.Text.Encoding": "4.3.0" + } + }, + "System.Text.Encodings.Web": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Text.Json": { + "type": "Transitive", + "resolved": "6.0.0", + "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encodings.Web": "6.0.0" + } + }, + "System.Text.RegularExpressions": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", + "dependencies": { + "System.Runtime": "4.3.0" + } + }, + "System.Threading": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", + "dependencies": { + "System.Runtime": "4.3.0", + "System.Threading.Tasks": "4.3.0" + } + }, + "System.Threading.Channels": { + "type": "Transitive", + "resolved": "4.7.1", + "contentHash": "6akRtHK/wab3246t4p5v3HQrtQk8LboOt5T4dtpNgsp3zvDeM4/Gx8V12t0h+c/W9/enUrilk8n6EQqdQorZAA==" + }, + "System.Threading.Tasks": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", + "dependencies": { + "Microsoft.NETCore.Platforms": "1.1.0", + "Microsoft.NETCore.Targets": "1.1.0", + "System.Runtime": "4.3.0" + } + }, + "System.Threading.Tasks.Extensions": { + "type": "Transitive", + "resolved": "4.5.4", + "contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==" + }, + "System.Xml.ReaderWriter": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.IO.FileSystem": "4.3.0", + "System.IO.FileSystem.Primitives": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Runtime.InteropServices": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Text.Encoding.Extensions": "4.3.0", + "System.Text.RegularExpressions": "4.3.0", + "System.Threading.Tasks": "4.3.0", + "System.Threading.Tasks.Extensions": "4.3.0" + } + }, + "System.Xml.XmlDocument": { + "type": "Transitive", + "resolved": "4.3.0", + "contentHash": "lJ8AxvkX7GQxpC6GFCeBj8ThYVyQczx2+f/cWHJU8tjS7YfI6Cv6bon70jVEgs2CiFbmmM8b9j1oZVx0dSI2Ww==", + "dependencies": { + "System.Collections": "4.3.0", + "System.Diagnostics.Debug": "4.3.0", + "System.Globalization": "4.3.0", + "System.IO": "4.3.0", + "System.Resources.ResourceManager": "4.3.0", + "System.Runtime": "4.3.0", + "System.Runtime.Extensions": "4.3.0", + "System.Text.Encoding": "4.3.0", + "System.Threading": "4.3.0", + "System.Xml.ReaderWriter": "4.3.0" + } + }, + "xunit.abstractions": { + "type": "Transitive", + "resolved": "2.0.3", + "contentHash": "pot1I4YOxlWjIb5jmwvvQNbTrZ3lJQ+jUGkGjWE3hEFM0l5gOnBWS+H3qsex68s5cO52g+44vpGzhAt+42vwKg==" + }, + "xunit.analyzers": { + "type": "Transitive", + "resolved": "0.10.0", + "contentHash": "4/IDFCJfIeg6bix9apmUtIMwvOsiwqdEexeO/R2D4GReIGPLIRODTpId/l4LRSrAJk9lEO3Zx1H0Zx6uohJDNg==" + }, + "xunit.assert": { + "type": "Transitive", + "resolved": "2.4.1", + "contentHash": "O/Oe0BS5RmSsM+LQOb041TzuPo5MdH2Rov+qXGS37X+KFG1Hxz7kopYklM5+1Y+tRGeXrOx5+Xne1RuqLFQoyQ==", + "dependencies": { + "NETStandard.Library": "1.6.1" + } + }, + "xunit.core": { + "type": "Transitive", + "resolved": "2.4.1", + "contentHash": "Zsj5OMU6JasNGERXZy8s72+pcheG6Q15atS5XpZXqAtULuyQiQ6XNnUsp1gyfC6WgqScqMvySiEHmHcOG6Eg0Q==", + "dependencies": { + "xunit.extensibility.core": "[2.4.1]", + "xunit.extensibility.execution": "[2.4.1]" + } + }, + "xunit.extensibility.core": { + "type": "Transitive", + "resolved": "2.4.1", + "contentHash": "yKZKm/8QNZnBnGZFD9SewkllHBiK0DThybQD/G4PiAmQjKtEZyHi6ET70QPU9KtSMJGRYS6Syk7EyR2EVDU4Kg==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.abstractions": "2.0.3" + } + }, + "xunit.extensibility.execution": { + "type": "Transitive", + "resolved": "2.4.1", + "contentHash": "7e/1jqBpcb7frLkB6XDrHCGXAbKN4Rtdb88epYxCSRQuZDRW8UtTfdTEVpdTl8s4T56e07hOBVd4G0OdCxIY2A==", + "dependencies": { + "NETStandard.Library": "1.6.1", + "xunit.extensibility.core": "[2.4.1]" + } + }, + "monai.deploy.workflowmanager": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Karambolo.Extensions.Logging.File": "3.2.1", + "Microsoft.AspNetCore.Mvc.NewtonsoftJson": "6.0.3", + "Microsoft.AspNetCore.Mvc.Versioning": "5.0.0", + "Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer": "5.0.0", + "Microsoft.EntityFrameworkCore": "6.0.3", + "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", + "Microsoft.Extensions.Hosting": "6.0.1", + "Microsoft.Extensions.Logging": "6.0.0", + "Microsoft.Extensions.Logging.Console": "6.0.0", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.WorkflowManager.Common": "1.0.0", + "Monai.Deploy.WorkflowManager.Configuration": "1.0.0", + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Database": "1.0.0", + "Monai.Deploy.WorkflowManager.Logging": "1.0.0", + "Monai.Deploy.WorkflowManager.PayloadListener": "1.0.0", + "Newtonsoft.Json": "13.0.1", + "Swashbuckle.AspNetCore": "6.3.0" + } + }, + "monai.deploy.workflowmanager.common": { + "type": "Project", + "dependencies": { + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Database": "1.0.0" + } + }, + "monai.deploy.workflowmanager.configuration": { + "type": "Project", + "dependencies": { + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.Storage": "0.1.0-rc0019", + "Newtonsoft.Json": "13.0.1", + "System.IO.Abstractions": "16.1.25" + } + }, + "monai.deploy.workflowmanager.contracts": { + "type": "Project", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.1.141", + "Microsoft.Extensions.Configuration": "6.0.1", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "MongoDB.Bson": "2.15.0", + "Newtonsoft.Json": "13.0.1" + } + }, + "monai.deploy.workflowmanager.database": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Microsoft.Extensions.Logging.Abstractions": "6.0.1", + "Microsoft.Extensions.Options": "6.0.0", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Logging": "1.0.0", + "MongoDB.Bson": "2.15.0", + "MongoDB.Driver": "2.15.0" + } + }, + "monai.deploy.workflowmanager.logging": { + "type": "Project", + "dependencies": { + "Karambolo.Extensions.Logging.File": "3.2.1", + "Microsoft.Extensions.Logging.Abstractions": "6.0.1" + } + }, + "monai.deploy.workflowmanager.payloadlistener": { + "type": "Project", + "dependencies": { + "Ardalis.GuardClauses": "4.0.1", + "Karambolo.Extensions.Logging.File": "3.2.1", + "Microsoft.Extensions.Hosting.Abstractions": "6.0.0", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.Storage": "0.1.0-rc0019", + "Monai.Deploy.WorkflowManager.Common": "1.0.0", + "Monai.Deploy.WorkflowManager.Configuration": "1.0.0", + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Logging": "1.0.0", + "Monai.Deploy.WorkloadManager.WorkfowExecuter": "1.0.0" + } + }, + "monai.deploy.workloadmanager.workfowexecuter": { + "type": "Project", + "dependencies": { + "AWSSDK.SecurityToken": "3.7.1.141", + "Ardalis.GuardClauses": "4.0.1", + "Monai.Deploy.Messaging": "0.1.0-rc0033", + "Monai.Deploy.Storage": "0.1.0-rc0019", + "Monai.Deploy.WorkflowManager.Configuration": "1.0.0", + "Monai.Deploy.WorkflowManager.Contracts": "1.0.0", + "Monai.Deploy.WorkflowManager.Database": "1.0.0", + "Monai.Deploy.WorkflowManager.Logging": "1.0.0", + "Newtonsoft.Json": "13.0.1" + } + } + } + } } \ No newline at end of file diff --git a/tests/WorkflowManager.Tests/Controllers/WorkflowControllerTests.cs b/tests/WorkflowManager.Tests/Controllers/WorkflowControllerTests.cs deleted file mode 100644 index 654964df7..000000000 --- a/tests/WorkflowManager.Tests/Controllers/WorkflowControllerTests.cs +++ /dev/null @@ -1,177 +0,0 @@ -// SPDX-FileCopyrightText: © 2021-2022 MONAI Consortium -// SPDX-License-Identifier: Apache License 2.0 - -using System; -using System.Threading.Tasks; -using FluentAssertions; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; -using Monai.Deploy.WorkflowManager.Common.Interfaces; -using Monai.Deploy.WorkflowManager.Contracts.Models; -using Monai.Deploy.WorkflowManager.Contracts.Responses; -using Monai.Deploy.WorkloadManager.Controllers; -using Moq; -using Xunit; - -namespace Monai.Deploy.WorkflowManager.Test.Controllers -{ - public class WorkflowsControllerTests - { - private readonly Mock _mockWorkflowService; - private readonly Mock> _mockLogger; - - public WorkflowsControllerTests() - { - _mockWorkflowService = new(); - _mockLogger = new(); - } - - [Fact] - public async Task GetAsync_ValidRequest_ShouldReturnWorkflow() - { - var mockWorkflow = new WorkflowRevision - { - WorkflowId = Guid.NewGuid().ToString(), - Revision = 1, - Workflow = new() - { - Description = "Workflow Description", - Name = "Workflow 1", - Version = "1", - InformaticsGateway = new() - { - AeTitle = "The AeTitle", - }, - Tasks = new TaskObject[] - { - new() - } - } - }; - - var mockWorkflowId = Guid.NewGuid().ToString(); - - _mockWorkflowService - .Setup(x => x.GetAsync(It.IsAny())) - .ReturnsAsync(mockWorkflow); - - var sut = BuildSut(); - - var response = await sut.GetAsync(mockWorkflowId); - - response.Should().BeOfType(); - - var resultAsOkObjectResult = response as OkObjectResult; - resultAsOkObjectResult!.Value.Should().BeOfType(); - resultAsOkObjectResult.Value.Should().BeEquivalentTo(mockWorkflow); - - _mockWorkflowService.Verify(x => x.GetAsync(It.Is(y => y == mockWorkflowId)), Times.Once); - _mockWorkflowService.VerifyNoOtherCalls(); - } - - [Fact] - public async Task GetAsync_WorkflowIdIsNullOrEmpty_ShouldReturnBadRequestProblemDetails() - { - var mockWorkflow = new WorkflowRevision - { - WorkflowId = Guid.NewGuid().ToString(), - Revision = 1, - Workflow = new() - { - Description = "Workflow Description", - Name = "Workflow 1", - Version = "1", - InformaticsGateway = new() - { - AeTitle = "The AeTitle", - }, - Tasks = new TaskObject[] - { - new() - } - } - }; - - _mockWorkflowService - .Setup(x => x.GetAsync(It.IsAny())) - .ReturnsAsync(mockWorkflow); - - var sut = BuildSut(); - - var response = await sut.GetAsync(null); - - response.Should().BeOfType(); - - _mockWorkflowService.VerifyNoOtherCalls(); - } - - [Fact] - public async Task CreateAsync_ValidRequest_ShouldReturn201Created() - { - var mockRequest = new Workflow - { - Description = "Workflow Description", - Name = "Workflow 1", - Version = "1", - InformaticsGateway = new() - { - AeTitle = "The AeTitle", - DataOrigins = new[] { "test 1", "test 2" }, - ExportDestinations = new[] { "test 1", "test 2" } - }, - Tasks = new TaskObject[] - { - new() - { - Id = "123", - Description = "Description", - Type = "type", - Args = new(), - Ref = "ref" - } - } - }; - - var workflowId = Guid.NewGuid().ToString(); - var mockResponse = new CreateWorkflowResponse(workflowId); - - _mockWorkflowService - .Setup(x => x.CreateAsync(It.IsAny())) - .ReturnsAsync(workflowId); - - var sut = BuildSut(); - - var response = await sut.CreateAsync(mockRequest); - - response.Should().BeOfType(); - - var resultAsOkObjectResult = response as ObjectResult; - resultAsOkObjectResult!.Value.Should().BeOfType(); - resultAsOkObjectResult.Value.Should().BeEquivalentTo(mockResponse); - - _mockWorkflowService.Verify(x => x.CreateAsync(It.IsAny()), Times.Once); - _mockWorkflowService.VerifyNoOtherCalls(); - } - - [Fact] - public async Task CreateAsync_InvalidRequest_ShouldReturnBadRequestProblemDetails() - { - var mockRequest = new Workflow - { - Name = "", // Invalid name - InformaticsGateway = new InformaticsGateway(), - Tasks = new TaskObject[] { } - }; - - var sut = BuildSut(); - - var response = await sut.CreateAsync(mockRequest); - - response.Should().BeOfType(); - - _mockWorkflowService.VerifyNoOtherCalls(); - } - - private WorkflowsController BuildSut() => new(_mockWorkflowService.Object, _mockLogger.Object); - } -} diff --git a/src/coverlet.runsettings b/tests/coverlet.runsettings similarity index 100% rename from src/coverlet.runsettings rename to tests/coverlet.runsettings diff --git a/src/run-tests.sh b/tests/run-tests.sh old mode 100755 new mode 100644 similarity index 94% rename from src/run-tests.sh rename to tests/run-tests.sh index 5bc12e371..c5caaf8ae --- a/src/run-tests.sh +++ b/tests/run-tests.sh @@ -12,11 +12,10 @@ #!/bin/bash SCRIPT_DIR=$(dirname "$(readlink -f "$0")") -TOP="$(git rev-parse --show-toplevel 2> /dev/null || readlink -f ${SCRIPT_DIR}/..)" +TOP="$(git rev-parse --show-toplevel 2>/dev/null || readlink -f ${SCRIPT_DIR}/..)" RESULTS_DIR=$SCRIPT_DIR/results VERBOSITY=normal - if [ "$CI" = "true" ]; then VERBOSITY=minimal fi @@ -33,7 +32,6 @@ if [ ! -z ${CI} ]; then sudo apt-get install -y dcmtk sqlite3 fi - if [ -d "$RESULTS_DIR" ]; then rm -r "$RESULTS_DIR" fi