Skip to content

Commit 0528800

Browse files
tamarariveraRyanThomasForgebording
authored
Prepare for NServiceBus 10 (#1553)
* Update workflow files * Fix workflow file * Bump version to 9.0 * Bump target framework to .NET 10.0 * Migrate to new slnx solution format * Update NServiceBus and Particular packages * Update Microsoft packages to latest version * Update third party packages to latest version. * Address NUnit1034: Class MultiCatalogAcceptanceTest is used as a base class and should be abstract. * Clean up ExceptionExtensions * Stop using custom NServiceBusTransportTest * Remove Fody --------- Co-authored-by: Ryan Thomas <[email protected]> Co-authored-by: Brandon Ording <[email protected]>
1 parent 8749279 commit 0528800

File tree

22 files changed

+115
-479
lines changed

22 files changed

+115
-479
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ jobs:
3535
- name: Setup .NET SDK
3636
uses: actions/[email protected]
3737
with:
38-
dotnet-version: |
39-
9.0.x
40-
8.0.x
38+
global-json-file: global.json
4139
- name: Build
4240
run: dotnet build src --configuration Release
4341
- name: Upload packages
@@ -74,6 +72,6 @@ jobs:
7472
init-script: './.github/workflows/scripts/init-postgres.sql'
7573
tag: SqlTransport
7674
registry-username: ${{ secrets.DOCKERHUB_USERNAME }}
77-
registry-password: ${{ secrets.DOCKERHUB_TOKEN }}
75+
registry-password: ${{ secrets.DOCKERHUB_TOKEN }}
7876
- name: Run tests
7977
uses: Particular/[email protected]

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Setup .NET SDK
2121
uses: actions/[email protected]
2222
with:
23-
dotnet-version: 9.0.x
23+
global-json-file: global.json
2424
- name: Build
2525
run: dotnet build src --configuration Release
2626
- name: Sign NuGet packages

global.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"sdk": {
3-
"version": "9.0.100",
3+
"version": "10.0.0",
4+
"allowPrerelease": true,
45
"rollForward": "latestFeature"
56
}
67
}

src/Custom.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22

33
<PropertyGroup>
4-
<MinVerMinimumMajorMinor>8.0</MinVerMinimumMajorMinor>
4+
<MinVerMinimumMajorMinor>9.0</MinVerMinimumMajorMinor>
55
<MinVerAutoIncrement>minor</MinVerAutoIncrement>
66
</PropertyGroup>
77

src/NServiceBus.SqlServer.sln

Lines changed: 0 additions & 82 deletions
This file was deleted.

src/NServiceBus.SqlServer.slnx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<Solution>
2+
<Folder Name="/Solution Items/">
3+
<File Path="../.github/workflows/ci.yml" />
4+
<File Path="../.github/workflows/release.yml" />
5+
<File Path="Custom.Build.props" />
6+
<File Path="Scripts/Create-Databases.sql" />
7+
<File Path="Scripts/Reset-Database.sql" />
8+
</Folder>
9+
<Project Path="NServiceBus.Transport.PostgreSql.AcceptanceTests/NServiceBus.Transport.PostgreSql.AcceptanceTests.csproj" />
10+
<Project Path="NServiceBus.Transport.PostgreSql.TransportTests/NServiceBus.Transport.PostgreSql.TransportTests.csproj" />
11+
<Project Path="NServiceBus.Transport.PostgreSql.UnitTests/NServiceBus.Transport.PostgreSql.UnitTests.csproj" />
12+
<Project Path="NServiceBus.Transport.PostgreSql/NServiceBus.Transport.PostgreSql.csproj" />
13+
<Project Path="NServiceBus.Transport.SqlServer.AcceptanceTests/NServiceBus.Transport.SqlServer.AcceptanceTests.csproj" />
14+
<Project Path="NServiceBus.Transport.SqlServer.IntegrationTests/NServiceBus.Transport.SqlServer.IntegrationTests.csproj" />
15+
<Project Path="NServiceBus.Transport.SqlServer.TransportTests/NServiceBus.Transport.SqlServer.TransportTests.csproj" />
16+
<Project Path="NServiceBus.Transport.SqlServer.UnitTests/NServiceBus.Transport.SqlServer.UnitTests.csproj" />
17+
<Project Path="NServiceBus.Transport.SqlServer/NServiceBus.Transport.SqlServer.csproj" />
18+
</Solution>

