From 5f7d1317ad3acd75673fd6d3fc79285e7ab12bf9 Mon Sep 17 00:00:00 2001 From: Brandon Ording Date: Fri, 1 Mar 2024 19:13:35 -0500 Subject: [PATCH] Update to NServiceBus 9 --- src/Directory.Packages.props | 38 +++++++++---------- .../ScenarioWithEndpointBehaviorExtensions.cs | 4 +- .../TestSupport/AcceptanceTest.cs | 7 +--- .../ServiceControlComponentRunner.cs | 5 ++- .../AcceptanceTest.cs | 4 +- .../ServiceControlComponentRunner.cs | 5 ++- .../AcceptanceTest.cs | 7 +--- .../ServiceControlComponentRunner.cs | 7 ++-- .../When_querying_disconnected_count.cs | 9 ++--- .../AcceptanceTest.cs | 4 +- .../ServiceControlComponentRunner.cs | 13 ++++--- .../ConnectionFactory.cs | 1 - .../TransportTestFixture.cs | 5 +-- 13 files changed, 51 insertions(+), 58 deletions(-) diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index fa28b0eed7..d8ceb6305d 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -16,7 +16,7 @@ - + @@ -27,25 +27,25 @@ - - - - - - - - - + + + + + + + + + - - - - - - - - - + + + + + + + + + diff --git a/src/ServiceControl.AcceptanceTesting/ScenarioWithEndpointBehaviorExtensions.cs b/src/ServiceControl.AcceptanceTesting/ScenarioWithEndpointBehaviorExtensions.cs index fa22461600..16b3355faa 100644 --- a/src/ServiceControl.AcceptanceTesting/ScenarioWithEndpointBehaviorExtensions.cs +++ b/src/ServiceControl.AcceptanceTesting/ScenarioWithEndpointBehaviorExtensions.cs @@ -64,7 +64,7 @@ public IScenarioWithEndpointBehavior Done(Func doneCri // If sequence is done but test is not finished, small delay to avoid tight loop check await Task.Delay(250); - // If sequence is not finished immediately return false, since each step will enforce delays + // If sequence is not finished immediately return false, since each step will enforce delays return false; }); } @@ -127,7 +127,7 @@ public override Task ComponentsStarted(CancellationToken cancellationToken = def return Task.CompletedTask; } - public override async Task Stop() + public override async Task Stop(CancellationToken cancellationToken = default) { if (checkTask == null) { diff --git a/src/ServiceControl.AcceptanceTests/TestSupport/AcceptanceTest.cs b/src/ServiceControl.AcceptanceTests/TestSupport/AcceptanceTest.cs index 0af5dcd108..d67cf6cd82 100644 --- a/src/ServiceControl.AcceptanceTests/TestSupport/AcceptanceTest.cs +++ b/src/ServiceControl.AcceptanceTests/TestSupport/AcceptanceTest.cs @@ -38,11 +38,8 @@ protected AcceptanceTest() public Settings Settings => serviceControlRunnerBehavior.Settings; public Func HttpMessageHandlerFactory => serviceControlRunnerBehavior.HttpMessageHandlerFactory; - [OneTimeSetUp] - public static void OneTimeSetup() - { - Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); - } + //[OneTimeSetUp] + //public static void OneTimeSetup() => Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); [SetUp] public void Setup() diff --git a/src/ServiceControl.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs b/src/ServiceControl.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs index 7c655e25ef..edd402c8f5 100644 --- a/src/ServiceControl.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs +++ b/src/ServiceControl.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs @@ -4,6 +4,7 @@ using System.IO; using System.Net.Http; using System.Text.Json; + using System.Threading; using System.Threading.Tasks; using AcceptanceTesting; using Infrastructure.DomainEvents; @@ -165,11 +166,11 @@ async Task InitializeServiceControl(ScenarioContext context) } } - public override async Task Stop() + public override async Task Stop(CancellationToken cancellationToken = default) { using (new DiagnosticTimer($"Test TearDown for {instanceName}")) { - await host.StopAsync(); + await host.StopAsync(cancellationToken); HttpClient.Dispose(); await host.DisposeAsync(); await persistenceToUse.Cleanup(); diff --git a/src/ServiceControl.Audit.AcceptanceTests/AcceptanceTest.cs b/src/ServiceControl.Audit.AcceptanceTests/AcceptanceTest.cs index cb0c61ed62..b417ae1e0c 100644 --- a/src/ServiceControl.Audit.AcceptanceTests/AcceptanceTest.cs +++ b/src/ServiceControl.Audit.AcceptanceTests/AcceptanceTest.cs @@ -36,8 +36,8 @@ protected AcceptanceTest() // TODO Check why this is necessary and if it can be removed protected IServiceProvider ServiceProvider => serviceControlRunnerBehavior.ServiceProvider; - [OneTimeSetUp] - public static void OneTimeSetup() => Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); + //[OneTimeSetUp] + //public static void OneTimeSetup() => Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); [SetUp] public void Setup() diff --git a/src/ServiceControl.Audit.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs b/src/ServiceControl.Audit.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs index df263aa1cd..341fb9f244 100644 --- a/src/ServiceControl.Audit.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs +++ b/src/ServiceControl.Audit.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs @@ -6,6 +6,7 @@ namespace ServiceControl.Audit.AcceptanceTests.TestSupport using System.IO; using System.Net.Http; using System.Text.Json; + using System.Threading; using System.Threading.Tasks; using AcceptanceTesting; using Auditing; @@ -179,11 +180,11 @@ async Task InitializeServiceControl(ScenarioContext context) } } - public override async Task Stop() + public override async Task Stop(CancellationToken cancellationToken = default) { using (new DiagnosticTimer($"Test TearDown for {instanceName}")) { - await host.StopAsync(); + await host.StopAsync(cancellationToken); HttpClient.Dispose(); await host.DisposeAsync(); } diff --git a/src/ServiceControl.Monitoring.AcceptanceTests/AcceptanceTest.cs b/src/ServiceControl.Monitoring.AcceptanceTests/AcceptanceTest.cs index bc0e453423..5ae43dfd98 100644 --- a/src/ServiceControl.Monitoring.AcceptanceTests/AcceptanceTest.cs +++ b/src/ServiceControl.Monitoring.AcceptanceTests/AcceptanceTest.cs @@ -31,11 +31,8 @@ protected AcceptanceTest() public HttpClient HttpClient => serviceControlRunnerBehavior.HttpClient; public JsonSerializerOptions SerializerOptions => serviceControlRunnerBehavior.SerializerOptions; - [OneTimeSetUp] - public static void OneTimeSetup() - { - Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); - } + //[OneTimeSetUp] + //public static void OneTimeSetup() => Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); [SetUp] public void Setup() diff --git a/src/ServiceControl.Monitoring.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs b/src/ServiceControl.Monitoring.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs index fed8cf7b28..0dd339a093 100644 --- a/src/ServiceControl.Monitoring.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs +++ b/src/ServiceControl.Monitoring.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs @@ -1,10 +1,10 @@ namespace ServiceControl.Monitoring.AcceptanceTests.TestSupport { using System; - using System.Configuration; using System.IO; using System.Net.Http; using System.Text.Json; + using System.Threading; using System.Threading.Tasks; using AcceptanceTesting; using Infrastructure; @@ -19,7 +19,6 @@ namespace ServiceControl.Monitoring.AcceptanceTests.TestSupport using NServiceBus.AcceptanceTesting.Support; using NServiceBus.Configuration.AdvancedExtensibility; using NServiceBus.Logging; - using TestHelper; class ServiceControlComponentRunner : ComponentRunner, IAcceptanceTestInfrastructureProvider { @@ -148,11 +147,11 @@ async Task InitializeServiceControl(ScenarioContext context) } } - public override async Task Stop() + public override async Task Stop(CancellationToken cancellationToken = default) { using (new DiagnosticTimer($"Test TearDown for {instanceName}")) { - await host.StopAsync(); + await host.StopAsync(cancellationToken); HttpClient.Dispose(); await host.DisposeAsync(); } diff --git a/src/ServiceControl.Monitoring.AcceptanceTests/When_querying_disconnected_count.cs b/src/ServiceControl.Monitoring.AcceptanceTests/When_querying_disconnected_count.cs index 75c4747997..835fec4d94 100644 --- a/src/ServiceControl.Monitoring.AcceptanceTests/When_querying_disconnected_count.cs +++ b/src/ServiceControl.Monitoring.AcceptanceTests/When_querying_disconnected_count.cs @@ -1,7 +1,6 @@ namespace ServiceControl.Monitoring.AcceptanceTests.Tests { using System; - using System.Configuration; using System.Threading.Tasks; using NServiceBus; using NServiceBus.AcceptanceTesting; @@ -25,17 +24,17 @@ public async Task Should_report_via_http() await Define(ctx => context = ctx) .WithEndpoint(b => b.CustomConfig(endpointConfig => endpointConfig.EnableMetrics().SendMetricDataToServiceControl(Settings.DEFAULT_ENDPOINT_NAME, TimeSpan.FromMilliseconds(200), "First")) - .ToCreateInstance(endpointConfig => Endpoint.Create(endpointConfig), async startableEndpoint => + .ToCreateInstance(endpointConfig => Endpoint.Create(endpointConfig), async (startableEndpoint, cancellationToken) => { - context.FirstInstance = await startableEndpoint.Start(); + context.FirstInstance = await startableEndpoint.Start(cancellationToken); return context.FirstInstance; })) .WithEndpoint(b => b.CustomConfig(endpointConfig => endpointConfig.EnableMetrics().SendMetricDataToServiceControl(Settings.DEFAULT_ENDPOINT_NAME, TimeSpan.FromMilliseconds(200), "Second")) - .ToCreateInstance(endpointConfig => Endpoint.Create(endpointConfig), async startableEndpoint => + .ToCreateInstance(endpointConfig => Endpoint.Create(endpointConfig), async (startableEndpoint, cancellationToken) => { - context.SecondInstance = await startableEndpoint.Start(); + context.SecondInstance = await startableEndpoint.Start(cancellationToken); return context.SecondInstance; })) diff --git a/src/ServiceControl.MultiInstance.AcceptanceTests/AcceptanceTest.cs b/src/ServiceControl.MultiInstance.AcceptanceTests/AcceptanceTest.cs index 9c503877d5..2437cc6632 100644 --- a/src/ServiceControl.MultiInstance.AcceptanceTests/AcceptanceTest.cs +++ b/src/ServiceControl.MultiInstance.AcceptanceTests/AcceptanceTest.cs @@ -36,8 +36,8 @@ protected AcceptanceTest() public Dictionary SerializerOptions => serviceControlRunnerBehavior.SerializerOptions; public Dictionary SettingsPerInstance => serviceControlRunnerBehavior.SettingsPerInstance; - [OneTimeSetUp] - public static void OneTimeSetup() => Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); + //[OneTimeSetUp] + //public static void OneTimeSetup() => Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); [SetUp] public void Setup() diff --git a/src/ServiceControl.MultiInstance.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs b/src/ServiceControl.MultiInstance.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs index 5ea284699d..e8e4f833d3 100644 --- a/src/ServiceControl.MultiInstance.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs +++ b/src/ServiceControl.MultiInstance.AcceptanceTests/TestSupport/ServiceControlComponentRunner.cs @@ -6,6 +6,7 @@ namespace ServiceControl.MultiInstance.AcceptanceTests.TestSupport using System.Net.Http; using System.Reflection; using System.Text.Json; + using System.Threading; using System.Threading.Tasks; using AcceptanceTesting; using Audit.AcceptanceTests; @@ -16,11 +17,11 @@ namespace ServiceControl.MultiInstance.AcceptanceTests.TestSupport using NServiceBus.AcceptanceTesting; using NServiceBus.AcceptanceTesting.Support; using ServiceBus.Management.Infrastructure.Settings; - using EndpointConfiguration = NServiceBus.EndpointConfiguration; + using AuditInstanceSettings = ServiceControl.Audit.Infrastructure.Settings.Settings; using AuditInstanceTestsSupport = ServiceControl.Audit.AcceptanceTests.TestSupport; - using PrimaryInstanceTestsSupport = ServiceControl.AcceptanceTests.TestSupport; + using EndpointConfiguration = NServiceBus.EndpointConfiguration; using PrimaryInstanceSettings = ServiceBus.Management.Infrastructure.Settings.Settings; - using AuditInstanceSettings = ServiceControl.Audit.Infrastructure.Settings.Settings; + using PrimaryInstanceTestsSupport = ServiceControl.AcceptanceTests.TestSupport; class ServiceControlComponentRunner : ComponentRunner, IAcceptanceTestInfrastructureProviderMultiInstance { @@ -140,10 +141,10 @@ public async Task Initialize(RunDescriptor run) SerializerOptions[PrimaryInstanceSettings.DEFAULT_SERVICE_NAME] = primaryInstanceComponentRunner.SerializerOptions; } - public override async Task Stop() + public override async Task Stop(CancellationToken cancellationToken = default) { - await auditInstanceComponentRunner.Stop(); - await primaryInstanceComponentRunner.Stop(); + await auditInstanceComponentRunner.Stop(cancellationToken); + await primaryInstanceComponentRunner.Stop(cancellationToken); } ITransportIntegration transportToUse; diff --git a/src/ServiceControl.Transports.RabbitMQ/ConnectionFactory.cs b/src/ServiceControl.Transports.RabbitMQ/ConnectionFactory.cs index 0ea69071fb..f0fe35fc6e 100644 --- a/src/ServiceControl.Transports.RabbitMQ/ConnectionFactory.cs +++ b/src/ServiceControl.Transports.RabbitMQ/ConnectionFactory.cs @@ -45,7 +45,6 @@ public ConnectionFactory(string endpointName, ConnectionConfiguration connection Password = connectionConfiguration.Password, RequestedHeartbeat = heartbeatInterval ?? connectionConfiguration.RequestedHeartbeat, NetworkRecoveryInterval = networkRecoveryInterval ?? connectionConfiguration.RetryDelay, - UseBackgroundThreadsForIO = true }; connectionFactory.Ssl.ServerName = connectionConfiguration.Host; diff --git a/src/ServiceControl.Transports.Tests/TransportTestFixture.cs b/src/ServiceControl.Transports.Tests/TransportTestFixture.cs index 0fa049e678..b3f910cab1 100644 --- a/src/ServiceControl.Transports.Tests/TransportTestFixture.cs +++ b/src/ServiceControl.Transports.Tests/TransportTestFixture.cs @@ -6,7 +6,6 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; - using NServiceBus.AcceptanceTesting; using NServiceBus.AcceptanceTesting.Customization; using NServiceBus.Transport; using NUnit.Framework; @@ -16,8 +15,8 @@ [TestFixture] class TransportTestFixture { - [OneTimeSetUp] - public static void OneTimeSetup() => Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); + //[OneTimeSetUp] + //public static void OneTimeSetup() => Scenario.GetLoggerFactory = ctx => new StaticLoggerFactory(ctx); [SetUp] public virtual async Task Setup()