diff --git a/InterlinedList.Contract.Tests/EndpointInventoryTests.cs b/InterlinedList.Contract.Tests/EndpointInventoryTests.cs index 9758a3f..399cad0 100644 --- a/InterlinedList.Contract.Tests/EndpointInventoryTests.cs +++ b/InterlinedList.Contract.Tests/EndpointInventoryTests.cs @@ -26,7 +26,15 @@ public sealed class EndpointInventoryTests private static readonly Regex PathLiteral = new("\"\\$?(api/[^\"]*)\"", RegexOptions.Compiled); private static readonly Regex HttpVerb = new(@"HttpMethod\.(Get|Post|Put|Patch|Delete)", RegexOptions.Compiled); private static readonly Regex Interpolation = new(@"\{Uri\.EscapeDataString\(([A-Za-z0-9_]+)\)\}", RegexOptions.Compiled); - private static readonly Regex GetHelper = new(@"\bGet[A-Za-z]*Async\s*[<(]", RegexOptions.Compiled); + /// + /// A read helper, by name. Get…Async covers the shared plumbing + /// (GetJsonAsync, GetElementAsync, GetStringAsync, + /// GetUserArrayAsync) and most domain helpers; Read…Async + /// covers the ones that read more naturally that way, like + /// ReadTagsAsync. Both unambiguously denote a GET. + /// + private static readonly Regex GetHelper = + new(@"\b(Get|Read)[A-Za-z]*Async\s*[<(]", RegexOptions.Compiled); /// /// A helper whose NAME carries its verb — Get…Async, Put…Async, diff --git a/InterlinedList.Contract.Tests/InterlinedList.Contract.Tests.csproj b/InterlinedList.Contract.Tests/InterlinedList.Contract.Tests.csproj index 4173454..f26252b 100644 --- a/InterlinedList.Contract.Tests/InterlinedList.Contract.Tests.csproj +++ b/InterlinedList.Contract.Tests/InterlinedList.Contract.Tests.csproj @@ -81,8 +81,10 @@ AppLog.cs -> System.Diagnostics, Windows Event Log CredentialStore.cs -> System.Security.Cryptography, DPAPI SessionService.cs -> CommunityToolkit.Mvvm - AppServices.cs -> transitively needs SessionService + AiAvailabilityService.cs -> CommunityToolkit.Mvvm + AppServices.cs -> transitively needs the two above ProfileLocationProvider.cs-> transitively needs SessionService + GitHubListIndex.cs -> uses AppServices and AppLog If you add a file needing WPF, DPAPI, the Event Log or the MVVM toolkit — or one that merely references such a file — exclude it here too. And prefer not to: portability is what lets this suite run on @@ -90,7 +92,7 @@ stayed portable. --> + Exclude="..\InterlinedList\Services\AppLog.cs;..\InterlinedList\Services\CredentialStore.cs;..\InterlinedList\Services\SessionService.cs;..\InterlinedList\Services\AiAvailabilityService.cs;..\InterlinedList\Services\AppServices.cs;..\InterlinedList\Services\ProfileLocationProvider.cs;..\InterlinedList\Services\GitHubListIndex.cs" />