src/NServiceBus.Transport.PostgreSql.AcceptanceTests/NServiceBus.Transport.PostgreSql.AcceptanceTests.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
4+
<TargetFramework>net10.0</TargetFramework>
55
<SignAssembly>true</SignAssembly>
66
<AssemblyOriginatorKeyFile>..\NServiceBusTests.snk</AssemblyOriginatorKeyFile>
77
</PropertyGroup>
@@ -12,10 +12,10 @@
1212

1313
<ItemGroup>
1414
<PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" />
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
16-
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="9.2.4" GeneratePathProperty="true" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
16+
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="10.0.0-alpha.1" GeneratePathProperty="true" />
1717
<PackageReference Include="NUnit" Version="4.3.2" />
18-
<PackageReference Include="NUnit.Analyzers" Version="4.7.0" />
18+
<PackageReference Include="NUnit.Analyzers" Version="4.8.1" />
1919
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
2020
</ItemGroup>
2121

src/NServiceBus.Transport.PostgreSql.TransportTests/ConfigurePostgreSqlTransportInfrastructure.cs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Linq;
4+
using System.Security.Cryptography;
5+
using System.Text;
46
using System.Threading;
57
using System.Threading.Tasks;
68
using Npgsql;
@@ -40,6 +42,36 @@ public async Task<TransportInfrastructure> Configure(TransportDefinition transpo
4042
return await postgreSqlTransport.Initialize(hostSettings, receivers, new[] { errorQueueName }, cancellationToken).ConfigureAwait(false);
4143
}
4244

45+
public string GetInputQueueName(string testName, TransportTransactionMode transactionMode)
46+
{
47+
var fullTestName = $"{testName}{transactionMode}";
48+
var fullTestNameHash = CreateDeterministicHash(fullTestName);
49+
50+
// Max length for table name is 63. We need to reserve space for the ".delayed" suffix (8), the hashcode (8), and "_seq_seq" sequence suffix: 63-8-8-8=39
51+
var charactersToConsider = int.Min(fullTestName.Length, 39);
52+
53+
return $"{fullTestName[..charactersToConsider]}{fullTestNameHash:X8}";
54+
}
55+
56+
public string GetErrorQueueName(string testName, TransportTransactionMode transactionMode)
57+
{
58+
var fullTestName = $"{testName}{transactionMode}";
59+
var fullTestNameHash = CreateDeterministicHash(fullTestName);
60+
61+
// Max length for table name is 63. We need to reserve space for the ".error" suffix (6) the hashcode (8), and "_seq_seq" sequence suffix: 63-8-6-8=41
62+
var charactersToConsider = int.Min(fullTestName.Length, 41);
63+
64+
return $"{fullTestName[..charactersToConsider]}_error{fullTestNameHash:X8}";
65+
}
66+
67+
static uint CreateDeterministicHash(string input)
68+
{
69+
var inputBytes = Encoding.Default.GetBytes(input);
70+
var hashBytes = MD5.HashData(inputBytes);
71+
72+
return BitConverter.ToUInt32(hashBytes, 0) % 1000000;
73+
}
74+
4375
public async Task Cleanup(CancellationToken cancellationToken = default)
4476
{
4577
if (postgreSqlTransport is null)
Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net8.0;net9.0</TargetFrameworks>
4+
<TargetFramework>net10.0</TargetFramework>
55
<SignAssembly>true</SignAssembly>
66
<AssemblyOriginatorKeyFile>..\NServiceBusTests.snk</AssemblyOriginatorKeyFile>
77
</PropertyGroup>
@@ -12,16 +12,11 @@
1212

1313
<ItemGroup>
1414
<PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" />
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
16-
<PackageReference Include="NServiceBus.TransportTests.Sources" Version="9.2.4" GeneratePathProperty="true" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
16+
<PackageReference Include="NServiceBus.TransportTests.Sources" Version="10.0.0-alpha.1" GeneratePathProperty="true" />
1717
<PackageReference Include="NUnit" Version="4.3.2" />
18-
<PackageReference Include="NUnit.Analyzers" Version="4.7.0" />
18+
<PackageReference Include="NUnit.Analyzers" Version="4.8.1" />
1919
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
2020
</ItemGroup>
2121

22-
<ItemGroup Condition="'$(PkgNServiceBus_TransportTests_Sources)' != ''">
23-
<Compile Remove="$(PkgNServiceBus_TransportTests_Sources)\**\ExceptionExtensions.cs" />
24-
<Compile Remove="$(PkgNServiceBus_TransportTests_Sources)\**\NServiceBusTransportTest.cs" />
25-
</ItemGroup>
26-
2722
</Project>

0 commit comments

Comments
 (0)