diff --git a/global.json b/global.json
index 2134ed94..f72210ca 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "8.0.400",
+ "version": "10.0.100",
"rollForward": "latestFeature"
}
}
\ No newline at end of file
diff --git a/src/TestHelper/TestHelper.csproj b/src/TestHelper/TestHelper.csproj
index 88359f4c..b1324041 100644
--- a/src/TestHelper/TestHelper.csproj
+++ b/src/TestHelper/TestHelper.csproj
@@ -6,8 +6,11 @@
-
-
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/src/TimeoutMigrationTool.ASQ.FakeTarget/Program.cs b/src/TimeoutMigrationTool.ASQ.FakeTarget/Program.cs
index bf69a5b9..742bef05 100644
--- a/src/TimeoutMigrationTool.ASQ.FakeTarget/Program.cs
+++ b/src/TimeoutMigrationTool.ASQ.FakeTarget/Program.cs
@@ -36,11 +36,10 @@ static void SetupEndpointConfig(EndpointConfiguration endpointConfig)
endpointConfig.SendFailedMessagesTo("error");
endpointConfig.AuditProcessedMessagesTo("audit");
var transport = endpointConfig.UseTransport();
- transport.DisablePublishing();
+ transport.Routing().DisablePublishing();
transport.ConnectionString("UseDevelopmentStorage=true;");
endpointConfig.EnableInstallers();
endpointConfig.UseSerialization();
- endpointConfig.DisableFeature();
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.ASQ.FakeTarget/TimeoutMigrationTool.ASQ.FakeTarget.csproj b/src/TimeoutMigrationTool.ASQ.FakeTarget/TimeoutMigrationTool.ASQ.FakeTarget.csproj
index 3a705bea..39bd3b1a 100644
--- a/src/TimeoutMigrationTool.ASQ.FakeTarget/TimeoutMigrationTool.ASQ.FakeTarget.csproj
+++ b/src/TimeoutMigrationTool.ASQ.FakeTarget/TimeoutMigrationTool.ASQ.FakeTarget.csproj
@@ -1,14 +1,14 @@
- net8.0
+ net10.0
Exe
-
-
-
+
+
+
diff --git a/src/TimeoutMigrationTool.ASQ.IntegrationTests/TimeoutMigrationTool.ASQ.IntegrationTests.csproj b/src/TimeoutMigrationTool.ASQ.IntegrationTests/TimeoutMigrationTool.ASQ.IntegrationTests.csproj
index 02e20892..0bba11a4 100644
--- a/src/TimeoutMigrationTool.ASQ.IntegrationTests/TimeoutMigrationTool.ASQ.IntegrationTests.csproj
+++ b/src/TimeoutMigrationTool.ASQ.IntegrationTests/TimeoutMigrationTool.ASQ.IntegrationTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
diff --git a/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspAcceptanceTest.cs b/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspAcceptanceTest.cs
index adb585fa..f3907fa0 100644
--- a/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspAcceptanceTest.cs
+++ b/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspAcceptanceTest.cs
@@ -1,13 +1,15 @@
namespace TimeoutMigrationTool.Asp.AcceptanceTests
{
using System;
+ using System.Collections.Generic;
using System.IO;
using System.Linq;
+ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Azure.Storage.Blobs;
using Microsoft.Azure.Cosmos.Table;
- using NServiceBus;
+ using Newtonsoft.Json;
using NUnit.Framework;
using Particular.TimeoutMigrationTool.Asp;
using static Microsoft.Azure.Cosmos.Table.TableQuery;
@@ -72,26 +74,40 @@ public async Task TearDown()
await blobServiceClient.DeleteBlobContainerAsync(timeoutContainerName);
}
- protected void SetupPersistence(EndpointConfiguration endpointConfiguration)
- {
- var persistence = endpointConfiguration.UsePersistence();
- persistence.ConnectionString(connectionString);
-
- var timeoutPersistence = endpointConfiguration.UsePersistence();
-#pragma warning disable 618
- timeoutPersistence.CreateSchema(true);
- timeoutPersistence.TimeoutDataTableName(timeoutTableName);
- timeoutPersistence.TimeoutStateContainerName(timeoutContainerName);
- timeoutPersistence.PartitionKeyScope(PartitionKeyScope);
-#pragma warning restore 618
- }
-
protected AspTimeoutsSource CreateTimeoutStorage(string endpointNameToBeListed, int batchSize = 1024)
{
var storage = new AspTimeoutsSource(connectionString, batchSize, timeoutContainerName, endpointNameToBeListed, TimeoutTableName, tablePrefix: tableNamePrefix, partitionKeyScope: PartitionKeyScope);
return storage;
}
+ protected async Task StoreLegacyTimeout(string sourceEndpoint, string targetEndpoint, Type messageType)
+ {
+ var timeoutId = Guid.NewGuid().ToString("N");
+ var timeoutTime = DateTime.UtcNow.AddSeconds(5);
+ var stateAddress = $"{timeoutId}.state";
+ var body = Encoding.UTF8.GetBytes("{}");
+
+ var blobContainerClient = blobServiceClient.GetBlobContainerClient(timeoutContainerName);
+ await blobContainerClient.UploadBlobAsync(stateAddress, new BinaryData(body));
+
+ var timeout = new TimeoutDataEntity(timeoutTime.ToString(PartitionKeyScope), timeoutId)
+ {
+ Destination = targetEndpoint,
+ SagaId = Guid.NewGuid(),
+ StateAddress = stateAddress,
+ Time = timeoutTime,
+ OwningTimeoutManager = sourceEndpoint,
+ Headers = JsonConvert.SerializeObject(new Dictionary
+ {
+ { "NServiceBus.ContentType", "application/json" },
+ { "NServiceBus.EnclosedMessageTypes", messageType.AssemblyQualifiedName },
+ { "NServiceBus.MessageId", timeoutId }
+ })
+ };
+
+ await timeoutTable.ExecuteAsync(TableOperation.Insert(timeout));
+ }
+
protected async Task WaitUntilTheTimeoutsAreSavedInAsp(string endpoint, int numberOfEntriesThatShouldBeThere)
{
var query = new TableQuery()
@@ -152,4 +168,4 @@ public static string StorageRootDir
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToAsqMqEndToEnd.cs b/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToAsqMqEndToEnd.cs
index 5f78c0f9..bbbd5c13 100644
--- a/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToAsqMqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToAsqMqEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Asp.AcceptanceTests
+namespace TimeoutMigrationTool.Asp.AcceptanceTests
{
using NServiceBus.Features;
using NServiceBus;
@@ -23,30 +23,7 @@ public async Task Can_migrate_timeouts()
var sourceEndpoint = NServiceBus.AcceptanceTesting.Customization.Conventions.EndpointNamingConvention(typeof(AspSource));
var targetEndpoint = NServiceBus.AcceptanceTesting.Customization.Conventions.EndpointNamingConvention(typeof(AsqTarget));
- await Scenario.Define()
- .WithEndpoint(b => b.CustomConfig(ec =>
- {
- SetupPersistence(ec);
-
- ec.UseSerialization();
- })
- .When(async (session, c) =>
- {
- var delayedMessage = new DelayedMessage();
-
- var options = new SendOptions();
-
- options.DelayDeliveryWith(TimeSpan.FromSeconds(15));
- options.SetDestination(targetEndpoint);
-
- await session.Send(delayedMessage, options);
-
- await WaitUntilTheTimeoutsAreSavedInAsp(sourceEndpoint, 2);
-
- c.TimeoutSet = true;
- }))
- .Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(30));
+ await StoreLegacyTimeout(sourceEndpoint, targetEndpoint, typeof(DelayedMessage));
var context = await Scenario.Define()
// Create the legacy endpoint to forward the delayed message to the reporting endpoint
@@ -56,9 +33,7 @@ await Scenario.Define()
{
var transportConfig = ec.UseTransport();
transportConfig.ConnectionString(asqConnectionString);
- transportConfig.DisablePublishing();
-
- transportConfig.DelayedDelivery().DisableTimeoutManager();
+ transportConfig.Routing().DisablePublishing();
ec.UseSerialization();
}))
@@ -67,9 +42,7 @@ await Scenario.Define()
{
var transportConfig = ec.UseTransport();
transportConfig.ConnectionString(asqConnectionString);
- transportConfig.DisablePublishing();
-
- transportConfig.DelayedDelivery().DisableTimeoutManager();
+ transportConfig.Routing().DisablePublishing();
ec.UseSerialization();
})
@@ -83,7 +56,7 @@ await Scenario.Define()
await migrationRunner.Run(DateTime.Now.AddDays(-10), EndpointFilter.SpecificEndpoint(sourceEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
@@ -140,4 +113,4 @@ public class DelayedMessage : IMessage
{
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToRabbitMqEndToEnd.cs b/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToRabbitMqEndToEnd.cs
index 6a536454..4d74a8c8 100644
--- a/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToRabbitMqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToRabbitMqEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Asp.AcceptanceTests
+namespace TimeoutMigrationTool.Asp.AcceptanceTests
{
using NServiceBus.Features;
using NServiceBus;
@@ -27,28 +27,7 @@ public async Task Can_migrate_timeouts()
var sourceEndpoint = NServiceBus.AcceptanceTesting.Customization.Conventions.EndpointNamingConvention(typeof(AspSource));
var targetEndpoint = NServiceBus.AcceptanceTesting.Customization.Conventions.EndpointNamingConvention(typeof(RabbitMqTarget));
- await Scenario.Define()
- .WithEndpoint(b => b.CustomConfig(ec =>
- {
- SetupPersistence(ec);
- })
- .When(async (session, c) =>
- {
- var delayedMessage = new DelayedMessage();
-
- var options = new SendOptions();
-
- options.DelayDeliveryWith(TimeSpan.FromSeconds(15));
- options.SetDestination(targetEndpoint);
-
- await session.Send(delayedMessage, options);
-
- await WaitUntilTheTimeoutsAreSavedInAsp(sourceEndpoint, 2);
-
- c.TimeoutSet = true;
- }))
- .Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(30));
+ await StoreLegacyTimeout(sourceEndpoint, targetEndpoint, typeof(DelayedMessage));
var context = await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
@@ -66,7 +45,7 @@ await Scenario.Define()
await migrationRunner.Run(DateTime.Now.AddDays(-10), EndpointFilter.SpecificEndpoint(sourceEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
@@ -125,4 +104,4 @@ public class DelayedMessage : IMessage
{
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToSqlTEndToEnd.cs b/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToSqlTEndToEnd.cs
index ff54789a..3a07c79a 100644
--- a/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToSqlTEndToEnd.cs
+++ b/src/TimeoutMigrationTool.Asp.AcceptanceTests/AspToSqlTEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Asp.AcceptanceTests
+namespace TimeoutMigrationTool.Asp.AcceptanceTests
{
using NServiceBus.Features;
using NServiceBus;
@@ -37,27 +37,7 @@ public async Task Can_migrate_timeouts()
var sourceEndpoint = NServiceBus.AcceptanceTesting.Customization.Conventions.EndpointNamingConvention(typeof(AspSource));
var targetEndpoint = NServiceBus.AcceptanceTesting.Customization.Conventions.EndpointNamingConvention(typeof(SqlTTarget));
- await Scenario.Define()
- .WithEndpoint(b => b.CustomConfig(ec =>
- {
- SetupPersistence(ec);
- })
- .When(async (session, c) =>
- {
- var delayedMessage = new DelayedMessage();
- var options = new SendOptions();
-
- options.DelayDeliveryWith(TimeSpan.FromSeconds(15));
- options.SetDestination(targetEndpoint);
-
- await session.Send(delayedMessage, options);
-
- await WaitUntilTheTimeoutsAreSavedInAsp(sourceEndpoint, 2);
-
- c.TimeoutSet = true;
- }))
- .Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(30));
+ await StoreLegacyTimeout(sourceEndpoint, targetEndpoint, typeof(DelayedMessage));
var setupContext = await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
@@ -68,7 +48,7 @@ await Scenario.Define()
.ConnectionString(sqlConnectionString);
}))
.Done(c => c.EndpointsStarted)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
var logger = new TestLoggingAdapter(setupContext);
var timeoutStorage = CreateTimeoutStorage(sourceEndpoint);
@@ -86,7 +66,7 @@ await Scenario.Define()
.ConnectionString(sqlConnectionString);
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
@@ -143,4 +123,4 @@ public class DelayedMessage : IMessage
{
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Asp.AcceptanceTests/ConfigureExtensions.cs b/src/TimeoutMigrationTool.Asp.AcceptanceTests/ConfigureExtensions.cs
index d4cc7c26..1ce22dd7 100644
--- a/src/TimeoutMigrationTool.Asp.AcceptanceTests/ConfigureExtensions.cs
+++ b/src/TimeoutMigrationTool.Asp.AcceptanceTests/ConfigureExtensions.cs
@@ -2,7 +2,7 @@
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.ObjectBuilder;
+ using Microsoft.Extensions.DependencyInjection;
public static class ConfigureExtensions
{
@@ -11,12 +11,12 @@ public static void RegisterComponentsAndInheritanceHierarchy(this EndpointConfig
builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); });
}
- static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IConfigureComponents r)
+ static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IServiceCollection r)
{
var type = runDescriptor.ScenarioContext.GetType();
while (type != typeof(object))
{
- r.RegisterSingleton(type, runDescriptor.ScenarioContext);
+ r.AddSingleton(type, runDescriptor.ScenarioContext);
type = type.BaseType;
}
}
diff --git a/src/TimeoutMigrationTool.Asp.AcceptanceTests/DefaultServer.cs b/src/TimeoutMigrationTool.Asp.AcceptanceTests/DefaultServer.cs
index 82d01cbd..1429f642 100644
--- a/src/TimeoutMigrationTool.Asp.AcceptanceTests/DefaultServer.cs
+++ b/src/TimeoutMigrationTool.Asp.AcceptanceTests/DefaultServer.cs
@@ -8,7 +8,7 @@
public class DefaultServer : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -26,9 +26,9 @@ public virtual Task GetConfiguration(RunDescriptor runDes
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Asp.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs b/src/TimeoutMigrationTool.Asp.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
index 3e2885c1..bb25fb54 100644
--- a/src/TimeoutMigrationTool.Asp.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
+++ b/src/TimeoutMigrationTool.Asp.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Asp.AcceptanceTests
+namespace TimeoutMigrationTool.Asp.AcceptanceTests
{
using System;
using System.Collections.Generic;
@@ -23,7 +23,13 @@ public static IEnumerable GetTypesScopedByTestClass(this EndpointCustomiza
types = types.Union(endpointConfiguration.TypesToInclude);
- return types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList();
+ return types.Where(t => !IsExcluded(endpointConfiguration, t)).ToList();
+ }
+
+ static bool IsExcluded(EndpointCustomizationConfiguration endpointConfiguration, Type type)
+ {
+ var typesToExclude = endpointConfiguration.GetType().GetProperty("TypesToExclude")?.GetValue(endpointConfiguration) as IEnumerable;
+ return typesToExclude?.Contains(type) ?? false;
}
static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
@@ -46,4 +52,4 @@ static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Asp.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs b/src/TimeoutMigrationTool.Asp.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
index 1cb462a1..6a60135f 100644
--- a/src/TimeoutMigrationTool.Asp.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
+++ b/src/TimeoutMigrationTool.Asp.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
@@ -1,9 +1,8 @@
-namespace TimeoutMigrationTool.Asp.AcceptanceTests
+namespace TimeoutMigrationTool.Asp.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Customization;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.Features;
using NUnit.Framework;
using System;
using System.IO;
@@ -11,7 +10,7 @@
public class LegacyTimeoutManagerEndpoint : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -21,21 +20,19 @@ public virtual Task GetConfiguration(RunDescriptor runDes
.Delayed(delayed => delayed.NumberOfRetries(0))
.Immediate(immediate => immediate.NumberOfRetries(0));
- var storageDir = Path.Combine(AspAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
-
endpointConfiguration.EnableInstallers();
- var transport = endpointConfiguration.UseTransport();
- transport.StorageDirectory(storageDir);
- transport.UseNativeDelayedDelivery(false);
-
- endpointConfiguration.EnableFeature();
+ var storageDir = Path.Combine(AspAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
+ endpointConfiguration.UseTransport(new AcceptanceTestingTransport(enableNativeDelayedDelivery: false)
+ {
+ StorageLocation = storageDir
+ });
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Asp.AcceptanceTests/TimeoutMigrationTool.Asp.AcceptanceTests.csproj b/src/TimeoutMigrationTool.Asp.AcceptanceTests/TimeoutMigrationTool.Asp.AcceptanceTests.csproj
index 1ef820e8..af3e27ed 100644
--- a/src/TimeoutMigrationTool.Asp.AcceptanceTests/TimeoutMigrationTool.Asp.AcceptanceTests.csproj
+++ b/src/TimeoutMigrationTool.Asp.AcceptanceTests/TimeoutMigrationTool.Asp.AcceptanceTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
@@ -16,12 +16,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/TimeoutMigrationTool.Asp.FakeData/TimeoutMigrationTool.Asp.FakeData.csproj b/src/TimeoutMigrationTool.Asp.FakeData/TimeoutMigrationTool.Asp.FakeData.csproj
index c5d7767d..00f0eee0 100644
--- a/src/TimeoutMigrationTool.Asp.FakeData/TimeoutMigrationTool.Asp.FakeData.csproj
+++ b/src/TimeoutMigrationTool.Asp.FakeData/TimeoutMigrationTool.Asp.FakeData.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
Exe
diff --git a/src/TimeoutMigrationTool.Asp.IntegrationTests/AspTimeoutsSourceTests.cs b/src/TimeoutMigrationTool.Asp.IntegrationTests/AspTimeoutsSourceTests.cs
index 9f994fac..71006579 100644
--- a/src/TimeoutMigrationTool.Asp.IntegrationTests/AspTimeoutsSourceTests.cs
+++ b/src/TimeoutMigrationTool.Asp.IntegrationTests/AspTimeoutsSourceTests.cs
@@ -673,7 +673,7 @@ public async Task ListEndpoint_should_ignore_endpoints_outside_cutoff_date()
Assert.That(singleElement.ShortestTimeout.Day, Is.EqualTo(DateTime.UtcNow.AddDays(1).Day));
Assert.That(singleElement.LongestTimeout.Day, Is.EqualTo(DateTime.UtcNow.AddDays(5).Day));
});
- Assert.That(singleElement.Destinations, Is.EquivalentTo(new List
+ Assert.That(singleElement.Destinations, Is.EquivalentTo(new[]
{
"Destination1",
"Destination2",
diff --git a/src/TimeoutMigrationTool.Asp.IntegrationTests/TimeoutMigrationTool.Asp.IntegrationTests.csproj b/src/TimeoutMigrationTool.Asp.IntegrationTests/TimeoutMigrationTool.Asp.IntegrationTests.csproj
index 02e20892..0bba11a4 100644
--- a/src/TimeoutMigrationTool.Asp.IntegrationTests/TimeoutMigrationTool.Asp.IntegrationTests.csproj
+++ b/src/TimeoutMigrationTool.Asp.IntegrationTests/TimeoutMigrationTool.Asp.IntegrationTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
diff --git a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/ConfigureExtensions.cs b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/ConfigureExtensions.cs
index 584ee648..86f25b1d 100644
--- a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/ConfigureExtensions.cs
+++ b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/ConfigureExtensions.cs
@@ -1,8 +1,8 @@
-namespace TimeoutMigrationTool.SqlP.AcceptanceTests
+namespace TimeoutMigrationTool.Msmq.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.ObjectBuilder;
+ using Microsoft.Extensions.DependencyInjection;
public static class ConfigureExtensions
{
@@ -11,12 +11,12 @@ public static void RegisterComponentsAndInheritanceHierarchy(this EndpointConfig
builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); });
}
- static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IConfigureComponents r)
+ static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IServiceCollection r)
{
var type = runDescriptor.ScenarioContext.GetType();
while (type != typeof(object))
{
- r.RegisterSingleton(type, runDescriptor.ScenarioContext);
+ r.AddSingleton(type, runDescriptor.ScenarioContext);
type = type.BaseType;
}
}
diff --git a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/DefaultServer.cs b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/DefaultServer.cs
index 59e708b0..6e503cf7 100644
--- a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/DefaultServer.cs
+++ b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/DefaultServer.cs
@@ -5,10 +5,11 @@
using NServiceBus.AcceptanceTesting.Support;
using System;
using System.Threading.Tasks;
+ using TimeoutMigrationTool.Msmq.AcceptanceTests;
public class DefaultServer : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -21,13 +22,13 @@ public virtual Task GetConfiguration(RunDescriptor runDes
endpointConfiguration.EnableInstallers();
endpointConfiguration.SendFailedMessagesTo("error");
- var transport = endpointConfiguration.UseTransport();
+ endpointConfiguration.UseTransport(new MsmqTransport());
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
index 0f55691d..288b4893 100644
--- a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
+++ b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.SqlP.AcceptanceTests
+namespace TimeoutMigrationTool.SqlP.AcceptanceTests
{
using System;
using System.Collections.Generic;
@@ -23,7 +23,13 @@ public static IEnumerable GetTypesScopedByTestClass(this EndpointCustomiza
types = types.Union(endpointConfiguration.TypesToInclude);
- return types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList();
+ return types.Where(t => !IsExcluded(endpointConfiguration, t)).ToList();
+ }
+
+ static bool IsExcluded(EndpointCustomizationConfiguration endpointConfiguration, Type type)
+ {
+ var typesToExclude = endpointConfiguration.GetType().GetProperty("TypesToExclude")?.GetValue(endpointConfiguration) as IEnumerable;
+ return typesToExclude?.Contains(type) ?? false;
}
static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
@@ -46,4 +52,4 @@ static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
index 0a12fc3d..6b09856f 100644
--- a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
+++ b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
@@ -1,17 +1,17 @@
-namespace TimeoutMigrationTool.SqlP.AcceptanceTests
+namespace TimeoutMigrationTool.SqlP.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Customization;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.Features;
using NUnit.Framework;
using System;
using System.IO;
using System.Threading.Tasks;
+ using TimeoutMigrationTool.Msmq.AcceptanceTests;
public class LegacyTimeoutManagerEndpoint : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -21,21 +21,19 @@ public virtual Task GetConfiguration(RunDescriptor runDes
.Delayed(delayed => delayed.NumberOfRetries(0))
.Immediate(immediate => immediate.NumberOfRetries(0));
- var storageDir = Path.Combine(SqlPAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
-
endpointConfiguration.EnableInstallers();
- var transport = endpointConfiguration.UseTransport();
- transport.StorageDirectory(storageDir);
- transport.UseNativeDelayedDelivery(false);
-
- endpointConfiguration.EnableFeature();
+ var storageDir = Path.Combine(SqlPAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
+ endpointConfiguration.UseTransport(new AcceptanceTestingTransport(enableNativeDelayedDelivery: false)
+ {
+ StorageLocation = storageDir
+ });
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/MsSqlMicrosoftDataClientHelper.cs b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/MsSqlMicrosoftDataClientHelper.cs
index 0c441940..0575b695 100644
--- a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/MsSqlMicrosoftDataClientHelper.cs
+++ b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/MsSqlMicrosoftDataClientHelper.cs
@@ -1,14 +1,14 @@
namespace TimeoutMigrationTool.SqlP.AcceptanceTests
{
using System;
- using System.Data.SqlClient;
+ using Microsoft.Data.SqlClient;
using System.Threading.Tasks;
public static class MsSqlMicrosoftDataClientHelper
{
public static async Task RemoveDbIfExists(string connectionString = null)
{
- connectionString = connectionString ?? GetConnectionString();
+ connectionString ??= GetConnectionString();
var connectionStringBuilder = new SqlConnectionStringBuilder(connectionString);
var databaseName = connectionStringBuilder.InitialCatalog;
@@ -18,7 +18,7 @@ public static async Task RemoveDbIfExists(string connectionString = null)
public static async Task RecreateDbIfNotExists(string connectionString = null)
{
- connectionString = connectionString ?? GetConnectionString();
+ connectionString ??= GetConnectionString();
var connectionStringBuilder = new SqlConnectionStringBuilder(connectionString);
var databaseName = connectionStringBuilder.InitialCatalog;
@@ -67,4 +67,4 @@ static async Task DropDatabase(string connectionString, string databaseName)
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/SqlPAcceptanceTest.cs b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/SqlPAcceptanceTest.cs
index 134ee42b..24ed1e03 100644
--- a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/SqlPAcceptanceTest.cs
+++ b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/SqlPAcceptanceTest.cs
@@ -3,7 +3,7 @@
using NServiceBus;
using NUnit.Framework;
using System;
- using System.Data.SqlClient;
+ using Microsoft.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Threading;
@@ -144,4 +144,4 @@ protected async Task WaitUntilTheTimeoutIsSavedInSql(string endpoint)
protected string databaseName;
protected string connectionString;
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/SqlPToMsmqEndToEnd.cs b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/SqlPToMsmqEndToEnd.cs
index 127e82ad..9da2fa3e 100644
--- a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/SqlPToMsmqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/SqlPToMsmqEndToEnd.cs
@@ -1,10 +1,10 @@
-namespace TimeoutMigrationTool.SqlP.AcceptanceTests
+namespace TimeoutMigrationTool.SqlP.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting;
using NUnit.Framework;
using System;
- using System.Data.SqlClient;
+ using Microsoft.Data.SqlClient;
using System.Threading.Tasks;
using Msmq.AcceptanceTests;
using Conventions = NServiceBus.AcceptanceTesting.Customization.Conventions;
@@ -43,19 +43,15 @@ await Scenario.Define()
c.TimeoutSet = true;
}))
.Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(60));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(60)).Token);
var setupContext = await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
{
- var transport = ec.UseTransport();
- transport.NativeDelayedDelivery(new SqlServerDelayedMessageStore(connectionString));
-
- //To ensure we don't pick up the timeout via the timeout manager
- var persistence = ec.UsePersistence();
+ ec.UseTransport(new MsmqTransport());
}))
.Done(c => c.EndpointsStarted)
- .Run(TimeSpan.FromSeconds(90));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(90)).Token);
MigrationRunner.Run(connectionString);
@@ -63,14 +59,10 @@ await Scenario.Define()
var context = await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
{
- var transport = ec.UseTransport();
- transport.NativeDelayedDelivery(new SqlServerDelayedMessageStore(connectionString));
-
- //To ensure we don't pick up the timeout via the timeout manager
- var persistence = ec.UsePersistence();
+ ec.UseTransport(new MsmqTransport());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(120));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(120)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
@@ -121,4 +113,4 @@ public class DelayedMessage : IMessage
{
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/TimeoutMigrationTool.Msmq.AcceptanceTests.csproj b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/TimeoutMigrationTool.Msmq.AcceptanceTests.csproj
index c389392f..b0a67661 100644
--- a/src/TimeoutMigrationTool.Msmq.AcceptanceTests/TimeoutMigrationTool.Msmq.AcceptanceTests.csproj
+++ b/src/TimeoutMigrationTool.Msmq.AcceptanceTests/TimeoutMigrationTool.Msmq.AcceptanceTests.csproj
@@ -1,7 +1,7 @@
- net48
+ net10.0-windows7.0
@@ -15,10 +15,11 @@
-
-
-
-
+
+
+
+
+
diff --git a/src/TimeoutMigrationTool.Msmq.IntegrationTests/TimeoutMigrationTool.Msmq.IntegrationTests.csproj b/src/TimeoutMigrationTool.Msmq.IntegrationTests/TimeoutMigrationTool.Msmq.IntegrationTests.csproj
index 1dc66a73..4010f949 100644
--- a/src/TimeoutMigrationTool.Msmq.IntegrationTests/TimeoutMigrationTool.Msmq.IntegrationTests.csproj
+++ b/src/TimeoutMigrationTool.Msmq.IntegrationTests/TimeoutMigrationTool.Msmq.IntegrationTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
diff --git a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/ConfigureExtensions.cs b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/ConfigureExtensions.cs
index 5a26f18f..39bf14aa 100644
--- a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/ConfigureExtensions.cs
+++ b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/ConfigureExtensions.cs
@@ -2,7 +2,7 @@
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.ObjectBuilder;
+ using Microsoft.Extensions.DependencyInjection;
public static class ConfigureExtensions
{
@@ -11,12 +11,12 @@ public static void RegisterComponentsAndInheritanceHierarchy(this EndpointConfig
builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); });
}
- static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IConfigureComponents r)
+ static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IServiceCollection r)
{
var type = runDescriptor.ScenarioContext.GetType();
while (type != typeof(object))
{
- r.RegisterSingleton(type, runDescriptor.ScenarioContext);
+ r.AddSingleton(type, runDescriptor.ScenarioContext);
type = type.BaseType;
}
}
diff --git a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/DefaultServer.cs b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/DefaultServer.cs
index 63febd34..3a2adaa3 100644
--- a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/DefaultServer.cs
+++ b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/DefaultServer.cs
@@ -8,7 +8,7 @@
public class DefaultServer : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -26,9 +26,9 @@ public virtual Task GetConfiguration(RunDescriptor runDes
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
index e6225fe1..4cf11760 100644
--- a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
+++ b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
+namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
{
using System;
using System.Collections.Generic;
@@ -23,7 +23,13 @@ public static IEnumerable GetTypesScopedByTestClass(this EndpointCustomiza
types = types.Union(endpointConfiguration.TypesToInclude);
- return types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList();
+ return types.Where(t => !IsExcluded(endpointConfiguration, t)).ToList();
+ }
+
+ static bool IsExcluded(EndpointCustomizationConfiguration endpointConfiguration, Type type)
+ {
+ var typesToExclude = endpointConfiguration.GetType().GetProperty("TypesToExclude")?.GetValue(endpointConfiguration) as IEnumerable;
+ return typesToExclude?.Contains(type) ?? false;
}
static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
@@ -46,4 +52,4 @@ static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
index ef332e71..6e311da1 100644
--- a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
+++ b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
@@ -1,9 +1,8 @@
-namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
+namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Customization;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.Features;
using NUnit.Framework;
using System;
using System.IO;
@@ -11,7 +10,7 @@
public class LegacyTimeoutManagerEndpoint : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -21,21 +20,19 @@ public virtual Task GetConfiguration(RunDescriptor runDes
.Delayed(delayed => delayed.NumberOfRetries(0))
.Immediate(immediate => immediate.NumberOfRetries(0));
- var storageDir = Path.Combine(NHibernateAcceptanceTests.StorageRootDir, TestContext.CurrentContext.Test.ID);
-
endpointConfiguration.EnableInstallers();
- var transport = endpointConfiguration.UseTransport();
- transport.StorageDirectory(storageDir);
- transport.UseNativeDelayedDelivery(false);
-
- endpointConfiguration.EnableFeature();
+ var storageDir = Path.Combine(NHibernateAcceptanceTests.StorageRootDir, TestContext.CurrentContext.Test.ID);
+ endpointConfiguration.UseTransport(new AcceptanceTestingTransport(enableNativeDelayedDelivery: false)
+ {
+ StorageLocation = storageDir
+ });
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToAsqEndToEnd.cs b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToAsqEndToEnd.cs
index 84f9580e..eeca03f5 100644
--- a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToAsqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToAsqEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
+namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting;
@@ -56,9 +56,7 @@ await testSession.SaveAsync(new TimeoutEntity
{
var transportConfig = ec.UseTransport();
transportConfig.ConnectionString(asqConnectionString);
- transportConfig.DisablePublishing();
-
- transportConfig.DelayedDelivery().DisableTimeoutManager();
+ transportConfig.Routing().DisablePublishing();
ec.UseSerialization();
}))
@@ -66,9 +64,7 @@ await testSession.SaveAsync(new TimeoutEntity
{
var transportConfig = ec.UseTransport();
transportConfig.ConnectionString(asqConnectionString);
- transportConfig.DisablePublishing();
-
- transportConfig.DelayedDelivery().DisableTimeoutManager();
+ transportConfig.Routing().DisablePublishing();
ec.UseSerialization();
})
@@ -82,7 +78,7 @@ await testSession.SaveAsync(new TimeoutEntity
await migrationRunner.Run(DateTime.Now.AddDays(-10), EndpointFilter.SpecificEndpoint(sourceEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(90));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(90)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
@@ -132,4 +128,4 @@ public class DelayedMessage : IMessage
{
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToRabbitMqEndToEnd.cs b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToRabbitMqEndToEnd.cs
index 2632841c..32c1bdaf 100644
--- a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToRabbitMqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToRabbitMqEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
+namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting;
@@ -66,7 +66,7 @@ await testSession.SaveAsync(new TimeoutEntity
await migrationRunner.Run(DateTime.Now.AddDays(-10), EndpointFilter.SpecificEndpoint(sourceEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(90));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(90)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
diff --git a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToSqlTEndToEnd.cs b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToSqlTEndToEnd.cs
index aad7e6fc..882c9c3a 100644
--- a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToSqlTEndToEnd.cs
+++ b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/NHibernateToSqlTEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
+namespace TimeoutMigrationTool.NHibernate.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting;
@@ -62,7 +62,7 @@ await migrationRunner.Run(DateTime.Now.AddDays(-10),
EndpointFilter.SpecificEndpoint(sourceEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(90));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(90)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
diff --git a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/TimeoutMigrationTool.NHibernate.AcceptanceTests.csproj b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/TimeoutMigrationTool.NHibernate.AcceptanceTests.csproj
index 90b9c695..f6d5ac5c 100644
--- a/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/TimeoutMigrationTool.NHibernate.AcceptanceTests.csproj
+++ b/src/TimeoutMigrationTool.NHibernate.AcceptanceTests/TimeoutMigrationTool.NHibernate.AcceptanceTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
$(DefineConstants);SQLSERVER
@@ -17,11 +17,11 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/src/TimeoutMigrationTool.NHibernate.OracleAcceptanceTests/TimeoutMigrationTool.NHibernate.OracleAcceptanceTests.csproj b/src/TimeoutMigrationTool.NHibernate.OracleAcceptanceTests/TimeoutMigrationTool.NHibernate.OracleAcceptanceTests.csproj
index 6f1580f4..59558c75 100644
--- a/src/TimeoutMigrationTool.NHibernate.OracleAcceptanceTests/TimeoutMigrationTool.NHibernate.OracleAcceptanceTests.csproj
+++ b/src/TimeoutMigrationTool.NHibernate.OracleAcceptanceTests/TimeoutMigrationTool.NHibernate.OracleAcceptanceTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
$(DefineConstants);ORACLE
@@ -17,10 +17,10 @@
-
-
-
-
+
+
+
+
diff --git a/src/TimeoutMigrationTool.RabbitMq.FakeTarget/TimeoutMigrationTool.RabbitMq.FakeTarget.csproj b/src/TimeoutMigrationTool.RabbitMq.FakeTarget/TimeoutMigrationTool.RabbitMq.FakeTarget.csproj
index 6d0c0b73..59fcf7f9 100644
--- a/src/TimeoutMigrationTool.RabbitMq.FakeTarget/TimeoutMigrationTool.RabbitMq.FakeTarget.csproj
+++ b/src/TimeoutMigrationTool.RabbitMq.FakeTarget/TimeoutMigrationTool.RabbitMq.FakeTarget.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
Exe
diff --git a/src/TimeoutMigrationTool.RabbitMq.IntegrationTests/TimeoutMigrationTool.RabbitMq.IntegrationTests.csproj b/src/TimeoutMigrationTool.RabbitMq.IntegrationTests/TimeoutMigrationTool.RabbitMq.IntegrationTests.csproj
index f7d873d6..3195ee62 100644
--- a/src/TimeoutMigrationTool.RabbitMq.IntegrationTests/TimeoutMigrationTool.RabbitMq.IntegrationTests.csproj
+++ b/src/TimeoutMigrationTool.RabbitMq.IntegrationTests/TimeoutMigrationTool.RabbitMq.IntegrationTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
diff --git a/src/TimeoutMigrationTool.Raven.FakeData/TimeoutMigrationTool.Raven.FakeData.csproj b/src/TimeoutMigrationTool.Raven.FakeData/TimeoutMigrationTool.Raven.FakeData.csproj
index 36239536..3d247d51 100644
--- a/src/TimeoutMigrationTool.Raven.FakeData/TimeoutMigrationTool.Raven.FakeData.csproj
+++ b/src/TimeoutMigrationTool.Raven.FakeData/TimeoutMigrationTool.Raven.FakeData.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
Exe
@@ -10,7 +10,7 @@
-
+
diff --git a/src/TimeoutMigrationTool.Raven.IntegrationTests/TimeoutMigrationTool.Raven.IntegrationTests.csproj b/src/TimeoutMigrationTool.Raven.IntegrationTests/TimeoutMigrationTool.Raven.IntegrationTests.csproj
index f7d873d6..3195ee62 100644
--- a/src/TimeoutMigrationTool.Raven.IntegrationTests/TimeoutMigrationTool.Raven.IntegrationTests.csproj
+++ b/src/TimeoutMigrationTool.Raven.IntegrationTests/TimeoutMigrationTool.Raven.IntegrationTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
diff --git a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/ConfigureExtensions.cs b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/ConfigureExtensions.cs
index 6e4d1477..c8edd6da 100644
--- a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/ConfigureExtensions.cs
+++ b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/ConfigureExtensions.cs
@@ -2,7 +2,7 @@
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.ObjectBuilder;
+ using Microsoft.Extensions.DependencyInjection;
public static class ConfigureExtensions
{
@@ -11,12 +11,12 @@ public static void RegisterComponentsAndInheritanceHierarchy(this EndpointConfig
builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); });
}
- static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IConfigureComponents r)
+ static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IServiceCollection r)
{
var type = runDescriptor.ScenarioContext.GetType();
while (type != typeof(object))
{
- r.RegisterSingleton(type, runDescriptor.ScenarioContext);
+ r.AddSingleton(type, runDescriptor.ScenarioContext);
type = type.BaseType;
}
}
diff --git a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
index d3569a97..0ea4c8f3 100644
--- a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
+++ b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Raven3.AcceptanceTests
+namespace TimeoutMigrationTool.Raven3.AcceptanceTests
{
using System;
using System.Collections.Generic;
@@ -23,7 +23,13 @@ public static IEnumerable GetTypesScopedByTestClass(this EndpointCustomiza
types = types.Union(endpointConfiguration.TypesToInclude);
- return types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList();
+ return types.Where(t => !IsExcluded(endpointConfiguration, t)).ToList();
+ }
+
+ static bool IsExcluded(EndpointCustomizationConfiguration endpointConfiguration, Type type)
+ {
+ var typesToExclude = endpointConfiguration.GetType().GetProperty("TypesToExclude")?.GetValue(endpointConfiguration) as IEnumerable;
+ return typesToExclude?.Contains(type) ?? false;
}
static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
@@ -46,4 +52,4 @@ static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
index 785929f5..3737c345 100644
--- a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
+++ b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
@@ -1,9 +1,8 @@
-namespace TimeoutMigrationTool.Raven3.AcceptanceTests
+namespace TimeoutMigrationTool.Raven3.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Customization;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.Features;
using NUnit.Framework;
using System;
using System.IO;
@@ -11,7 +10,7 @@
public class LegacyTimeoutManagerEndpoint : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -21,21 +20,19 @@ public virtual Task GetConfiguration(RunDescriptor runDes
.Delayed(delayed => delayed.NumberOfRetries(0))
.Immediate(immediate => immediate.NumberOfRetries(0));
- var storageDir = Path.Combine(NServiceBusAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
-
endpointConfiguration.EnableInstallers();
- var transport = endpointConfiguration.UseTransport();
- transport.StorageDirectory(storageDir);
- transport.UseNativeDelayedDelivery(false);
-
- endpointConfiguration.EnableFeature();
+ var storageDir = Path.Combine(NServiceBusAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
+ endpointConfiguration.UseTransport(new AcceptanceTestingTransport(enableNativeDelayedDelivery: false)
+ {
+ StorageLocation = storageDir
+ });
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RabbitMqEndpoint.cs b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RabbitMqEndpoint.cs
index 9557b620..aeff47c4 100644
--- a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RabbitMqEndpoint.cs
+++ b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RabbitMqEndpoint.cs
@@ -10,7 +10,7 @@
public class RabbitMqEndpoint : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -30,9 +30,9 @@ public virtual Task GetConfiguration(RunDescriptor runDes
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RavenDBAcceptanceTest.cs b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RavenDBAcceptanceTest.cs
index af8cdff5..2c284b1d 100644
--- a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RavenDBAcceptanceTest.cs
+++ b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RavenDBAcceptanceTest.cs
@@ -5,7 +5,7 @@
using Raven.Client.Document;
using System;
using System.Threading.Tasks;
- using NServiceBus.Timeout.Core;
+ using Particular.TimeoutMigrationTool;
using Particular.TimeoutMigrationTool.RavenDB;
public abstract class RavenDBAcceptanceTest : NServiceBusAcceptanceTest
@@ -102,4 +102,4 @@ static async Task DeleteDatabase(string urls, string dbName)
protected string serverUrl = "";
protected string rabbitUrl = "";
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RavenDBToRabbitMqEndToEnd.cs b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RavenDBToRabbitMqEndToEnd.cs
index 24173ee0..60a2b408 100644
--- a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RavenDBToRabbitMqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/RavenDBToRabbitMqEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Raven3.AcceptanceTests
+namespace TimeoutMigrationTool.Raven3.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting;
@@ -6,8 +6,10 @@
using Particular.TimeoutMigrationTool;
using Particular.TimeoutMigrationTool.RabbitMq;
using Particular.TimeoutMigrationTool.RavenDB;
+ using Raven.Abstractions.Data;
using System;
using System.Collections.Generic;
+ using System.Text;
using System.Threading.Tasks;
[TestFixture]
@@ -23,33 +25,7 @@ public async Task Can_migrate_timeouts()
var ravenTimeoutPrefix = "TimeoutDatas";
var ravenVersion = RavenDbVersion.ThreeDotFive;
- var ravenAdapter = new Raven3Adapter(serverUrl, databaseName);
-
- await Scenario.Define()
- .WithEndpoint(b => b.CustomConfig(ec =>
- {
- ec.UsePersistence()
- .DoNotSetupDatabasePermissions()
- .DisableSubscriptionVersioning()
- .SetDefaultDocumentStore(GetDocumentStore(serverUrl, databaseName));
- })
- .When(async (session, c) =>
- {
- var delayedMessage = new DelayedMessage();
-
- var options = new SendOptions();
-
- options.DelayDeliveryWith(TimeSpan.FromSeconds(30));
- options.SetDestination(targetEndpoint);
-
- await session.Send(delayedMessage, options);
-
- await WaitUntilTheTimeoutIsSavedInRaven(ravenAdapter, sourceEndpoint);
-
- c.TimeoutSet = true;
- }))
- .Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(15));
+ await StoreLegacyTimeout(sourceEndpoint, targetEndpoint, ravenTimeoutPrefix);
var context = await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
@@ -66,16 +42,11 @@ await Scenario.Define()
await migrationRunner.Run(DateTime.Now.AddDays(-1), EndpointFilter.SpecificEndpoint(sourceEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(60));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(60)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
- public class SourceContext : ScenarioContext
- {
- public bool TimeoutSet { get; set; }
- }
-
public class TargetContext : ScenarioContext
{
public bool GotTheDelayedMessage { get; set; }
@@ -116,5 +87,32 @@ public Task Handle(DelayedMessage message, IMessageHandlerContext context)
public class DelayedMessage : IMessage
{
}
+
+ async Task StoreLegacyTimeout(string sourceEndpoint, string targetEndpoint, string ravenTimeoutPrefix)
+ {
+ using var documentStore = GetDocumentStore(serverUrl, databaseName);
+ await documentStore.AsyncDatabaseCommands.GlobalAdmin.CreateDatabaseAsync(new DatabaseDocument
+ {
+ Id = databaseName
+ });
+
+ using var session = documentStore.OpenAsyncSession();
+ await session.StoreAsync(new TimeoutData
+ {
+ Destination = targetEndpoint,
+ SagaId = Guid.NewGuid(),
+ OwningTimeoutManager = sourceEndpoint,
+ Time = DateTime.UtcNow.AddSeconds(5),
+ Headers = new Dictionary
+ {
+ { "NServiceBus.ContentType", "application/json" },
+ { "NServiceBus.EnclosedMessageTypes", typeof(DelayedMessage).AssemblyQualifiedName },
+ { "NServiceBus.MessageId", Guid.NewGuid().ToString("N") }
+ },
+ State = Encoding.UTF8.GetBytes("{}")
+ }, $"{ravenTimeoutPrefix}/1");
+
+ await session.SaveChangesAsync();
+ }
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/TimeoutMigrationTool.Raven3.AcceptanceTests.csproj b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/TimeoutMigrationTool.Raven3.AcceptanceTests.csproj
index 196a1ecb..b7671eb5 100644
--- a/src/TimeoutMigrationTool.Raven3.AcceptanceTests/TimeoutMigrationTool.Raven3.AcceptanceTests.csproj
+++ b/src/TimeoutMigrationTool.Raven3.AcceptanceTests/TimeoutMigrationTool.Raven3.AcceptanceTests.csproj
@@ -1,7 +1,8 @@
- net8.0
+ net10.0
+ $(NoWarn);NU1608
@@ -16,13 +17,16 @@
-
-
+
+
-
+
+
+
+
diff --git a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/ConfigureExtensions.cs b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/ConfigureExtensions.cs
index fedb4d42..09eed6a3 100644
--- a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/ConfigureExtensions.cs
+++ b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/ConfigureExtensions.cs
@@ -2,7 +2,7 @@
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.ObjectBuilder;
+ using Microsoft.Extensions.DependencyInjection;
public static class ConfigureExtensions
{
@@ -11,12 +11,12 @@ public static void RegisterComponentsAndInheritanceHierarchy(this EndpointConfig
builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); });
}
- static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IConfigureComponents r)
+ static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IServiceCollection r)
{
var type = runDescriptor.ScenarioContext.GetType();
while (type != typeof(object))
{
- r.RegisterSingleton(type, runDescriptor.ScenarioContext);
+ r.AddSingleton(type, runDescriptor.ScenarioContext);
type = type.BaseType;
}
}
diff --git a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/DefaultServer.cs b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/DefaultServer.cs
index 053c156e..6c8a2a11 100644
--- a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/DefaultServer.cs
+++ b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/DefaultServer.cs
@@ -8,7 +8,7 @@
public class DefaultServer : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -26,9 +26,9 @@ public virtual Task GetConfiguration(RunDescriptor runDes
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
index 6226b8c5..88ce9fbe 100644
--- a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
+++ b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Raven4.AcceptanceTests
+namespace TimeoutMigrationTool.Raven4.AcceptanceTests
{
using System;
using System.Collections.Generic;
@@ -23,7 +23,13 @@ public static IEnumerable GetTypesScopedByTestClass(this EndpointCustomiza
types = types.Union(endpointConfiguration.TypesToInclude);
- return types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList();
+ return types.Where(t => !IsExcluded(endpointConfiguration, t)).ToList();
+ }
+
+ static bool IsExcluded(EndpointCustomizationConfiguration endpointConfiguration, Type type)
+ {
+ var typesToExclude = endpointConfiguration.GetType().GetProperty("TypesToExclude")?.GetValue(endpointConfiguration) as IEnumerable;
+ return typesToExclude?.Contains(type) ?? false;
}
static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
@@ -46,4 +52,4 @@ static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
index 107b3a4d..9a0b46c6 100644
--- a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
+++ b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
@@ -1,9 +1,8 @@
-namespace TimeoutMigrationTool.Raven4.AcceptanceTests
+namespace TimeoutMigrationTool.Raven4.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Customization;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.Features;
using NUnit.Framework;
using System;
using System.IO;
@@ -11,7 +10,7 @@
public class LegacyTimeoutManagerEndpoint : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -21,21 +20,19 @@ public virtual Task GetConfiguration(RunDescriptor runDes
.Delayed(delayed => delayed.NumberOfRetries(0))
.Immediate(immediate => immediate.NumberOfRetries(0));
- var storageDir = Path.Combine(RavenDBAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
-
endpointConfiguration.EnableInstallers();
- var transport = endpointConfiguration.UseTransport();
- transport.StorageDirectory(storageDir);
- transport.UseNativeDelayedDelivery(false);
-
- endpointConfiguration.EnableFeature();
+ var storageDir = Path.Combine(RavenDBAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
+ endpointConfiguration.UseTransport(new AcceptanceTestingTransport(enableNativeDelayedDelivery: false)
+ {
+ StorageLocation = storageDir
+ });
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToAsqEndToEnd.cs b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToAsqEndToEnd.cs
index fe9ff548..12fb7020 100644
--- a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToAsqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToAsqEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Raven4.AcceptanceTests
+namespace TimeoutMigrationTool.Raven4.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting;
@@ -50,7 +50,7 @@ await Scenario.Define()
c.TimeoutSet = true;
}))
.Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(15));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(15)).Token);
var context = await Scenario.Define()
// Create the legacy endpoint to forward the delayed message to the native delayed delivery endpoint
@@ -58,18 +58,14 @@ await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
{
var transport = ec.UseTransport().ConnectionString(asqConnectionString);
- transport.DisablePublishing();
-
- transport.DelayedDelivery().DisableTimeoutManager();
+ transport.Routing().DisablePublishing();
ec.UseSerialization();
}))
.WithEndpoint(b => b.CustomConfig(ec =>
{
var transport = ec.UseTransport().ConnectionString(asqConnectionString);
- transport.DisablePublishing();
-
- transport.DelayedDelivery().DisableTimeoutManager();
+ transport.Routing().DisablePublishing();
ec.UseSerialization();
})
@@ -83,7 +79,7 @@ await Scenario.Define()
await migrationRunner.Run(DateTime.Now.AddDays(-1), EndpointFilter.SpecificEndpoint(sourceEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
@@ -134,4 +130,4 @@ public class DelayedMessage : IMessage
{
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToRabbitMqEndToEnd.cs b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToRabbitMqEndToEnd.cs
index c8aad5be..f45aaf08 100644
--- a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToRabbitMqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToRabbitMqEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Raven4.AcceptanceTests
+namespace TimeoutMigrationTool.Raven4.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting;
@@ -47,7 +47,7 @@ await Scenario.Define()
c.TimeoutSet = true;
}))
.Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(15));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(15)).Token);
var context = await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
@@ -65,7 +65,7 @@ await Scenario.Define()
await migrationRunner.Run(DateTime.Now.AddDays(-1), EndpointFilter.SpecificEndpoint(sourceEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
diff --git a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToSqlTEndToEnd.cs b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToSqlTEndToEnd.cs
index 5a587043..da425b10 100644
--- a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToSqlTEndToEnd.cs
+++ b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/RavenDBToSqlTEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.Raven4.AcceptanceTests
+namespace TimeoutMigrationTool.Raven4.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting;
@@ -58,7 +58,7 @@ await Scenario.Define()
c.TimeoutSet = true;
}))
.Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(15));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(15)).Token);
var setupContext = await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
@@ -69,7 +69,7 @@ await Scenario.Define()
.ConnectionString(sqlConnectionString);
}))
.Done(c => c.EndpointsStarted)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
var logger = new TestLoggingAdapter(setupContext);
var timeoutsSource = new RavenDbTimeoutsSource(logger, serverUrl, databaseName, ravenTimeoutPrefix, ravenVersion, false);
@@ -87,7 +87,7 @@ await Scenario.Define()
.ConnectionString(sqlConnectionString);
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
diff --git a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/TimeoutMigrationTool.Raven4.AcceptanceTests.csproj b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/TimeoutMigrationTool.Raven4.AcceptanceTests.csproj
index 46e97de3..50d1dd86 100644
--- a/src/TimeoutMigrationTool.Raven4.AcceptanceTests/TimeoutMigrationTool.Raven4.AcceptanceTests.csproj
+++ b/src/TimeoutMigrationTool.Raven4.AcceptanceTests/TimeoutMigrationTool.Raven4.AcceptanceTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
@@ -16,12 +16,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/ConfigureExtensions.cs b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/ConfigureExtensions.cs
index 584ee648..a4c8b029 100644
--- a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/ConfigureExtensions.cs
+++ b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/ConfigureExtensions.cs
@@ -2,7 +2,7 @@
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.ObjectBuilder;
+ using Microsoft.Extensions.DependencyInjection;
public static class ConfigureExtensions
{
@@ -11,12 +11,12 @@ public static void RegisterComponentsAndInheritanceHierarchy(this EndpointConfig
builder.RegisterComponents(r => { RegisterInheritanceHierarchyOfContextOnContainer(runDescriptor, r); });
}
- static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IConfigureComponents r)
+ static void RegisterInheritanceHierarchyOfContextOnContainer(RunDescriptor runDescriptor, IServiceCollection r)
{
var type = runDescriptor.ScenarioContext.GetType();
while (type != typeof(object))
{
- r.RegisterSingleton(type, runDescriptor.ScenarioContext);
+ r.AddSingleton(type, runDescriptor.ScenarioContext);
type = type.BaseType;
}
}
diff --git a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/DefaultServer.cs b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/DefaultServer.cs
index 2bee39b7..ed90d50b 100644
--- a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/DefaultServer.cs
+++ b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/DefaultServer.cs
@@ -8,7 +8,7 @@
public class DefaultServer : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -26,9 +26,9 @@ public virtual Task GetConfiguration(RunDescriptor runDes
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
index 0f55691d..288b4893 100644
--- a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
+++ b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/EndpointCustomizationConfigurationExtensions.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.SqlP.AcceptanceTests
+namespace TimeoutMigrationTool.SqlP.AcceptanceTests
{
using System;
using System.Collections.Generic;
@@ -23,7 +23,13 @@ public static IEnumerable GetTypesScopedByTestClass(this EndpointCustomiza
types = types.Union(endpointConfiguration.TypesToInclude);
- return types.Where(t => !endpointConfiguration.TypesToExclude.Contains(t)).ToList();
+ return types.Where(t => !IsExcluded(endpointConfiguration, t)).ToList();
+ }
+
+ static bool IsExcluded(EndpointCustomizationConfiguration endpointConfiguration, Type type)
+ {
+ var typesToExclude = endpointConfiguration.GetType().GetProperty("TypesToExclude")?.GetValue(endpointConfiguration) as IEnumerable;
+ return typesToExclude?.Contains(type) ?? false;
}
static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
@@ -46,4 +52,4 @@ static IEnumerable GetNestedTypeRecursive(Type rootType, Type builderType)
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
index 0a12fc3d..2b3e53cc 100644
--- a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
+++ b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/LegacyTimeoutManagerEndpoint.cs
@@ -1,9 +1,8 @@
-namespace TimeoutMigrationTool.SqlP.AcceptanceTests
+namespace TimeoutMigrationTool.SqlP.AcceptanceTests
{
using NServiceBus;
using NServiceBus.AcceptanceTesting.Customization;
using NServiceBus.AcceptanceTesting.Support;
- using NServiceBus.Features;
using NUnit.Framework;
using System;
using System.IO;
@@ -11,7 +10,7 @@
public class LegacyTimeoutManagerEndpoint : IEndpointSetupTemplate
{
- public virtual Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Action configurationBuilderCustomization)
+ public virtual async Task GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizationConfiguration, Func configurationBuilderCustomization)
{
var endpointConfiguration = new EndpointConfiguration(endpointCustomizationConfiguration.EndpointName);
@@ -21,21 +20,19 @@ public virtual Task GetConfiguration(RunDescriptor runDes
.Delayed(delayed => delayed.NumberOfRetries(0))
.Immediate(immediate => immediate.NumberOfRetries(0));
- var storageDir = Path.Combine(SqlPAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
-
endpointConfiguration.EnableInstallers();
- var transport = endpointConfiguration.UseTransport();
- transport.StorageDirectory(storageDir);
- transport.UseNativeDelayedDelivery(false);
-
- endpointConfiguration.EnableFeature();
+ var storageDir = Path.Combine(SqlPAcceptanceTest.StorageRootDir, TestContext.CurrentContext.Test.ID);
+ endpointConfiguration.UseTransport(new AcceptanceTestingTransport(enableNativeDelayedDelivery: false)
+ {
+ StorageLocation = storageDir
+ });
endpointConfiguration.RegisterComponentsAndInheritanceHierarchy(runDescriptor);
- configurationBuilderCustomization(endpointConfiguration);
+ await configurationBuilderCustomization(endpointConfiguration);
- return Task.FromResult(endpointConfiguration);
+ return endpointConfiguration;
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToAsqEndToEnd.cs b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToAsqEndToEnd.cs
index fc54cf2e..fd613c0b 100644
--- a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToAsqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToAsqEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.SqlP.AcceptanceTests
+namespace TimeoutMigrationTool.SqlP.AcceptanceTests
{
using Microsoft.Data.SqlClient;
using NServiceBus;
@@ -29,12 +29,10 @@ await Scenario.Define()
{
var transportConfig = ec.UseTransport();
transportConfig.ConnectionString(asqConnectionString);
- transportConfig.DisablePublishing();
-
- transportConfig.DelayedDelivery().DisableTimeoutManager();
+ transportConfig.Routing().DisablePublishing();
ec.UseSerialization();
- })).Run(TimeSpan.FromSeconds(10));
+ })).Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(10)).Token);
// Sending a delayed delivery message using TimeoutManager
await Scenario.Define()
@@ -65,7 +63,7 @@ await Scenario.Define()
c.TimeoutSet = true;
}))
.Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
var context = await Scenario.Define()
// Create the sales endpoint to forward the delayed message to the reporting endpoint
@@ -75,9 +73,7 @@ await Scenario.Define()
{
var transportConfig = ec.UseTransport();
transportConfig.ConnectionString(asqConnectionString);
- transportConfig.DisablePublishing();
-
- transportConfig.DelayedDelivery().DisableTimeoutManager();
+ transportConfig.Routing().DisablePublishing();
ec.UseSerialization();
}))
@@ -86,9 +82,7 @@ await Scenario.Define()
{
var transportConfig = ec.UseTransport();
transportConfig.ConnectionString(asqConnectionString);
- transportConfig.DisablePublishing();
-
- transportConfig.DelayedDelivery().DisableTimeoutManager();
+ transportConfig.Routing().DisablePublishing();
ec.UseSerialization();
})
@@ -102,7 +96,7 @@ await Scenario.Define()
await migrationRunner.Run(DateTime.Now.AddDays(-10), EndpointFilter.SpecificEndpoint(salesEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
@@ -153,4 +147,4 @@ public class DelayedMessage : IMessage
{
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToRabbitMqEndToEnd.cs b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToRabbitMqEndToEnd.cs
index e34a69f9..9263a7f1 100644
--- a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToRabbitMqEndToEnd.cs
+++ b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToRabbitMqEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.SqlP.AcceptanceTests
+namespace TimeoutMigrationTool.SqlP.AcceptanceTests
{
using Microsoft.Data.SqlClient;
using NServiceBus;
@@ -55,7 +55,7 @@ await Scenario.Define()
c.TimeoutSet = true;
}))
.Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
var context = await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
@@ -73,7 +73,7 @@ await Scenario.Define()
await migrationRunner.Run(DateTime.Now.AddDays(-10), EndpointFilter.SpecificEndpoint(sourceEndpoint), new Dictionary());
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
diff --git a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToSqlTEndToEnd.cs b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToSqlTEndToEnd.cs
index 6c8257c4..2fb11ed2 100644
--- a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToSqlTEndToEnd.cs
+++ b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlPToSqlTEndToEnd.cs
@@ -1,4 +1,4 @@
-namespace TimeoutMigrationTool.SqlP.AcceptanceTests
+namespace TimeoutMigrationTool.SqlP.AcceptanceTests
{
using Microsoft.Data.SqlClient;
using NServiceBus;
@@ -48,7 +48,7 @@ await Scenario.Define()
c.TimeoutSet = true;
}))
.Done(c => c.TimeoutSet)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
var setupContext = await Scenario.Define()
.WithEndpoint(b => b.CustomConfig(ec =>
@@ -59,7 +59,7 @@ await Scenario.Define()
.ConnectionString(connectionString);
}))
.Done(c => c.EndpointsStarted)
- .Run(TimeSpan.FromSeconds(30));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(30)).Token);
var logger = new TestLoggingAdapter(setupContext);
var timeoutSource = new SqlTimeoutsSource(connectionString, new MsSqlServer(), 1024);
@@ -77,7 +77,7 @@ await Scenario.Define()
.ConnectionString(connectionString);
}))
.Done(c => c.GotTheDelayedMessage)
- .Run(TimeSpan.FromSeconds(90));
+ .Run(new System.Threading.CancellationTokenSource(TimeSpan.FromSeconds(90)).Token);
Assert.That(context.GotTheDelayedMessage, Is.True);
}
diff --git a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlTimeoutSourceTests.cs b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlTimeoutSourceTests.cs
index 489d4f07..f26e08a5 100644
--- a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlTimeoutSourceTests.cs
+++ b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/SqlTimeoutSourceTests.cs
@@ -135,7 +135,7 @@ await Scenario.Define(c => c.NumberOfTimeouts = 1)
var endpoints = await GetTimeoutStorage().ListEndpoints(DateTime.Now.AddYears(-10));
- Assert.That(endpoints.First().Destinations, Is.EquivalentTo(new List { "FirstDestination", "SecondDestination", "ThirdDestination" }));
+ Assert.That(endpoints.First().Destinations, Is.EquivalentTo(new[] { "FirstDestination", "SecondDestination", "ThirdDestination" }));
}
[Test]
@@ -400,4 +400,4 @@ public class StartSagaMessage : ICommand
public Guid Id { get; set; }
}
}
-}
\ No newline at end of file
+}
diff --git a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/TimeoutMigrationTool.SqlP.AcceptanceTests.csproj b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/TimeoutMigrationTool.SqlP.AcceptanceTests.csproj
index 386d18a6..74d079c9 100644
--- a/src/TimeoutMigrationTool.SqlP.AcceptanceTests/TimeoutMigrationTool.SqlP.AcceptanceTests.csproj
+++ b/src/TimeoutMigrationTool.SqlP.AcceptanceTests/TimeoutMigrationTool.SqlP.AcceptanceTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
@@ -16,12 +16,12 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/TimeoutMigrationTool.SqlT.IntegrationTests/TimeoutMigrationTool.SqlT.IntegrationTests.csproj b/src/TimeoutMigrationTool.SqlT.IntegrationTests/TimeoutMigrationTool.SqlT.IntegrationTests.csproj
index 1dc66a73..6d509168 100644
--- a/src/TimeoutMigrationTool.SqlT.IntegrationTests/TimeoutMigrationTool.SqlT.IntegrationTests.csproj
+++ b/src/TimeoutMigrationTool.SqlT.IntegrationTests/TimeoutMigrationTool.SqlT.IntegrationTests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/src/TimeoutMigrationTool.Tests/TimeoutMigrationTool.Tests.csproj b/src/TimeoutMigrationTool.Tests/TimeoutMigrationTool.Tests.csproj
index 9c88efac..fd18b33d 100644
--- a/src/TimeoutMigrationTool.Tests/TimeoutMigrationTool.Tests.csproj
+++ b/src/TimeoutMigrationTool.Tests/TimeoutMigrationTool.Tests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
@@ -9,10 +9,13 @@
-
-
-
-
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/src/TimeoutMigrationTool/TimeoutMigrationTool.csproj b/src/TimeoutMigrationTool/TimeoutMigrationTool.csproj
index 27976097..5eb8de7b 100644
--- a/src/TimeoutMigrationTool/TimeoutMigrationTool.csproj
+++ b/src/TimeoutMigrationTool/TimeoutMigrationTool.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
Exe
false
true
@@ -17,17 +17,16 @@
-
+
-
-
+
+
-