From 267a61d1a14a7c7a4d675417a49899f8f53a4e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Wed, 7 Jan 2026 23:54:55 +0100 Subject: [PATCH 01/43] Update OC versions to preview. --- .../Lombiq.OrchardCoreApiClient.Tester.csproj | 2 +- .../Lombiq.OrchardCoreApiClient.Tests.UI.csproj | 2 +- .../Lombiq.OrchardCoreApiClient.csproj | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Lombiq.OrchardCoreApiClient.Tester/Lombiq.OrchardCoreApiClient.Tester.csproj b/Lombiq.OrchardCoreApiClient.Tester/Lombiq.OrchardCoreApiClient.Tester.csproj index c169f60..2778aac 100644 --- a/Lombiq.OrchardCoreApiClient.Tester/Lombiq.OrchardCoreApiClient.Tester.csproj +++ b/Lombiq.OrchardCoreApiClient.Tester/Lombiq.OrchardCoreApiClient.Tester.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj index 91cf465..f8a8ef1 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index ee52fd2..b7e22fc 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 $(DefaultItemExcludes);.git* @@ -25,7 +25,7 @@ - + From 0dd5a5af4fedab60e299281b827af67b757257ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Thu, 8 Jan 2026 11:55:51 +0100 Subject: [PATCH 02/43] Remove old compatibility suppressions files. --- .../CompatibilitySuppressions.xml | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 Lombiq.OrchardCoreApiClient.Tests.UI/CompatibilitySuppressions.xml diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/CompatibilitySuppressions.xml b/Lombiq.OrchardCoreApiClient.Tests.UI/CompatibilitySuppressions.xml deleted file mode 100644 index bade594..0000000 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/CompatibilitySuppressions.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - CP0002 - M:Lombiq.OrchardCoreApiClient.Tests.UI.Extensions.TestCaseUITestContextExtensions.TestTenantsOrchardCoreApiClientBehaviorAsync(Lombiq.Tests.UI.Services.UITestContext,System.String,System.String,System.String) - lib/net8.0/Lombiq.OrchardCoreApiClient.Tests.UI.dll - lib/net8.0/Lombiq.OrchardCoreApiClient.Tests.UI.dll - true - - \ No newline at end of file From 0c518cbd647d26aee76ef1a33ba6ca4be3be4f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 11 Jan 2026 22:20:17 +0100 Subject: [PATCH 03/43] Remove OrchardCore.Tenants from the recipes. --- .../Lombiq.OrchardCoreApiClient.Tester.OpenId.recipe.json | 3 +-- .../Extensions/TestCaseUITestContextExtensions.cs | 1 + .../Lombiq.OrchardCoreApiClient.Tests.UI.OpenId.recipe.json | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Lombiq.OrchardCoreApiClient.Tester/Recipes/Lombiq.OrchardCoreApiClient.Tester.OpenId.recipe.json b/Lombiq.OrchardCoreApiClient.Tester/Recipes/Lombiq.OrchardCoreApiClient.Tester.OpenId.recipe.json index 5cd13d4..468804c 100644 --- a/Lombiq.OrchardCoreApiClient.Tester/Recipes/Lombiq.OrchardCoreApiClient.Tester.OpenId.recipe.json +++ b/Lombiq.OrchardCoreApiClient.Tester/Recipes/Lombiq.OrchardCoreApiClient.Tester.OpenId.recipe.json @@ -18,8 +18,7 @@ "OrchardCore.OpenId.Management", "OrchardCore.OpenId.Server", "OrchardCore.OpenId.Validation", - "OrchardCore.Taxonomies", - "OrchardCore.Tenants" + "OrchardCore.Taxonomies" ] }, { diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index a0847fe..60a02dc 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -29,6 +29,7 @@ public static async Task TestOrchardCoreApiClientBehaviorAsync( string clientSecret = null, string featureProfile = null) { + await context.EnableTenantsFeatureAsync(); await context.TestTenantsOrchardCoreApiClientBehaviorAsync( new ApiClientBehaviorTestModel { diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Recipes/Lombiq.OrchardCoreApiClient.Tests.UI.OpenId.recipe.json b/Lombiq.OrchardCoreApiClient.Tests.UI/Recipes/Lombiq.OrchardCoreApiClient.Tests.UI.OpenId.recipe.json index 7c79db1..267e26b 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Recipes/Lombiq.OrchardCoreApiClient.Tests.UI.OpenId.recipe.json +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Recipes/Lombiq.OrchardCoreApiClient.Tests.UI.OpenId.recipe.json @@ -15,8 +15,7 @@ "OrchardCore.OpenId", "OrchardCore.OpenId.Management", "OrchardCore.OpenId.Server", - "OrchardCore.OpenId.Validation", - "OrchardCore.Tenants" + "OrchardCore.OpenId.Validation" ] }, // In this sample we must use "ASP.NET Core Data Protection" access token format (which doesn't use encryption), From 233d54892200dca56bc33396230af41d5819c56f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Wed, 14 Jan 2026 17:28:50 +0100 Subject: [PATCH 04/43] Upgrade OC preview. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index b7e22fc..13d1e9b 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From f5fb7224d1c9f4a9c42942d5e55f8ce136daa440 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 20 Jan 2026 00:17:19 +0100 Subject: [PATCH 05/43] Update branch selector. --- .github/workflows/publish-nuget.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-nuget.yml b/.github/workflows/publish-nuget.yml index fac826d..8e61048 100644 --- a/.github/workflows/publish-nuget.yml +++ b/.github/workflows/publish-nuget.yml @@ -8,6 +8,6 @@ on: jobs: publish-nuget: name: Publish to NuGet - uses: Lombiq/GitHub-Actions/.github/workflows/publish-nuget.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/publish-nuget.yml@issue/OSOE-925 secrets: API_KEY: ${{ secrets.DEFAULT_NUGET_PUBLISH_API_KEY }} From 3a5a53ddb2d8bcb6b8923eda1b180eb867dfb0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 20 Jan 2026 00:22:15 +0100 Subject: [PATCH 06/43] Update branch selectors. --- .github/workflows/validate-nuget-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/validate-nuget-publish.yml b/.github/workflows/validate-nuget-publish.yml index 9f8979c..f0fd6be 100644 --- a/.github/workflows/validate-nuget-publish.yml +++ b/.github/workflows/validate-nuget-publish.yml @@ -9,4 +9,4 @@ on: jobs: validate-nuget-publish: name: Validate NuGet Publish - uses: Lombiq/GitHub-Actions/.github/workflows/validate-nuget-publish.yml@dev + uses: Lombiq/GitHub-Actions/.github/workflows/validate-nuget-publish.yml@issue/OSOE-925 From fccb5d5427ac815bfb27329ac16d7d4a5b111f20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 20 Jan 2026 12:38:24 +0100 Subject: [PATCH 07/43] CompatibilitySuppressions.xml --- CompatibilitySuppressions.xml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 CompatibilitySuppressions.xml diff --git a/CompatibilitySuppressions.xml b/CompatibilitySuppressions.xml new file mode 100644 index 0000000..8af156c --- /dev/null +++ b/CompatibilitySuppressions.xml @@ -0,0 +1,8 @@ + + + + + PKV006 + net8.0 + + \ No newline at end of file From a280886b800453bc11d75a8d0adfbd9840c9e4df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 20 Jan 2026 13:21:25 +0100 Subject: [PATCH 08/43] Nuget. --- .../Lombiq.OrchardCoreApiClient.Tests.UI.csproj | 2 +- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj index f8a8ef1..9031e1b 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj @@ -21,7 +21,7 @@ - + diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 13d1e9b..d77cf9a 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -37,7 +37,7 @@ - + From b67dce4cff332dbf26a014d002d93c96fa4416d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 20 Jan 2026 14:30:58 +0100 Subject: [PATCH 09/43] Delete all CompatibilitySuppressions so we may start from scratch. --- CompatibilitySuppressions.xml | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 CompatibilitySuppressions.xml diff --git a/CompatibilitySuppressions.xml b/CompatibilitySuppressions.xml deleted file mode 100644 index 8af156c..0000000 --- a/CompatibilitySuppressions.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PKV006 - net8.0 - - \ No newline at end of file From 5147e8e93614f56e6d882cef29806c54941170ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 20 Jan 2026 18:27:50 +0100 Subject: [PATCH 10/43] CompatibilitySuppressions.xml --- .../CompatibilitySuppressions.xml | 8 ++++++++ Lombiq.OrchardCoreApiClient/CompatibilitySuppressions.xml | 8 ++++++++ 2 files changed, 16 insertions(+) create mode 100644 Lombiq.OrchardCoreApiClient.Tests.UI/CompatibilitySuppressions.xml create mode 100644 Lombiq.OrchardCoreApiClient/CompatibilitySuppressions.xml diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/CompatibilitySuppressions.xml b/Lombiq.OrchardCoreApiClient.Tests.UI/CompatibilitySuppressions.xml new file mode 100644 index 0000000..8af156c --- /dev/null +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/CompatibilitySuppressions.xml @@ -0,0 +1,8 @@ + + + + + PKV006 + net8.0 + + \ No newline at end of file diff --git a/Lombiq.OrchardCoreApiClient/CompatibilitySuppressions.xml b/Lombiq.OrchardCoreApiClient/CompatibilitySuppressions.xml new file mode 100644 index 0000000..8af156c --- /dev/null +++ b/Lombiq.OrchardCoreApiClient/CompatibilitySuppressions.xml @@ -0,0 +1,8 @@ + + + + + PKV006 + net8.0 + + \ No newline at end of file From 1b723c7977350c9f3ea8ef04c530729d10c3643c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Leh=C3=B3czky?= Date: Thu, 22 Jan 2026 00:28:36 +0100 Subject: [PATCH 11/43] Typo --- Lombiq.OrchardCoreApiClient/Interfaces/IOrchardCoreApi.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Interfaces/IOrchardCoreApi.cs b/Lombiq.OrchardCoreApiClient/Interfaces/IOrchardCoreApi.cs index 8cb5e2b..3d90947 100644 --- a/Lombiq.OrchardCoreApiClient/Interfaces/IOrchardCoreApi.cs +++ b/Lombiq.OrchardCoreApiClient/Interfaces/IOrchardCoreApi.cs @@ -9,7 +9,7 @@ namespace Lombiq.OrchardCoreApiClient.Interfaces; [SuppressMessage( "Design", "CA1040:Avoid empty interfaces", - Justification = "This is a base interface used to identify all Orchard Core API interfaces May be extended in the future.")] + Justification = "This is a base interface used to identify all Orchard Core API interfaces. May be extended in the future.")] public interface IOrchardCoreApi { } From 5e9c9042e9fe14e234d40fa18dde0d519955dcba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Thu, 22 Jan 2026 16:50:42 +0100 Subject: [PATCH 12/43] Upgrade OC preview. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 4dad819..9bac88d 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From 941afe7f8c0cb3e46d41350615e7188920ee8a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Thu, 22 Jan 2026 19:40:27 +0100 Subject: [PATCH 13/43] HL nuget --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 9bac88d..11f9326 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -37,7 +37,7 @@ - + From c2f1e98bb63c1fb500e293dbab7855f0969e91cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Thu, 22 Jan 2026 22:49:10 +0100 Subject: [PATCH 14/43] Renames and minor fixes. --- .../Extensions/TestCaseUITestContextExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index edcbdaa..0811a5b 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -29,7 +29,7 @@ public static async Task TestOrchardCoreApiClientBehaviorAsync( string clientSecret = null, string featureProfile = null) { - await context.EnableTenantsFeatureAsync(); + await context.EnableTenantsFeatureDirectlyAsync(); await context.TestTenantsOrchardCoreApiClientBehaviorAsync( new ApiClientBehaviorTestModel { From d857b4a748cf7aaa60a7cf104dbcff714d2aaef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Thu, 22 Jan 2026 23:17:10 +0100 Subject: [PATCH 15/43] Update UITT NuGet. --- .../Lombiq.OrchardCoreApiClient.Tests.UI.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj index 9031e1b..a4dda4a 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj @@ -21,7 +21,7 @@ - + From 1e266dcb2da5425675e62b6116739bf896fba47d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Fri, 23 Jan 2026 12:15:16 +0100 Subject: [PATCH 16/43] UC preview update. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 11f9326..aff3874 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From de7397a6bd32e5d52533386d0dde252cfda33adf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Fri, 23 Jan 2026 17:01:50 +0100 Subject: [PATCH 17/43] Update HL nuget. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index aff3874..9400181 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -37,7 +37,7 @@ - + From bd51bd5aa4494d2c90ebf9902cd1f2280134ba3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 26 Jan 2026 20:56:42 +0100 Subject: [PATCH 18/43] Better error checking. --- .../TestCaseUITestContextExtensions.cs | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index 0811a5b..768ee1d 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -9,10 +9,14 @@ using OpenQA.Selenium; using OrchardCore.Autoroute.Models; using OrchardCore.ContentManagement; +using OrchardCore.Data; using OrchardCore.Taxonomies.Models; +using Refit; using Shouldly; using System; using System.Linq; +using System.Net; +using System.Net.Http.Json; using System.Text.Json; using System.Threading.Tasks; using Xunit; @@ -104,8 +108,8 @@ public static async Task TestTenantsOrchardCoreApiClientBehaviorAsync( { context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Using local test settings for creating tenant."); var databaseProvider = context.Configuration.UseSqlServer - ? "SqlConnection" - : "Sqlite"; + ? DatabaseProviderValue.SqlConnection + : DatabaseProviderValue.Sqlite; createApiModel.DatabaseProvider = databaseProvider; createApiModel.ConnectionString = context.SqlServerRunningContext?.ConnectionString; createApiModel.RequestUrlHost = string.Empty; @@ -231,9 +235,7 @@ private static async Task TestTenantCreateAsync( using (var response = await apiClient.OrchardCoreApi.CreateAsync(createApiModel)) { await context.AssertLogsAsync(); - response.Error.ShouldBeNull( - $"Tenant creation failed with status code {response.StatusCode}. Content: {response.Error?.Content}\n" + - $"Request: {response.RequestMessage}\nDriver URL: {context.Driver.Url}"); + CheckResponse(response, "creation", context); context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Tenant creation response had no errors."); @@ -276,9 +278,7 @@ private static async Task TestTenantSetupAsync( context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Initiating tenant setup..."); using (var response = await apiClient.OrchardCoreApi.SetupAsync(setupApiModel)) { - response.Error.ShouldBeNull( - $"Tenant setup failed with status code {response.StatusCode}. Content: {response.Error?.Content}\n" + - $"Request: {response.RequestMessage}\nDriver URL: {context.Driver.Url}"); + CheckResponse(response, "setup", context); } context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Now going to the tenant landing page to assert the setup."); @@ -303,9 +303,7 @@ private static async Task TestTenantEditAsync( context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Editing the tenant..."); using (var response = await apiClient.OrchardCoreApi.EditAsync(editModel)) { - response.Error.ShouldBeNull( - $"Tenant edit failed with status code {response.StatusCode}. Content: {response.Error?.Content}\n" + - $"Request: {response.RequestMessage}\nDriver URL: {context.Driver.Url}"); + CheckResponse(response, "edit", context); } if (checkOnAdmin) @@ -329,9 +327,7 @@ private static async Task TestTenantEditAsync( using (var response = await apiClient.OrchardCoreApi.EditAsync(editModel)) { - response.Error.ShouldBeNull( - $"Tenant edit (with name change) failed with status code {response.StatusCode}. Content: {response.Error?.Content}\n" + - $"Request: {response.RequestMessage}\nDriver URL: {context.Driver.Url}"); + CheckResponse(response, "edit (with name change)", context); } if (checkOnAdmin) @@ -366,9 +362,7 @@ private static async Task TestTenantDisableAsync( using (var response = await apiClient.OrchardCoreApi.DisableAsync(editModel.Name)) { - response.Error.ShouldBeNull( - $"Tenant disable failed with status code {response.StatusCode}. Content: {response.Error?.Content}\n" + - $"Request: {response.RequestMessage}\nDriver URL: {context.Driver.Url}"); + CheckResponse(response, "disable", context); } if (checkOnAdmin) @@ -396,7 +390,7 @@ await ReliabilityHelper.DoWithRetriesOrFailAsync( // The tenant can remain running for a while even after having been disabled. Waiting a bit here to see // if it gets unstuck. - if (response.StatusCode == System.Net.HttpStatusCode.BadRequest && + if (response.StatusCode == HttpStatusCode.BadRequest && response.Error?.Content?.Contains($"The tenant '{editModel.Name}' should be 'Disabled' or 'Uninitialized'.") == true) { context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug( @@ -405,9 +399,7 @@ await ReliabilityHelper.DoWithRetriesOrFailAsync( return false; } - response.Error.ShouldBeNull( - $"Tenant remove failed with status code {response.StatusCode}. Content: {response.Error?.Content}\n" + - $"Request: {response.RequestMessage}\nDriver URL: {context.Driver.Url}"); + CheckResponse(response, "remove", context); return true; }, @@ -531,4 +523,17 @@ private static ApiClientSettings CreateApiClientSettings(UITestContext context, DisableCertificateValidation = true, }; } + + private static void CheckResponse(ApiResponse response, string taskName, UITestContext context) + { + var request = response.RequestMessage?.ToString() ?? ""; + if (response.RequestMessage?.Content is JsonContent jsonContent) + { + request += "\nJSON Content: " + jsonContent.Value; + } + + response.Error.ShouldBeNull( + $"Tenant {taskName} failed with status code {response.StatusCode}. Content: {response.Error?.Content}\n" + + $"Request: {request}\nDriver URL: {context.Driver.Url}"); + } } From 58ff684ef61e47e9b5e003f4d6088e5a14a8d825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 26 Jan 2026 21:29:07 +0100 Subject: [PATCH 19/43] Fix formatting --- .../Extensions/TestCaseUITestContextExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index 768ee1d..4f9efe5 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -531,7 +531,7 @@ private static void CheckResponse(ApiResponse response, string taskName, { request += "\nJSON Content: " + jsonContent.Value; } - + response.Error.ShouldBeNull( $"Tenant {taskName} failed with status code {response.StatusCode}. Content: {response.Error?.Content}\n" + $"Request: {request}\nDriver URL: {context.Driver.Url}"); From 227e2d27c88a07a400edaf5c435621b01049ac2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 26 Jan 2026 21:49:04 +0100 Subject: [PATCH 20/43] Serialize --- .../Extensions/TestCaseUITestContextExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index 4f9efe5..9f3ac0e 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -529,7 +529,7 @@ private static void CheckResponse(ApiResponse response, string taskName, var request = response.RequestMessage?.ToString() ?? ""; if (response.RequestMessage?.Content is JsonContent jsonContent) { - request += "\nJSON Content: " + jsonContent.Value; + request += "\nJSON Content: " + JsonSerializer.Serialize(jsonContent.Value); } response.Error.ShouldBeNull( From da3f9ee71c8ec04edec85c0f1a969340aa3938ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 27 Jan 2026 00:50:06 +0100 Subject: [PATCH 21/43] Fill out DatabaseProvider in the setupApiModel as well. --- .../Extensions/TestCaseUITestContextExtensions.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index 9f3ac0e..7831be4 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -112,6 +112,8 @@ public static async Task TestTenantsOrchardCoreApiClientBehaviorAsync( : DatabaseProviderValue.Sqlite; createApiModel.DatabaseProvider = databaseProvider; createApiModel.ConnectionString = context.SqlServerRunningContext?.ConnectionString; + setupApiModel.DatabaseProvider = databaseProvider; + setupApiModel.ConnectionString = context.SqlServerRunningContext?.ConnectionString; createApiModel.RequestUrlHost = string.Empty; editModel.RequestUrlHost = string.Empty; } From e196fd81f9d3f02d2bc852a685ebfe1ee97352ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 27 Jan 2026 02:14:10 +0100 Subject: [PATCH 22/43] Add retries to TestTenantSetupAsync. --- .../TestCaseUITestContextExtensions.cs | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index 7831be4..887722e 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -1,4 +1,5 @@ using Atata; +using Lombiq.HelpfulLibraries.Common.Utilities; using Lombiq.OrchardCoreApiClient.Clients; using Lombiq.OrchardCoreApiClient.Models; using Lombiq.OrchardCoreApiClient.Tests.UI.Models; @@ -277,13 +278,22 @@ private static async Task TestTenantSetupAsync( TenantApiModel createApiModel, TenantSetupApiModel setupApiModel) { - context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Initiating tenant setup..."); - using (var response = await apiClient.OrchardCoreApi.SetupAsync(setupApiModel)) + var output = context.Configuration.TestOutputHelper; + + var success = false; + const int maxSetupAttempts = 3; + for (var i = 0; !success && i < maxSetupAttempts; i++) { - CheckResponse(response, "setup", context); + output.WriteLineTimestampedAndDebug(StringHelper.CreateInvariant( + $"Initiating tenant setup (attempt {i + 1}/{maxSetupAttempts})...)")); + + using var response = await apiClient.OrchardCoreApi.SetupAsync(setupApiModel); + + if (response.Error == null) success = true; + if (i == maxSetupAttempts - 1) CheckResponse(response, "setup", context); } - context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Now going to the tenant landing page to assert the setup."); + output.WriteLineTimestampedAndDebug("Now going to the tenant landing page to assert the setup."); await context.GoToTenantLandingPageAsync(createApiModel.RequestUrlPrefix, createApiModel.RequestUrlHost); @@ -292,7 +302,7 @@ private static async Task TestTenantSetupAsync( await GoToTenantUrlAndAssertHeaderAsync(context, createApiModel, setupApiModel); - context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Setting up the tenant succeeded."); + output.WriteLineTimestampedAndDebug("Setting up the tenant succeeded."); } private static async Task TestTenantEditAsync( @@ -528,6 +538,8 @@ private static ApiClientSettings CreateApiClientSettings(UITestContext context, private static void CheckResponse(ApiResponse response, string taskName, UITestContext context) { + if (response.Error == null) return; + var request = response.RequestMessage?.ToString() ?? ""; if (response.RequestMessage?.Content is JsonContent jsonContent) { From 332068f5fc740562331bf789641a3512c03f6e4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 27 Jan 2026 02:16:50 +0100 Subject: [PATCH 23/43] Add delay. --- .../Extensions/TestCaseUITestContextExtensions.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index 887722e..daf518d 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -289,8 +289,14 @@ private static async Task TestTenantSetupAsync( using var response = await apiClient.OrchardCoreApi.SetupAsync(setupApiModel); - if (response.Error == null) success = true; + if (response.Error == null) + { + success = true; + continue; + } + if (i == maxSetupAttempts - 1) CheckResponse(response, "setup", context); + await Task.Delay(TimeSpan.FromSeconds(3), Xunit.TestContext.Current.CancellationToken); } output.WriteLineTimestampedAndDebug("Now going to the tenant landing page to assert the setup."); From a08d16eeaae4789d6f2de35a7aaa16b1e7275759 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 27 Jan 2026 02:49:24 +0100 Subject: [PATCH 24/43] Revert "Add delay." This reverts commit 332068f5fc740562331bf789641a3512c03f6e4a. --- .../Extensions/TestCaseUITestContextExtensions.cs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index daf518d..887722e 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -289,14 +289,8 @@ private static async Task TestTenantSetupAsync( using var response = await apiClient.OrchardCoreApi.SetupAsync(setupApiModel); - if (response.Error == null) - { - success = true; - continue; - } - + if (response.Error == null) success = true; if (i == maxSetupAttempts - 1) CheckResponse(response, "setup", context); - await Task.Delay(TimeSpan.FromSeconds(3), Xunit.TestContext.Current.CancellationToken); } output.WriteLineTimestampedAndDebug("Now going to the tenant landing page to assert the setup."); From d571023f35772da174bc1b78cb2de9fb66a35c43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 27 Jan 2026 02:49:28 +0100 Subject: [PATCH 25/43] Revert "Add retries to TestTenantSetupAsync." This reverts commit e196fd81f9d3f02d2bc852a685ebfe1ee97352ac. --- .../TestCaseUITestContextExtensions.cs | 22 +++++-------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index 887722e..7831be4 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -1,5 +1,4 @@ using Atata; -using Lombiq.HelpfulLibraries.Common.Utilities; using Lombiq.OrchardCoreApiClient.Clients; using Lombiq.OrchardCoreApiClient.Models; using Lombiq.OrchardCoreApiClient.Tests.UI.Models; @@ -278,22 +277,13 @@ private static async Task TestTenantSetupAsync( TenantApiModel createApiModel, TenantSetupApiModel setupApiModel) { - var output = context.Configuration.TestOutputHelper; - - var success = false; - const int maxSetupAttempts = 3; - for (var i = 0; !success && i < maxSetupAttempts; i++) + context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Initiating tenant setup..."); + using (var response = await apiClient.OrchardCoreApi.SetupAsync(setupApiModel)) { - output.WriteLineTimestampedAndDebug(StringHelper.CreateInvariant( - $"Initiating tenant setup (attempt {i + 1}/{maxSetupAttempts})...)")); - - using var response = await apiClient.OrchardCoreApi.SetupAsync(setupApiModel); - - if (response.Error == null) success = true; - if (i == maxSetupAttempts - 1) CheckResponse(response, "setup", context); + CheckResponse(response, "setup", context); } - output.WriteLineTimestampedAndDebug("Now going to the tenant landing page to assert the setup."); + context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Now going to the tenant landing page to assert the setup."); await context.GoToTenantLandingPageAsync(createApiModel.RequestUrlPrefix, createApiModel.RequestUrlHost); @@ -302,7 +292,7 @@ private static async Task TestTenantSetupAsync( await GoToTenantUrlAndAssertHeaderAsync(context, createApiModel, setupApiModel); - output.WriteLineTimestampedAndDebug("Setting up the tenant succeeded."); + context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Setting up the tenant succeeded."); } private static async Task TestTenantEditAsync( @@ -538,8 +528,6 @@ private static ApiClientSettings CreateApiClientSettings(UITestContext context, private static void CheckResponse(ApiResponse response, string taskName, UITestContext context) { - if (response.Error == null) return; - var request = response.RequestMessage?.ToString() ?? ""; if (response.RequestMessage?.Content is JsonContent jsonContent) { From bb97be5b4579d88355dc38cd1b5031721b352bd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Tue, 27 Jan 2026 13:42:01 +0100 Subject: [PATCH 26/43] Update OC preview. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 9400181..f8712f6 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From ac9136e52f8364a90ec343459a10b9dd171cce80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Wed, 28 Jan 2026 23:24:19 +0100 Subject: [PATCH 27/43] Update HL NuGet. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index f8712f6..32122d3 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -37,7 +37,7 @@ - + From 6c85bf444af9e7ee8cf5ef0effa7f5a11658c1de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Wed, 4 Feb 2026 18:04:55 +0100 Subject: [PATCH 28/43] Update OC preview. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 32122d3..b6f8964 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From dee0c30520ce46cf83bdcd84d6a49c0c9af6c056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Thu, 5 Feb 2026 12:15:22 +0100 Subject: [PATCH 29/43] Update OC preview. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index b6f8964..8bbca66 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From dd8d97d8831772557f5391fe22041e99bff0b16f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Thu, 5 Feb 2026 21:24:07 +0100 Subject: [PATCH 30/43] Update HL Nuget. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 8bbca66..63f267d 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -37,7 +37,7 @@ - + From aaa7c8ec20f6d0e5571f61ee89c4060948c28c84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Thu, 5 Feb 2026 21:51:18 +0100 Subject: [PATCH 31/43] Update UITT nuget. --- .../Lombiq.OrchardCoreApiClient.Tests.UI.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj index a4dda4a..66ea256 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj @@ -21,7 +21,7 @@ - + From a88be149699eac16af1bfd803f8dbf01e20a0359 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Fri, 6 Feb 2026 11:43:48 +0100 Subject: [PATCH 32/43] Upda --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 63f267d..e4ac216 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From 4f4423f17ae83446bc9607d014105d2440da6c66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Thu, 12 Feb 2026 23:27:28 +0100 Subject: [PATCH 33/43] Update OC to avoid missing method exceptions. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index e4ac216..7f9f341 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From 204f1e7c5a7d74e0ade539df27975477a7801db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Mon, 16 Feb 2026 17:32:39 +0100 Subject: [PATCH 34/43] Update OC preview. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index e4ac216..7f9f341 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From 8fddcc9867cdb8517cfb2c64f8494fee1c3fd101 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sat, 21 Feb 2026 20:19:26 +0100 Subject: [PATCH 35/43] Update OC preview and fix build errors. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 7f9f341..73b4454 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From 0b3493290756bdc39b1415be6cee7a021b566e31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 22 Feb 2026 10:17:18 +0100 Subject: [PATCH 36/43] Update OC preview. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 73b4454..775e377 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From b72c667d043ec420864b0506bc99dd0b58e7af12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 22 Feb 2026 11:34:29 +0100 Subject: [PATCH 37/43] Update HL nuget. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 775e377..10f7fd3 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -37,7 +37,7 @@ - + From 9ffe0b2eb4a6c443456bab88f70af330b0d495f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 22 Feb 2026 12:33:59 +0100 Subject: [PATCH 38/43] UITT nuget --- .../Lombiq.OrchardCoreApiClient.Tests.UI.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj index 66ea256..5607b64 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj @@ -21,7 +21,7 @@ - + From ed5a2bb91947d3a8f0a4ef06fb2841559e307139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 22 Feb 2026 12:49:08 +0100 Subject: [PATCH 39/43] Update HL nuget correctly. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 10f7fd3..634e520 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -37,7 +37,7 @@ - + From 01d8cd5edba971b68a77e0518085f0251e5a0013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sun, 22 Feb 2026 15:59:50 +0100 Subject: [PATCH 40/43] Update UITT nuget correctly. --- .../Lombiq.OrchardCoreApiClient.Tests.UI.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj index 5607b64..24bfadb 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj @@ -21,7 +21,7 @@ - + From 6cabac9a6d2440f13ed3d2ee193a36e26f74bd81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Fri, 27 Feb 2026 14:22:18 +0100 Subject: [PATCH 41/43] Add diagnostics on invalid URL. --- .../TestCaseUITestContextExtensions.cs | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs index 74252fb..2cffa72 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Extensions/TestCaseUITestContextExtensions.cs @@ -242,7 +242,32 @@ private static async Task TestTenantCreateAsync( context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Tenant creation response had no errors."); // Check if response URL is valid, and visit it (should be the tenant setup page and not 404 error). - var responseUrl = new Uri(response.Content); + if (!Uri.TryCreate(response.Content, UriKind.Absolute, out var responseUrl)) + { + context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug( + $"Couldn't parse response URL ({response.Content}).\n" + JsonSerializer.Serialize(new + { + response.Content, + response.ContentHeaders, + response.Error, + response.Headers, + response.IsSuccessful, + response.IsSuccessStatusCode, + response.ReasonPhrase, + response.StatusCode, + response.Version, + RequestMessage = new + { + response.RequestMessage?.Content, + response.RequestMessage?.Headers, + response.RequestMessage?.Version, + response.RequestMessage?.Method, + response.RequestMessage?.RequestUri, + response.RequestMessage?.VersionPolicy, + }, + })); + } + context.Configuration.TestOutputHelper.WriteLineTimestampedAndDebug("Trying to go to the tenant setup page: " + responseUrl); await context.GoToAbsoluteUrlAsync(responseUrl); } From 66bb483366a9541bb152bbb2adb001a467519f72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sat, 7 Mar 2026 11:32:52 +0100 Subject: [PATCH 42/43] Update OC preview. --- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 634e520..2177f48 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -25,7 +25,7 @@ - + From 4a7f37e3352d6c653d8c861e3e3797d7caaeec82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A1ra=20El-Saig?= Date: Sat, 7 Mar 2026 13:19:04 +0100 Subject: [PATCH 43/43] Update nugets. --- .../Lombiq.OrchardCoreApiClient.Tests.UI.csproj | 2 +- Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj index 24bfadb..3d79376 100644 --- a/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj +++ b/Lombiq.OrchardCoreApiClient.Tests.UI/Lombiq.OrchardCoreApiClient.Tests.UI.csproj @@ -21,7 +21,7 @@ - + diff --git a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj index 2177f48..bcba0de 100644 --- a/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj +++ b/Lombiq.OrchardCoreApiClient/Lombiq.OrchardCoreApiClient.csproj @@ -37,7 +37,7 @@ - +