From a8326a7374ce12349705fb764f4190bde3885bc6 Mon Sep 17 00:00:00 2001 From: Levi Baker Date: Fri, 12 Jun 2026 11:22:21 -0700 Subject: [PATCH 1/3] updated HC packages. --- .../DataAnnotatedModelValidations.Tests.csproj | 13 +++++++------ .../DataAnnotatedModelValidations.csproj | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/DataAnnotatedModelValidations.Tests/DataAnnotatedModelValidations.Tests.csproj b/DataAnnotatedModelValidations.Tests/DataAnnotatedModelValidations.Tests.csproj index b2fa1e3..59ebb12 100644 --- a/DataAnnotatedModelValidations.Tests/DataAnnotatedModelValidations.Tests.csproj +++ b/DataAnnotatedModelValidations.Tests/DataAnnotatedModelValidations.Tests.csproj @@ -1,4 +1,4 @@ - + net8.0;net9.0;net10.0 @@ -19,11 +19,12 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + + + + diff --git a/DataAnnotatedModelValidations/DataAnnotatedModelValidations.csproj b/DataAnnotatedModelValidations/DataAnnotatedModelValidations.csproj index 6a211b6..ce42e9b 100644 --- a/DataAnnotatedModelValidations/DataAnnotatedModelValidations.csproj +++ b/DataAnnotatedModelValidations/DataAnnotatedModelValidations.csproj @@ -1,4 +1,4 @@ - + net8.0;net9.0;net10.0 @@ -22,7 +22,7 @@ - + From 0c0e4eb0a77ba87c3f9376a5370bdeb5526ef5e8 Mon Sep 17 00:00:00 2001 From: Levi Baker Date: Fri, 12 Jun 2026 11:25:14 -0700 Subject: [PATCH 2/3] Added test demoing issue with source generator method arguments. See https://github.com/ChilliCream/graphql-platform/issues/9908 --- .../PipelineExecutionTests.GraphQL.cs | 10 ++++++++++ .../Pipeline/PipelineExecutionTests.cs | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.GraphQL.cs b/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.GraphQL.cs index 2e390b4..1784c8c 100644 --- a/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.GraphQL.cs +++ b/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.GraphQL.cs @@ -195,4 +195,14 @@ public class SampleExtension } }.AsQueryable(); } + +} + +/// +/// Sample query methods that get registered via source generation. +/// +[QueryType] +public static partial class SourceGeneratorQuery +{ + public static string? GetTextSourceGenerator([StringLength(5, MinimumLength = 3)] string? txt) => txt; } \ No newline at end of file diff --git a/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.cs b/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.cs index cadfa42..2a09a46 100644 --- a/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.cs +++ b/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.cs @@ -636,4 +636,23 @@ public async Task Validation_Should_Return_Expected_Errors_When_Not_Restricted_T Assert.Equal(numberOfErrors, result.ExpectOperationResult().Errors?.Count); result.ExpectOperationResult().ToJson().MatchSnapshot(new SnapshotNameExtension($"{description}.snap")); } + + [Theory] + [InlineData("""{ textSourceGenerator(txt: "a") }""", 1, "text_source_gen__min_length_3")] + [InlineData("""{ textSourceGenerator(txt: "abcdefg") }""", 1, "text_source_gen__max_length_5")] + public async Task Validation_Should_Return_Expected_Errors_From_Source_Generated_Fields(string query, int numberOfErrors, string description) + { + var result = await new ServiceCollection() + .AddGraphQLServer() + .AddSorting() + .AddFiltering() + .AddQueryContext() + .AddTestsTypes() + .AddDataAnnotationsValidator() + .ExecuteRequestAsync(query); + + + Assert.Equal(numberOfErrors, result.ExpectOperationResult().Errors?.Count); + //result.ExpectOperationResult().ToJson().MatchSnapshot(new SnapshotNameExtension($"{description}.snap")); + } } \ No newline at end of file From bbc745d52091c7d95038024bbe93932168e897d3 Mon Sep 17 00:00:00 2001 From: Levi Baker Date: Fri, 12 Jun 2026 11:25:45 -0700 Subject: [PATCH 3/3] fix attribute order for analyzer rule --- .../Pipeline/PipelineExecutionTests.GraphQL.cs | 2 +- .../PipelineExecutionTests.Schema_Should_Resolve.snap | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.GraphQL.cs b/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.GraphQL.cs index 1784c8c..241e904 100644 --- a/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.GraphQL.cs +++ b/DataAnnotatedModelValidations.Tests/Pipeline/PipelineExecutionTests.GraphQL.cs @@ -23,8 +23,8 @@ public class Query public string GetMessage() => "Message"; [UseOffsetPaging] - [UseSorting] [UseFiltering] + [UseSorting] public async Task> GetSampleResponses( [Range(0, 100)] double percentage, QueryContext queryContext, diff --git a/DataAnnotatedModelValidations.Tests/Pipeline/__snapshots__/PipelineExecutionTests.Schema_Should_Resolve.snap b/DataAnnotatedModelValidations.Tests/Pipeline/__snapshots__/PipelineExecutionTests.Schema_Should_Resolve.snap index b268387..358cfc2 100644 --- a/DataAnnotatedModelValidations.Tests/Pipeline/__snapshots__/PipelineExecutionTests.Schema_Should_Resolve.snap +++ b/DataAnnotatedModelValidations.Tests/Pipeline/__snapshots__/PipelineExecutionTests.Schema_Should_Resolve.snap @@ -9,8 +9,8 @@ type Query { skip: Int take: Int percentage: Float! - order: [SampleResponseSortInput!] @cost(weight: "10") where: SampleResponseFilterInput @cost(weight: "10") + order: [SampleResponseSortInput!] @cost(weight: "10") ): SampleResponsesCollectionSegment @listSize( assumedSize: 100