From 69d19ecf72abf505583d7a8e6517dbd06f0845c3 Mon Sep 17 00:00:00 2001 From: Timm Bremekamp Date: Fri, 25 Sep 2026 06:54:07 +0200 Subject: [PATCH 1/2] Fix CI test runs on .NET 10 SDK Opt into Microsoft.Testing.Platform in global.json and switch CI test steps to the --project syntax. Make the LetterXpress dispatch date test use a relative future date instead of a fixed one. --- .github/workflows/ci.yml | 18 +++++++++--------- global.json | 3 +++ .../LetterXpressClientTests.cs | 6 ++++-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 66a908d..549260b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,31 +35,31 @@ jobs: run: dotnet build -c Release --no-restore - name: Test - Dhl.Shipping - run: dotnet test tests/Parcel.NET.Dhl.Shipping.Tests/Parcel.NET.Dhl.Shipping.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + run: dotnet test --project tests/Parcel.NET.Dhl.Shipping.Tests/Parcel.NET.Dhl.Shipping.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} - name: Test - Dhl.Tracking - run: dotnet test tests/Parcel.NET.Dhl.Tracking.Tests/Parcel.NET.Dhl.Tracking.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + run: dotnet test --project tests/Parcel.NET.Dhl.Tracking.Tests/Parcel.NET.Dhl.Tracking.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} - name: Test - Dhl.UnifiedTracking - run: dotnet test tests/Parcel.NET.Dhl.UnifiedTracking.Tests/Parcel.NET.Dhl.UnifiedTracking.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + run: dotnet test --project tests/Parcel.NET.Dhl.UnifiedTracking.Tests/Parcel.NET.Dhl.UnifiedTracking.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} - name: Test - Dhl.Pickup - run: dotnet test tests/Parcel.NET.Dhl.Pickup.Tests/Parcel.NET.Dhl.Pickup.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + run: dotnet test --project tests/Parcel.NET.Dhl.Pickup.Tests/Parcel.NET.Dhl.Pickup.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} - name: Test - Dhl.Returns - run: dotnet test tests/Parcel.NET.Dhl.Returns.Tests/Parcel.NET.Dhl.Returns.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + run: dotnet test --project tests/Parcel.NET.Dhl.Returns.Tests/Parcel.NET.Dhl.Returns.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} - name: Test - Dhl.Internetmarke - run: dotnet test tests/Parcel.NET.Dhl.Internetmarke.Tests/Parcel.NET.Dhl.Internetmarke.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + run: dotnet test --project tests/Parcel.NET.Dhl.Internetmarke.Tests/Parcel.NET.Dhl.Internetmarke.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} - name: Test - Dhl.LocationFinder - run: dotnet test tests/Parcel.NET.Dhl.LocationFinder.Tests/Parcel.NET.Dhl.LocationFinder.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + run: dotnet test --project tests/Parcel.NET.Dhl.LocationFinder.Tests/Parcel.NET.Dhl.LocationFinder.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} - name: Test - GoExpress.Shipping - run: dotnet test tests/Parcel.NET.GoExpress.Shipping.Tests/Parcel.NET.GoExpress.Shipping.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + run: dotnet test --project tests/Parcel.NET.GoExpress.Shipping.Tests/Parcel.NET.GoExpress.Shipping.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} - name: Test - LetterXpress.Letters - run: dotnet test tests/Parcel.NET.LetterXpress.Letters.Tests/Parcel.NET.LetterXpress.Letters.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + run: dotnet test --project tests/Parcel.NET.LetterXpress.Letters.Tests/Parcel.NET.LetterXpress.Letters.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} - name: Check for vulnerable packages if: matrix.target-framework == 'net10.0' diff --git a/global.json b/global.json index 0860802..4babe73 100644 --- a/global.json +++ b/global.json @@ -2,5 +2,8 @@ "sdk": { "version": "10.0.100", "rollForward": "latestMinor" + }, + "test": { + "runner": "Microsoft.Testing.Platform" } } diff --git a/tests/Parcel.NET.LetterXpress.Letters.Tests/LetterXpressClientTests.cs b/tests/Parcel.NET.LetterXpress.Letters.Tests/LetterXpressClientTests.cs index 56e44ea..050bf5c 100644 --- a/tests/Parcel.NET.LetterXpress.Letters.Tests/LetterXpressClientTests.cs +++ b/tests/Parcel.NET.LetterXpress.Letters.Tests/LetterXpressClientTests.cs @@ -1,3 +1,4 @@ +using System.Globalization; using System.Net; using System.Security.Cryptography; using System.Text; @@ -108,19 +109,20 @@ public async Task CreatePrintJobAsync_MapsRegisteredAndDispatchDate() { const string json = """{"status":200,"message":"OK","data":{"id":1,"status":"queue"}}"""; var (client, handler) = CreateClient(json); + var dispatchDate = DateOnly.FromDateTime(DateTime.UtcNow).AddDays(7); await client.CreatePrintJobAsync(new LetterRequest { File = SamplePdf, Specification = new LetterSpecification { Shipping = ShippingType.National }, Registered = RegisteredMail.EinschreibenEinwurf, - DispatchDate = new DateOnly(2026, 9, 1), + DispatchDate = dispatchDate, Notice = "KdNr. 4711" }); var letter = BodyRoot(handler).GetProperty("letter"); letter.GetProperty("registered").GetString().ShouldBe("r1"); - letter.GetProperty("dispatch_date").GetString().ShouldBe("2026-09-01"); + letter.GetProperty("dispatch_date").GetString().ShouldBe(dispatchDate.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)); letter.GetProperty("notice").GetString().ShouldBe("KdNr. 4711"); } From 3635e5ade9bb6627fcfd6dbcf6fd769799f7e86e Mon Sep 17 00:00:00 2001 From: Timm Bremekamp Date: Fri, 25 Sep 2026 06:54:09 +0200 Subject: [PATCH 2/2] Run GoExpress.Tracking tests in CI --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 549260b..2c0d3ed 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,6 +58,9 @@ jobs: - name: Test - GoExpress.Shipping run: dotnet test --project tests/Parcel.NET.GoExpress.Shipping.Tests/Parcel.NET.GoExpress.Shipping.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + - name: Test - GoExpress.Tracking + run: dotnet test --project tests/Parcel.NET.GoExpress.Tracking.Tests/Parcel.NET.GoExpress.Tracking.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }} + - name: Test - LetterXpress.Letters run: dotnet test --project tests/Parcel.NET.LetterXpress.Letters.Tests/Parcel.NET.LetterXpress.Letters.Tests.csproj -c Release --no-build -f ${{ matrix.target-framework }}