From ab3909e384a362087c6b64aea1965059a933bbb0 Mon Sep 17 00:00:00 2001
From: Tobias Tengler <45513122+tobias-tengler@users.noreply.github.com>
Date: Mon, 4 Mar 2024 22:25:10 +0100
Subject: [PATCH] Convert Fusion Snapshots to Markdown (#6770)
---
.../src/CookieCrumble/CookieCrumble.csproj | 1 +
.../Extensions/SnapshotExtensions.cs | 5 +-
.../JsonElementSnapshotValueFormatter.cs | 16 +-
.../QueryPlanSnapshotValueFormatter.cs | 6 +-
.../SchemaSnapshotValueFormatter.cs | 12 +-
.../SkimmedSchemaSnapshotValueFormatter.cs | 13 ++
.../Formatters/SnapshotValueFormatter.cs | 7 +-
.../src/CookieCrumble/Snapshot.cs | 58 +++++-
.../CommandLine.Tests/ComposeCommandTests.cs | 16 +-
...mposeCommandTests.Compose_Fusion_Graph.md} | 30 ++-
...s.Compose_Fusion_Graph_Append_Subgraph.md} | 41 ++--
...s.Compose_Fusion_Graph_Remove_Subgraph.md} | 30 ++-
...mandTests.Compose_Loose_Subgraph_Files.md} | 24 ++-
...> ComposeCommandTests.Compose_With_Tag.md} | 24 ++-
...HelperTests.Create_Extract_Extensions.snap | 2 +
...geHelperTests.Create_Subgraph_Package.snap | 2 +
.../Composition.Tests/DemoIntegrationTests.cs | 26 +--
...egrationTests.Accounts_And_Reviews.graphql | 4 +
...s_And_Reviews2_Products_With_Nodes.graphql | 6 +
...ccounts_And_Reviews_Infer_Patterns.graphql | 4 +
...ests.Accounts_And_Reviews_Products.graphql | 4 +
...ews_Products_AutoCompose_With_Node.graphql | 4 +
...ts_And_Reviews_Products_With_Nodes.graphql | 4 +
...uire_Scalar_Arguments_No_Overloads.graphql | 4 +
...o_Not_Expose_Tags_On_Public_Schema.graphql | 4 +
....Exclude_Subgraphs_With_Review_Tag.graphql | 4 +
...e_System_Members_With_Internal_Tag.graphql | 4 +
...With_Internal_Tag_Which_Is_Private.graphql | 4 +
...Tests.Expose_Tags_On_Public_Schema.graphql | 4 +
.../Core.Tests/ConfigurationRewriterTests.cs | 2 +-
.../Fusion/test/Core.Tests/DataTests.cs | 2 +-
.../test/Core.Tests/DemoIntegrationTests.cs | 68 +++---
.../Fusion/test/Core.Tests/ErrorTests.cs | 14 +-
.../test/Core.Tests/EventStreamTests.cs | 2 +-
.../Fusion/test/Core.Tests/FileUploadTests.cs | 8 +-
.../Fusion/test/Core.Tests/InterfaceTests.cs | 6 +-
.../test/Core.Tests/IntrospectionTests.cs | 2 +-
.../test/Core.Tests/RequestPlannerTests.cs | 70 +++----
.../Fusion/test/Core.Tests/TestHelper.cs | 8 +-
.../Fusion/test/Core.Tests/UnionTests.cs | 8 +-
...Tests.Rewrite_HttpClient_Configuration.md} | 23 +-
... DataTests.Fetch_Data_Across_Subgraphs.md} | 64 +++---
...d_Reviews_And_Products_AutoCompose.graphql | 6 +
...And_Reviews_And_Products_Introspection.md} | 107 ++++++----
...Reviews_And_Products_Query_TopProducts.md} | 112 +++++-----
...nd_Reviews_And_Products_Query_TypeName.md} | 114 +++++-----
...nd_Reviews_And_Products_With_Variables.md} | 68 +++---
...ts.Authors_And_Reviews_AutoCompose.graphql | 6 +
...sts.Authors_And_Reviews_Batch_Requests.md} | 104 ++++++----
....Authors_And_Reviews_Query_GetUserById.md} | 58 ++++--
...uery_GetUserById_With_Invalid_Id_Value.md} | 64 +++---
...thors_And_Reviews_Query_GetUserReviews.md} | 124 ++++++-----
...s_And_Reviews_Query_Reformat_AuthorIds.md} | 88 ++++----
....Authors_And_Reviews_Query_ReviewsUser.md} | 168 ++++++++-------
...sts.Fetch_User_With_Invalid_Node_Field.md} | 82 +++++---
...rationTests.Fetch_User_With_Node_Field.md} | 58 ++++--
...ser_With_Node_Field_From_Two_Subgraphs.md} | 74 ++++---
...User_With_Node_Field_Pass_In_Review_Id.md} | 54 +++--
...ser_With_Node_Field_Pass_In_Unknown_Id.md} | 82 +++++---
...ionTests.Forward_Nested_Node_Variables.md} | 60 ++++--
...nTests.Forward_Nested_Object_Variables.md} | 68 +++---
...egrationTests.Forward_Nested_Variables.md} | 60 ++++--
...sts.Forward_Nested_Variables_No_OpName.md} | 60 ++++--
...Variables_No_OpName_Two_RootSelections.md} | 68 +++---
...tionTests.GetFirstPage_With_After_Null.md} | 66 +++---
...nap => DemoIntegrationTests.Hot_Reload.md} | 23 +-
...allel_Multiple_SubGraphs_WithArguments.md} | 134 ++++++------
...tegrationTests.Require_Data_In_Context.md} | 168 ++++++++-------
...grationTests.Require_Data_In_Context_2.md} | 160 +++++++-------
...grationTests.Require_Data_In_Context_3.md} | 196 ++++++++++--------
...ationTests.TypeName_Field_On_QueryRoot.md} | 54 +++--
...rTests.Accounts_Offline_Author_NonNull.md} | 54 +++--
...Tests.Accounts_Offline_Author_Nullable.md} | 92 ++++----
...s_Offline_Reviews_ListElement_Nullable.md} | 68 +++---
... ErrorTests.NestedResolveSubgraphError.md} | 104 +++++-----
...sts.NestedResolveWithListSubgraphError.md} | 124 +++++------
...> ErrorTests.ResolveByKeySubgraphError.md} | 138 ++++++------
...rrorTests.TopLevelResolveSubgraphError.md} | 82 ++++----
...s_And_Reviews_Subscription_OnNewReview.md} | 65 +++---
.../FileUploadTests.AutoCompose.graphql | 6 +
...ile.snap => FileUploadTests.UploadFile.md} | 58 ++++--
...2.snap => FileUploadTests.UploadFile_2.md} | 58 ++++--
...=> InterfaceTests.Query_Interface_List.md} | 74 ++++---
...sts.Query_Interface_List_With_Fragment.md} | 76 ++++---
...ery_Interface_List_With_Fragment_Fetch.md} | 76 ++++---
...sts.ShortCircuit_RootTypeName_Requests.md} | 86 ++++----
...p => RequestPlannerTests.Query_Plan_01.md} | 17 +-
...uestPlannerTests.Query_Plan_02_Aliases.md} | 17 +-
...rTests.Query_Plan_03_Argument_Literals.md} | 17 +-
...Tests.Query_Plan_04_Argument_Variables.md} | 17 +-
...nnerTests.Query_Plan_05_TypeName_Field.md} | 17 +-
...annerTests.Query_Plan_06_Introspection.md} | 17 +-
....Query_Plan_07_Introspection_And_Fetch.md} | 17 +-
...nerTests.Query_Plan_08_Single_Mutation.md} | 17 +-
...ery_Plan_09_Two_Mutation_Same_SubGraph.md} | 17 +-
...ery_Plan_10_Two_Mutation_Same_SubGraph.md} | 17 +-
...uery_Plan_11_Two_Mutation_Two_SubGraph.md} | 17 +-
...nnerTests.Query_Plan_12_Subscription_1.md} | 17 +-
...nnerTests.Query_Plan_13_Subscription_2.md} | 17 +-
...sts.Query_Plan_14_Node_Single_Fragment.md} | 17 +-
...ode_Single_Fragment_Multiple_Subgraphs.md} | 17 +-
....Query_Plan_16_Two_Node_Fields_Aliased.md} | 17 +-
...erTests.Query_Plan_17_Multi_Completion.md} | 17 +-
...ode_Single_Fragment_Multiple_Subgraphs.md} | 17 +-
...estPlannerTests.Query_Plan_19_Requires.md} | 17 +-
...stPlannerTests.Query_Plan_20_DeepQuery.md} | 17 +-
...an_21_Field_Requirement_Not_In_Context.md} | 17 +-
...tPlannerTests.Query_Plan_22_Interfaces.md} | 17 +-
...erTests.Query_Plan_23_Interfaces_Merge.md} | 17 +-
...ield_Requirement_And_Fields_In_Context.md} | 17 +-
...y_Plan_25_Variables_Are_Passed_Through.md} | 17 +-
...ircular_Dependency_When_Requiring_Data.md} | 17 +-
...tiple_Require_Steps_From_Same_Subgraph.md} | 17 +-
...erTests.Query_Plan_28_Simple_Root_Data.md} | 17 +-
...ts.Query_Plan_29_Simple_Root_List_Data.md} | 17 +-
...PlannerTests.Query_Plan_30_Entity_Data.md} | 17 +-
..._No_Value_Specified_With_Selection_Set.md} | 17 +-
...ry_Plan_32_Argument_No_Value_Specified.md} | 17 +-
...ent_Default_Value_Explicitly_Specified.md} | 17 +-
...4_Argument_Not_Default_Value_Specified.md} | 17 +-
...n_35_Argument_Value_Variable_Specified.md} | 17 +-
...Tests.Error_Union_With_Inline_Fragment.md} | 60 ++++--
...n_With_Inline_Fragment_Errors_Not_Null.md} | 70 ++++---
...> UnionTests.Error_Union_With_TypeName.md} | 60 ++++--
...or_Union_With_TypeName_Errors_Not_Null.md} | 68 +++---
125 files changed, 3027 insertions(+), 2113 deletions(-)
create mode 100644 src/CookieCrumble/src/CookieCrumble/Formatters/SkimmedSchemaSnapshotValueFormatter.cs
rename src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/{ComposeCommandTests.Compose_Fusion_Graph.snap => ComposeCommandTests.Compose_Fusion_Graph.md} (80%)
rename src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/{ComposeCommandTests.Compose_Fusion_Graph_Append_Subgraph.snap => ComposeCommandTests.Compose_Fusion_Graph_Append_Subgraph.md} (86%)
rename src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/{ComposeCommandTests.Compose_Fusion_Graph_Remove_Subgraph.snap => ComposeCommandTests.Compose_Fusion_Graph_Remove_Subgraph.md} (80%)
rename src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/{ComposeCommandTests.Compose_Loose_Subgraph_Files.snap => ComposeCommandTests.Compose_Loose_Subgraph_Files.md} (95%)
rename src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/{ComposeCommandTests.Compose_With_Tag.snap => ComposeCommandTests.Compose_With_Tag.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{ConfigurationRewriterTests.Rewrite_HttpClient_Configuration.snap => ConfigurationRewriterTests.Rewrite_HttpClient_Configuration.md} (95%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DataTests.Fetch_Data_Across_Subgraphs.snap => DataTests.Fetch_Data_Across_Subgraphs.md} (94%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_And_Products_Introspection.snap => DemoIntegrationTests.Authors_And_Reviews_And_Products_Introspection.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TopProducts.snap => DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TopProducts.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TypeName.snap => DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TypeName.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_And_Products_With_Variables.snap => DemoIntegrationTests.Authors_And_Reviews_And_Products_With_Variables.md} (95%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_Batch_Requests.snap => DemoIntegrationTests.Authors_And_Reviews_Batch_Requests.md} (95%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById.snap => DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById.md} (94%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById_With_Invalid_Id_Value.snap => DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById_With_Invalid_Id_Value.md} (93%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_Query_GetUserReviews.snap => DemoIntegrationTests.Authors_And_Reviews_Query_GetUserReviews.md} (95%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_Query_Reformat_AuthorIds.snap => DemoIntegrationTests.Authors_And_Reviews_Query_Reformat_AuthorIds.md} (95%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Authors_And_Reviews_Query_ReviewsUser.snap => DemoIntegrationTests.Authors_And_Reviews_Query_ReviewsUser.md} (95%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Fetch_User_With_Invalid_Node_Field.snap => DemoIntegrationTests.Fetch_User_With_Invalid_Node_Field.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Fetch_User_With_Node_Field.snap => DemoIntegrationTests.Fetch_User_With_Node_Field.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Fetch_User_With_Node_Field_From_Two_Subgraphs.snap => DemoIntegrationTests.Fetch_User_With_Node_Field_From_Two_Subgraphs.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Review_Id.snap => DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Review_Id.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Unknown_Id.snap => DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Unknown_Id.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Forward_Nested_Node_Variables.snap => DemoIntegrationTests.Forward_Nested_Node_Variables.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Forward_Nested_Object_Variables.snap => DemoIntegrationTests.Forward_Nested_Object_Variables.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Forward_Nested_Variables.snap => DemoIntegrationTests.Forward_Nested_Variables.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Forward_Nested_Variables_No_OpName.snap => DemoIntegrationTests.Forward_Nested_Variables_No_OpName.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Forward_Nested_Variables_No_OpName_Two_RootSelections.snap => DemoIntegrationTests.Forward_Nested_Variables_No_OpName_Two_RootSelections.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.GetFirstPage_With_After_Null.snap => DemoIntegrationTests.GetFirstPage_With_After_Null.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Hot_Reload.snap => DemoIntegrationTests.Hot_Reload.md} (84%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.QueryType_Parallel_Multiple_SubGraphs_WithArguments.snap => DemoIntegrationTests.QueryType_Parallel_Multiple_SubGraphs_WithArguments.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Require_Data_In_Context.snap => DemoIntegrationTests.Require_Data_In_Context.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Require_Data_In_Context_2.snap => DemoIntegrationTests.Require_Data_In_Context_2.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.Require_Data_In_Context_3.snap => DemoIntegrationTests.Require_Data_In_Context_3.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{DemoIntegrationTests.TypeName_Field_On_QueryRoot.snap => DemoIntegrationTests.TypeName_Field_On_QueryRoot.md} (95%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{ErrorTests.Accounts_Offline_Author_NonNull.snap => ErrorTests.Accounts_Offline_Author_NonNull.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{ErrorTests.Accounts_Offline_Author_Nullable.snap => ErrorTests.Accounts_Offline_Author_Nullable.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{ErrorTests.Accounts_Offline_Reviews_ListElement_Nullable.snap => ErrorTests.Accounts_Offline_Reviews_ListElement_Nullable.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{ErrorTests.NestedResolveSubgraphError.snap => ErrorTests.NestedResolveSubgraphError.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{ErrorTests.NestedResolveWithListSubgraphError.snap => ErrorTests.NestedResolveWithListSubgraphError.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{ErrorTests.ResolveByKeySubgraphError.snap => ErrorTests.ResolveByKeySubgraphError.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{ErrorTests.TopLevelResolveSubgraphError.snap => ErrorTests.TopLevelResolveSubgraphError.md} (94%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{EventStreamTests.Authors_And_Reviews_Subscription_OnNewReview.snap => EventStreamTests.Authors_And_Reviews_Subscription_OnNewReview.md} (93%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{FileUploadTests.UploadFile.snap => FileUploadTests.UploadFile.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{FileUploadTests.UploadFile_2.snap => FileUploadTests.UploadFile_2.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{InterfaceTests.Query_Interface_List.snap => InterfaceTests.Query_Interface_List.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{InterfaceTests.Query_Interface_List_With_Fragment_Fetch.snap => InterfaceTests.Query_Interface_List_With_Fragment.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{InterfaceTests.Query_Interface_List_With_Fragment.snap => InterfaceTests.Query_Interface_List_With_Fragment_Fetch.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{IntrospectionTests.ShortCircuit_RootTypeName_Requests.snap => IntrospectionTests.ShortCircuit_RootTypeName_Requests.md} (99%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_01.snap => RequestPlannerTests.Query_Plan_01.md} (93%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_02_Aliases.snap => RequestPlannerTests.Query_Plan_02_Aliases.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_03_Argument_Literals.snap => RequestPlannerTests.Query_Plan_03_Argument_Literals.md} (83%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_04_Argument_Variables.snap => RequestPlannerTests.Query_Plan_04_Argument_Variables.md} (87%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_05_TypeName_Field.snap => RequestPlannerTests.Query_Plan_05_TypeName_Field.md} (94%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_06_Introspection.snap => RequestPlannerTests.Query_Plan_06_Introspection.md} (87%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_07_Introspection_And_Fetch.snap => RequestPlannerTests.Query_Plan_07_Introspection_And_Fetch.md} (92%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_08_Single_Mutation.snap => RequestPlannerTests.Query_Plan_08_Single_Mutation.md} (89%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_09_Two_Mutation_Same_SubGraph.snap => RequestPlannerTests.Query_Plan_09_Two_Mutation_Same_SubGraph.md} (91%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_10_Two_Mutation_Same_SubGraph.snap => RequestPlannerTests.Query_Plan_10_Two_Mutation_Same_SubGraph.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_11_Two_Mutation_Two_SubGraph.snap => RequestPlannerTests.Query_Plan_11_Two_Mutation_Two_SubGraph.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_12_Subscription_1.snap => RequestPlannerTests.Query_Plan_12_Subscription_1.md} (86%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_13_Subscription_2.snap => RequestPlannerTests.Query_Plan_13_Subscription_2.md} (93%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_14_Node_Single_Fragment.snap => RequestPlannerTests.Query_Plan_14_Node_Single_Fragment.md} (93%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_15_Node_Single_Fragment_Multiple_Subgraphs.snap => RequestPlannerTests.Query_Plan_15_Node_Single_Fragment_Multiple_Subgraphs.md} (94%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_16_Two_Node_Fields_Aliased.snap => RequestPlannerTests.Query_Plan_16_Two_Node_Fields_Aliased.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_17_Multi_Completion.snap => RequestPlannerTests.Query_Plan_17_Multi_Completion.md} (91%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_18_Node_Single_Fragment_Multiple_Subgraphs.snap => RequestPlannerTests.Query_Plan_18_Node_Single_Fragment_Multiple_Subgraphs.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_19_Requires.snap => RequestPlannerTests.Query_Plan_19_Requires.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_20_DeepQuery.snap => RequestPlannerTests.Query_Plan_20_DeepQuery.md} (97%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_21_Field_Requirement_Not_In_Context.snap => RequestPlannerTests.Query_Plan_21_Field_Requirement_Not_In_Context.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_22_Interfaces.snap => RequestPlannerTests.Query_Plan_22_Interfaces.md} (87%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_23_Interfaces_Merge.snap => RequestPlannerTests.Query_Plan_23_Interfaces_Merge.md} (93%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_24_Field_Requirement_And_Fields_In_Context.snap => RequestPlannerTests.Query_Plan_24_Field_Requirement_And_Fields_In_Context.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_25_Variables_Are_Passed_Through.snap => RequestPlannerTests.Query_Plan_25_Variables_Are_Passed_Through.md} (93%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_26_Ensure_No_Circular_Dependency_When_Requiring_Data.snap => RequestPlannerTests.Query_Plan_26_Ensure_No_Circular_Dependency_When_Requiring_Data.md} (95%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_27_Multiple_Require_Steps_From_Same_Subgraph.snap => RequestPlannerTests.Query_Plan_27_Multiple_Require_Steps_From_Same_Subgraph.md} (95%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_29_Simple_Root_List_Data.snap => RequestPlannerTests.Query_Plan_28_Simple_Root_Data.md} (88%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_28_Simple_Root_Data.snap => RequestPlannerTests.Query_Plan_29_Simple_Root_List_Data.md} (87%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_30_Entity_Data.snap => RequestPlannerTests.Query_Plan_30_Entity_Data.md} (89%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_31_Argument_No_Value_Specified_With_Selection_Set.snap => RequestPlannerTests.Query_Plan_31_Argument_No_Value_Specified_With_Selection_Set.md} (79%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_32_Argument_No_Value_Specified.snap => RequestPlannerTests.Query_Plan_32_Argument_No_Value_Specified.md} (80%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_33_Argument_Default_Value_Explicitly_Specified.snap => RequestPlannerTests.Query_Plan_33_Argument_Default_Value_Explicitly_Specified.md} (79%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_34_Argument_Not_Default_Value_Specified.snap => RequestPlannerTests.Query_Plan_34_Argument_Not_Default_Value_Specified.md} (80%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{RequestPlannerTests.Query_Plan_35_Argument_Value_Variable_Specified.snap => RequestPlannerTests.Query_Plan_35_Argument_Value_Variable_Specified.md} (85%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{UnionTests.Error_Union_With_Inline_Fragment.snap => UnionTests.Error_Union_With_Inline_Fragment.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{UnionTests.Error_Union_With_Inline_Fragment_Errors_Not_Null.snap => UnionTests.Error_Union_With_Inline_Fragment_Errors_Not_Null.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{UnionTests.Error_Union_With_TypeName.snap => UnionTests.Error_Union_With_TypeName.md} (96%)
rename src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/{UnionTests.Error_Union_With_TypeName_Errors_Not_Null.snap => UnionTests.Error_Union_With_TypeName_Errors_Not_Null.md} (96%)
diff --git a/src/CookieCrumble/src/CookieCrumble/CookieCrumble.csproj b/src/CookieCrumble/src/CookieCrumble/CookieCrumble.csproj
index 4806ccd307d..970b119be4a 100644
--- a/src/CookieCrumble/src/CookieCrumble/CookieCrumble.csproj
+++ b/src/CookieCrumble/src/CookieCrumble/CookieCrumble.csproj
@@ -36,6 +36,7 @@
+
diff --git a/src/CookieCrumble/src/CookieCrumble/Extensions/SnapshotExtensions.cs b/src/CookieCrumble/src/CookieCrumble/Extensions/SnapshotExtensions.cs
index e46ff7ef232..a910a88e9e8 100644
--- a/src/CookieCrumble/src/CookieCrumble/Extensions/SnapshotExtensions.cs
+++ b/src/CookieCrumble/src/CookieCrumble/Extensions/SnapshotExtensions.cs
@@ -15,7 +15,7 @@ public static void MatchInlineSnapshot(
public static void MatchSnapshot(this Snapshot value)
=> value.Match();
-
+
public static void MatchSnapshot(
this object? value,
object? postFix = null,
@@ -30,6 +30,9 @@ public static void MatchMarkdownSnapshot(
ISnapshotValueFormatter? formatter = null)
=> Snapshot.Create(postFix?.ToString(), extension).Add(value, formatter: formatter).MatchMarkdown();
+ public static void MatchMarkdownSnapshot(this Snapshot value)
+ => value.MatchMarkdown();
+
public static void MatchSnapshot(
this ISyntaxNode? value,
string? postFix = null)
diff --git a/src/CookieCrumble/src/CookieCrumble/Formatters/JsonElementSnapshotValueFormatter.cs b/src/CookieCrumble/src/CookieCrumble/Formatters/JsonElementSnapshotValueFormatter.cs
index 9d050ebd567..e02905e4cba 100644
--- a/src/CookieCrumble/src/CookieCrumble/Formatters/JsonElementSnapshotValueFormatter.cs
+++ b/src/CookieCrumble/src/CookieCrumble/Formatters/JsonElementSnapshotValueFormatter.cs
@@ -4,12 +4,12 @@
namespace CookieCrumble.Formatters;
-internal sealed class JsonElementSnapshotValueFormatter : SnapshotValueFormatter
+internal sealed class JsonElementSnapshotValueFormatter() : SnapshotValueFormatter("json")
{
private readonly JsonSerializerOptions _options =
new(JsonSerializerDefaults.Web)
{
- WriteIndented = true,
+ WriteIndented = true,
Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
};
@@ -20,14 +20,4 @@ protected override void Format(IBufferWriter snapshot, JsonElement value)
buffer.AsSpan().CopyTo(span);
snapshot.Advance(buffer.Length);
}
-
- protected override void FormatMarkdown(IBufferWriter snapshot, JsonElement value)
- {
- snapshot.Append("```json");
- snapshot.AppendLine();
- Format(snapshot, value);
- snapshot.AppendLine();
- snapshot.Append("```");
- snapshot.AppendLine();
- }
-}
\ No newline at end of file
+}
diff --git a/src/CookieCrumble/src/CookieCrumble/Formatters/QueryPlanSnapshotValueFormatter.cs b/src/CookieCrumble/src/CookieCrumble/Formatters/QueryPlanSnapshotValueFormatter.cs
index dec395902ac..e2b0031001a 100644
--- a/src/CookieCrumble/src/CookieCrumble/Formatters/QueryPlanSnapshotValueFormatter.cs
+++ b/src/CookieCrumble/src/CookieCrumble/Formatters/QueryPlanSnapshotValueFormatter.cs
@@ -4,11 +4,9 @@
namespace CookieCrumble.Formatters;
-internal sealed class QueryPlanSnapshotValueFormatter : SnapshotValueFormatter
+internal sealed class QueryPlanSnapshotValueFormatter() : SnapshotValueFormatter("json")
{
protected override void Format(IBufferWriter snapshot, QueryPlan value)
- {
- value.Format(snapshot);
- }
+ => value.Format(snapshot);
}
#endif
diff --git a/src/CookieCrumble/src/CookieCrumble/Formatters/SchemaSnapshotValueFormatter.cs b/src/CookieCrumble/src/CookieCrumble/Formatters/SchemaSnapshotValueFormatter.cs
index 3e537666d65..c0a4e31138e 100644
--- a/src/CookieCrumble/src/CookieCrumble/Formatters/SchemaSnapshotValueFormatter.cs
+++ b/src/CookieCrumble/src/CookieCrumble/Formatters/SchemaSnapshotValueFormatter.cs
@@ -3,18 +3,8 @@
namespace CookieCrumble.Formatters;
-internal sealed class SchemaSnapshotValueFormatter : SnapshotValueFormatter
+internal sealed class SchemaSnapshotValueFormatter() : SnapshotValueFormatter("graphql")
{
protected override void Format(IBufferWriter snapshot, ISchema value)
=> snapshot.Append(value.ToString());
-
- protected override void FormatMarkdown(IBufferWriter snapshot, ISchema value)
- {
- snapshot.Append("```graphql");
- snapshot.AppendLine();
- Format(snapshot, value);
- snapshot.AppendLine();
- snapshot.Append("```");
- snapshot.AppendLine();
- }
}
diff --git a/src/CookieCrumble/src/CookieCrumble/Formatters/SkimmedSchemaSnapshotValueFormatter.cs b/src/CookieCrumble/src/CookieCrumble/Formatters/SkimmedSchemaSnapshotValueFormatter.cs
new file mode 100644
index 00000000000..b1db6246a0e
--- /dev/null
+++ b/src/CookieCrumble/src/CookieCrumble/Formatters/SkimmedSchemaSnapshotValueFormatter.cs
@@ -0,0 +1,13 @@
+#if NET7_0_OR_GREATER
+using System.Buffers;
+using HotChocolate.Skimmed;
+using HotChocolate.Skimmed.Serialization;
+
+namespace CookieCrumble.Formatters;
+
+internal sealed class SkimmedSchemaSnapshotValueFormatter() : SnapshotValueFormatter("graphql")
+{
+ protected override void Format(IBufferWriter snapshot, Schema value)
+ => snapshot.Append(SchemaFormatter.FormatAsString(value));
+}
+#endif
diff --git a/src/CookieCrumble/src/CookieCrumble/Formatters/SnapshotValueFormatter.cs b/src/CookieCrumble/src/CookieCrumble/Formatters/SnapshotValueFormatter.cs
index 042ed27dfb2..7289421bf2b 100644
--- a/src/CookieCrumble/src/CookieCrumble/Formatters/SnapshotValueFormatter.cs
+++ b/src/CookieCrumble/src/CookieCrumble/Formatters/SnapshotValueFormatter.cs
@@ -5,8 +5,7 @@ namespace CookieCrumble.Formatters;
///
/// Formats a snapshot segment value for the snapshot file.
///
-public abstract class SnapshotValueFormatter
- : ISnapshotValueFormatter
+public abstract class SnapshotValueFormatter(string markdownKind = "text") : ISnapshotValueFormatter
, IMarkdownSnapshotValueFormatter
{
public bool CanHandle(object? value)
@@ -17,7 +16,7 @@ protected virtual bool CanHandle(TValue? value)
public void Format(IBufferWriter snapshot, object? value)
=> Format(snapshot, (TValue)value!);
-
+
public void FormatMarkdown(IBufferWriter snapshot, object? value)
=> FormatMarkdown(snapshot, (TValue)value!);
@@ -25,7 +24,7 @@ public void FormatMarkdown(IBufferWriter snapshot, object? value)
protected virtual void FormatMarkdown(IBufferWriter snapshot, TValue value)
{
- snapshot.Append("```text");
+ snapshot.Append($"```{markdownKind}");
snapshot.AppendLine();
Format(snapshot, value);
snapshot.AppendLine();
diff --git a/src/CookieCrumble/src/CookieCrumble/Snapshot.cs b/src/CookieCrumble/src/CookieCrumble/Snapshot.cs
index 8e53f855caf..bd0fac2971a 100644
--- a/src/CookieCrumble/src/CookieCrumble/Snapshot.cs
+++ b/src/CookieCrumble/src/CookieCrumble/Snapshot.cs
@@ -33,6 +33,7 @@ public class Snapshot
new JsonElementSnapshotValueFormatter(),
#if NET7_0_OR_GREATER
new QueryPlanSnapshotValueFormatter(),
+ new SkimmedSchemaSnapshotValueFormatter(),
#endif
});
private static readonly JsonSnapshotValueFormatter _defaultFormatter = new();
@@ -54,7 +55,7 @@ public Snapshot(string? postFix = null, string? extension = null)
public static Snapshot Create(string? postFix = null, string? extension = null)
=> new(postFix, extension);
-
+
public static DisposableSnapshot Start(string? postFix = null, string? extension = null)
=> new(postFix, extension);
@@ -257,15 +258,52 @@ public void Match()
}
}
}
-
+
+ public async ValueTask MatchMarkdownAsync(CancellationToken cancellationToken = default)
+ {
+ var writer = new ArrayBufferWriter();
+
+ writer.Append($"# {_title}");
+ writer.AppendLine();
+ writer.AppendLine();
+
+ WriteMarkdownSegments(writer);
+
+ var snapshotFile = Combine(CreateSnapshotDirectoryName(), CreateMarkdownSnapshotFileName());
+
+ if (!File.Exists(snapshotFile))
+ {
+ EnsureDirectoryExists(snapshotFile);
+ await using var stream = File.Create(snapshotFile);
+ await stream.WriteAsync(writer.WrittenMemory, cancellationToken);
+ }
+ else
+ {
+ var mismatchFile = Combine(CreateMismatchDirectoryName(), CreateMarkdownSnapshotFileName());
+ EnsureFileDoesNotExist(mismatchFile);
+ var before = await File.ReadAllTextAsync(snapshotFile, cancellationToken);
+ var after = _encoding.GetString(writer.WrittenSpan);
+
+ if (MatchSnapshot(before, after, false, out var diff))
+ {
+ return;
+ }
+
+ EnsureDirectoryExists(mismatchFile);
+ await using var stream = File.Create(mismatchFile);
+ await stream.WriteAsync(writer.WrittenMemory, cancellationToken);
+ throw new Xunit.Sdk.XunitException(diff);
+ }
+ }
+
public void MatchMarkdown()
{
var writer = new ArrayBufferWriter();
-
+
writer.Append($"# {_title}");
writer.AppendLine();
writer.AppendLine();
-
+
WriteMarkdownSegments(writer);
var snapshotFile = Combine(CreateSnapshotDirectoryName(), CreateMarkdownSnapshotFileName());
@@ -287,7 +325,7 @@ public void MatchMarkdown()
{
return;
}
-
+
EnsureDirectoryExists(mismatchFile);
using var stream = File.Create(mismatchFile);
stream.Write(writer.WrittenSpan);
@@ -344,7 +382,7 @@ private void WriteSegments(IBufferWriter writer)
next = true;
}
}
-
+
private void WriteMarkdownSegments(IBufferWriter writer)
{
if (_segments.Count == 1)
@@ -488,11 +526,11 @@ private string CreateSnapshotFileName()
? string.Concat(fileName, _extension)
: string.Concat(fileName, "_", _postFix, _extension);
}
-
+
private string CreateMarkdownSnapshotFileName()
{
var extension = _extension.EqualsOrdinal(".snap") ? ".md" : _extension;
-
+
var fileName = GetFileNameWithoutExtension(_fileName);
return string.IsNullOrEmpty(_postFix)
@@ -532,7 +570,7 @@ private static string CreateFileName(StackFrame[] frames)
"get the snapshot name, then reach this name to your " +
"Snapshot.Match method.");
}
-
+
private static string CreateMarkdownTitle(StackFrame[] frames)
{
foreach (var stackFrame in frames)
@@ -618,4 +656,4 @@ public sealed class DisposableSnapshot(string? postFix = null, string? extension
, IDisposable
{
public void Dispose() => Match();
-}
\ No newline at end of file
+}
diff --git a/src/HotChocolate/Fusion/test/CommandLine.Tests/ComposeCommandTests.cs b/src/HotChocolate/Fusion/test/CommandLine.Tests/ComposeCommandTests.cs
index 2e6c38fdfec..81065092fd4 100644
--- a/src/HotChocolate/Fusion/test/CommandLine.Tests/ComposeCommandTests.cs
+++ b/src/HotChocolate/Fusion/test/CommandLine.Tests/ComposeCommandTests.cs
@@ -52,7 +52,7 @@ await PackageHelper.CreateSubgraphPackageAsync(
snapshot.Add(subgraph, $"{subgraph.Name} Subgraph Configuration");
}
- snapshot.MatchSnapshot();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -111,7 +111,7 @@ await app.InvokeAsync(
snapshot.Add(subgraph, $"{subgraph.Name} Subgraph Configuration");
}
- snapshot.MatchSnapshot();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -263,7 +263,7 @@ public async Task Compose_Loose_Subgraph_Files()
snapshot.Add(subgraph, $"{subgraph.Name} Subgraph Configuration");
}
- snapshot.MatchSnapshot();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -326,9 +326,9 @@ await app.InvokeAsync(
snapshot.Add(subgraph, $"{subgraph.Name} Subgraph Configuration");
}
- snapshot.MatchSnapshot();
+ await snapshot.MatchMarkdownAsync();
}
-
+
[Fact]
public async Task Compose_With_Tag()
{
@@ -344,10 +344,10 @@ public async Task Compose_With_Tag()
var packageFile = CreateTempFile(Extensions.FusionPackage);
var gatewayConfig = Path.Combine(
- Path.GetDirectoryName(packageFile)!,
+ Path.GetDirectoryName(packageFile)!,
Path.GetFileNameWithoutExtension(packageFile) + "-settings.json");
File.Delete(packageFile);
-
+
await File.WriteAllTextAsync(gatewayConfig, FileResource.Open("test2.gateway-config.json"), Encoding.UTF8);
// act
@@ -373,6 +373,6 @@ public async Task Compose_With_Tag()
snapshot.Add(subgraph, $"{subgraph.Name} Subgraph Configuration");
}
- snapshot.MatchSnapshot();
+ await snapshot.MatchMarkdownAsync();
}
}
diff --git a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph.snap b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph.md
similarity index 80%
rename from src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph.snap
rename to src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph.md
index 813421d666b..082e8659f0a 100644
--- a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph.snap
+++ b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph.md
@@ -1,11 +1,15 @@
-Schema Document
----------------
+# Compose_Fusion_Graph
+
+## Schema Document
+
+```graphql
schema {
query: Query
mutation: Mutation
}
type Query {
+ errorField: String
userById(id: ID!): User
users: [User!]!
usersById(ids: [ID!]!): [User!]!
@@ -26,6 +30,7 @@ type SomeData {
type User implements Node {
birthdate: Date!
+ errorField: String
id: ID!
name: String!
username: String!
@@ -49,16 +54,18 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
+## Fusion Graph Document
-Fusion Graph Document
----------------
+```graphql
schema @fusion(version: 1) @transport(subgraph: "Accounts", group: "Fusion", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP") @transport(subgraph: "Accounts", group: "Fusion", location: "ws:\/\/localhost:5000\/graphql", kind: "WebSocket") {
query: Query
mutation: Mutation
}
type Query {
+ errorField: String @resolver(subgraph: "Accounts", select: "{ errorField }")
userById(id: ID!): User @variable(subgraph: "Accounts", name: "id", argument: "id") @resolver(subgraph: "Accounts", select: "{ userById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
users: [User!]! @resolver(subgraph: "Accounts", select: "{ users }")
usersById(ids: [ID!]!): [User!]! @variable(subgraph: "Accounts", name: "ids", argument: "ids") @resolver(subgraph: "Accounts", select: "{ usersById(ids: $ids) }", arguments: [ { name: "ids", type: "[ID!]!" } ])
@@ -79,6 +86,7 @@ type SomeData {
type User implements Node @variable(subgraph: "Accounts", name: "User_id", select: "id") @resolver(subgraph: "Accounts", select: "{ userById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ]) @resolver(subgraph: "Accounts", select: "{ usersById(ids: $User_id) }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date! @source(subgraph: "Accounts")
+ errorField: String @source(subgraph: "Accounts")
id: ID! @source(subgraph: "Accounts")
name: String! @source(subgraph: "Accounts")
username: String! @source(subgraph: "Accounts")
@@ -102,13 +110,14 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
-Accounts Subgraph Configuration
----------------
+## Accounts Subgraph Configuration
+
+```json
{
"Name": "Accounts",
- "Schema": "schema {\n query: Query\n mutation: Mutation\n}\n\n\"The node interface is implemented by entities that have a global unique identifier.\"\ninterface Node {\n id: ID!\n}\n\ntype Query {\n \"Fetches an object given its ID.\"\n node(\"ID of the object.\" id: ID!): Node\n \"Lookup nodes by a list of IDs.\"\n nodes(\"The list of node IDs.\" ids: [ID!]!): [Node]!\n users: [User!]!\n userById(id: ID!): User\n usersById(ids: [ID!]!): [User!]!\n viewer: Viewer!\n}\n\ntype Mutation {\n addUser(input: AddUserInput!): AddUserPayload!\n}\n\n\"The `Date` scalar represents an ISO-8601 compliant date type.\"\nscalar Date\n\ntype Viewer {\n user: User\n data: SomeData!\n}\n\ntype User implements Node {\n id: ID!\n name: String!\n birthdate: Date!\n username: String!\n}\n\ntype SomeData {\n accountValue: String!\n}\n\ninput AddUserInput {\n name: String!\n username: String!\n birthdate: Date!\n}\n\ntype AddUserPayload {\n user: User\n}",
+ "Schema": "schema {\n query: Query\n mutation: Mutation\n}\n\n\"The node interface is implemented by entities that have a global unique identifier.\"\ninterface Node {\n id: ID!\n}\n\ntype Query {\n \"Fetches an object given its ID.\"\n node(\"ID of the object.\" id: ID!): Node\n \"Lookup nodes by a list of IDs.\"\n nodes(\"The list of node IDs.\" ids: [ID!]!): [Node]!\n users: [User!]!\n userById(id: ID!): User\n usersById(ids: [ID!]!): [User!]!\n errorField: String\n viewer: Viewer!\n}\n\ntype Mutation {\n addUser(input: AddUserInput!): AddUserPayload!\n}\n\n\"The `Date` scalar represents an ISO-8601 compliant date type.\"\nscalar Date\n\ntype Viewer {\n user: User\n data: SomeData!\n}\n\ntype User implements Node {\n errorField: String\n id: ID!\n name: String!\n birthdate: Date!\n username: String!\n}\n\ntype SomeData {\n accountValue: String!\n}\n\ninput AddUserInput {\n name: String!\n username: String!\n birthdate: Date!\n}\n\ntype AddUserPayload {\n user: User\n}",
"Extensions": [
"extend type Query {\n userById(id: ID!\n @is(field: \"id\")): User!\n usersById(ids: [ID!]!\n @is(field: \"id\")): [User!]!\n}"
],
@@ -124,4 +133,5 @@ Accounts Subgraph Configuration
],
"ConfigurationExtensions": null
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Append_Subgraph.snap b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Append_Subgraph.md
similarity index 86%
rename from src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Append_Subgraph.snap
rename to src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Append_Subgraph.md
index 8aabdd95166..a94cbfa5c54 100644
--- a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Append_Subgraph.snap
+++ b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Append_Subgraph.md
@@ -1,5 +1,8 @@
-Schema Document
----------------
+# Compose_Fusion_Graph_Append_Subgraph
+
+## Schema Document
+
+```graphql
schema {
query: Query
mutation: Mutation
@@ -7,6 +10,7 @@ schema {
}
type Query {
+ errorField: String
productById(id: ID!): Product
reviewById(id: ID!): Review
reviewOrAuthor: ReviewOrAuthor!
@@ -42,6 +46,7 @@ type Product {
type Review implements Node {
author: User!
body: String!
+ errorField: String
id: ID!
product: Product!
}
@@ -54,6 +59,7 @@ type SomeData {
"The user who wrote the review."
type User implements Node {
birthdate: Date!
+ errorField: String
id: ID!
name: String!
reviews: [Review!]!
@@ -87,10 +93,11 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
+## Fusion Graph Document
-Fusion Graph Document
----------------
+```graphql
schema @fusion(version: 1) @transport(subgraph: "Accounts", group: "Fusion", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP") @transport(subgraph: "Accounts", group: "Fusion", location: "ws:\/\/localhost:5000\/graphql", kind: "WebSocket") @transport(subgraph: "Reviews2", group: "Fusion", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP") @transport(subgraph: "Reviews2", group: "Fusion", location: "ws:\/\/localhost:5000\/graphql", kind: "WebSocket") {
query: Query
mutation: Mutation
@@ -98,6 +105,7 @@ schema @fusion(version: 1) @transport(subgraph: "Accounts", group: "Fusion", loc
}
type Query {
+ errorField: String @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product @variable(subgraph: "Reviews2", name: "id", argument: "id") @resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
reviewById(id: ID!): Review @variable(subgraph: "Reviews2", name: "id", argument: "id") @resolver(subgraph: "Reviews2", select: "{ reviewById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
reviewOrAuthor: ReviewOrAuthor! @resolver(subgraph: "Reviews2", select: "{ reviewOrAuthor }")
@@ -133,6 +141,7 @@ type Product @variable(subgraph: "Reviews2", name: "Product_id", select: "id") @
type Review implements Node @variable(subgraph: "Reviews2", name: "Review_id", select: "id") @resolver(subgraph: "Reviews2", select: "{ reviewById(id: $Review_id) }", arguments: [ { name: "Review_id", type: "ID!" } ]) @resolver(subgraph: "Reviews2", select: "{ nodes(ids: $Review_id) { ... on Review { ... Review } } }", arguments: [ { name: "Review_id", type: "[ID!]!" } ], kind: "BATCH") {
author: User! @source(subgraph: "Reviews2")
body: String! @source(subgraph: "Reviews2")
+ errorField: String @source(subgraph: "Reviews2")
id: ID! @source(subgraph: "Reviews2")
product: Product! @source(subgraph: "Reviews2")
}
@@ -145,6 +154,7 @@ type SomeData {
"The user who wrote the review."
type User implements Node @variable(subgraph: "Accounts", name: "User_id", select: "id") @variable(subgraph: "Reviews2", name: "User_id", select: "id") @resolver(subgraph: "Accounts", select: "{ userById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ]) @resolver(subgraph: "Accounts", select: "{ usersById(ids: $User_id) }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") @resolver(subgraph: "Reviews2", select: "{ authorById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ]) @resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date! @source(subgraph: "Accounts")
+ errorField: String @source(subgraph: "Accounts")
id: ID! @source(subgraph: "Accounts") @source(subgraph: "Reviews2")
name: String! @source(subgraph: "Accounts") @source(subgraph: "Reviews2")
reviews: [Review!]! @source(subgraph: "Reviews2")
@@ -178,13 +188,14 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
-Accounts Subgraph Configuration
----------------
+## Accounts Subgraph Configuration
+
+```json
{
"Name": "Accounts",
- "Schema": "schema {\n query: Query\n mutation: Mutation\n}\n\n\"The node interface is implemented by entities that have a global unique identifier.\"\ninterface Node {\n id: ID!\n}\n\ntype Query {\n \"Fetches an object given its ID.\"\n node(\"ID of the object.\" id: ID!): Node\n \"Lookup nodes by a list of IDs.\"\n nodes(\"The list of node IDs.\" ids: [ID!]!): [Node]!\n users: [User!]!\n userById(id: ID!): User\n usersById(ids: [ID!]!): [User!]!\n viewer: Viewer!\n}\n\ntype Mutation {\n addUser(input: AddUserInput!): AddUserPayload!\n}\n\n\"The `Date` scalar represents an ISO-8601 compliant date type.\"\nscalar Date\n\ntype Viewer {\n user: User\n data: SomeData!\n}\n\ntype User implements Node {\n id: ID!\n name: String!\n birthdate: Date!\n username: String!\n}\n\ntype SomeData {\n accountValue: String!\n}\n\ninput AddUserInput {\n name: String!\n username: String!\n birthdate: Date!\n}\n\ntype AddUserPayload {\n user: User\n}",
+ "Schema": "schema {\n query: Query\n mutation: Mutation\n}\n\n\"The node interface is implemented by entities that have a global unique identifier.\"\ninterface Node {\n id: ID!\n}\n\ntype Query {\n \"Fetches an object given its ID.\"\n node(\"ID of the object.\" id: ID!): Node\n \"Lookup nodes by a list of IDs.\"\n nodes(\"The list of node IDs.\" ids: [ID!]!): [Node]!\n users: [User!]!\n userById(id: ID!): User\n usersById(ids: [ID!]!): [User!]!\n errorField: String\n viewer: Viewer!\n}\n\ntype Mutation {\n addUser(input: AddUserInput!): AddUserPayload!\n}\n\n\"The `Date` scalar represents an ISO-8601 compliant date type.\"\nscalar Date\n\ntype Viewer {\n user: User\n data: SomeData!\n}\n\ntype User implements Node {\n errorField: String\n id: ID!\n name: String!\n birthdate: Date!\n username: String!\n}\n\ntype SomeData {\n accountValue: String!\n}\n\ninput AddUserInput {\n name: String!\n username: String!\n birthdate: Date!\n}\n\ntype AddUserPayload {\n user: User\n}",
"Extensions": [
"extend type Query {\n userById(id: ID!\n @is(field: \"id\")): User!\n usersById(ids: [ID!]!\n @is(field: \"id\")): [User!]!\n}"
],
@@ -200,13 +211,14 @@ Accounts Subgraph Configuration
],
"ConfigurationExtensions": null
}
----------------
+```
+
+## Reviews2 Subgraph Configuration
-Reviews2 Subgraph Configuration
----------------
+```json
{
"Name": "Reviews2",
- "Schema": "schema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n\n\"The node interface is implemented by entities that have a global unique identifier.\"\ninterface Node {\n id: ID!\n}\n\ntype Query {\n \"Fetches an object given its ID.\"\n node(\"ID of the object.\" id: ID!): Node\n \"Lookup nodes by a list of IDs.\"\n nodes(\"The list of node IDs.\" ids: [ID!]!): [Node]!\n reviews: [Review!]!\n reviewById(id: ID!): Review\n authorById(id: ID!): User\n productById(id: ID!): Product\n reviewOrAuthor: ReviewOrAuthor!\n viewer: Viewer!\n}\n\ntype Mutation {\n addReview(input: AddReviewInput!): AddReviewPayload!\n}\n\ntype Subscription {\n onNewReview: Review!\n}\n\ntype Product {\n reviews: [Review!]!\n id: ID!\n}\n\n\"The user who wrote the review.\"\ntype User implements Node {\n reviews: [Review!]!\n id: ID!\n name: String!\n}\n\ntype Review implements Node {\n id: ID!\n author: User!\n product: Product!\n body: String!\n}\n\nunion ReviewOrAuthor = User | Review\n\ntype Viewer {\n latestReview: Review\n data: SomeData!\n}\n\ntype SomeData {\n reviewsValue: String!\n}\n\ninput AddReviewInput {\n body: String!\n authorId: Int!\n upc: Int!\n}\n\ntype AddReviewPayload {\n review: Review\n}",
+ "Schema": "schema {\n query: Query\n mutation: Mutation\n subscription: Subscription\n}\n\n\"The node interface is implemented by entities that have a global unique identifier.\"\ninterface Node {\n id: ID!\n}\n\ntype Query {\n \"Fetches an object given its ID.\"\n node(\"ID of the object.\" id: ID!): Node\n \"Lookup nodes by a list of IDs.\"\n nodes(\"The list of node IDs.\" ids: [ID!]!): [Node]!\n reviews: [Review!]!\n reviewById(id: ID!): Review\n authorById(id: ID!): User\n productById(id: ID!): Product\n reviewOrAuthor: ReviewOrAuthor!\n viewer: Viewer!\n}\n\ntype Mutation {\n addReview(input: AddReviewInput!): AddReviewPayload!\n}\n\ntype Subscription {\n onNewReview: Review!\n}\n\ntype Product {\n reviews: [Review!]!\n id: ID!\n}\n\n\"The user who wrote the review.\"\ntype User implements Node {\n reviews: [Review!]!\n id: ID!\n name: String!\n}\n\ntype Review implements Node {\n errorField: String\n id: ID!\n author: User!\n product: Product!\n body: String!\n}\n\nunion ReviewOrAuthor = User | Review\n\ntype Viewer {\n latestReview: Review\n data: SomeData!\n}\n\ntype SomeData {\n reviewsValue: String!\n}\n\ninput AddReviewInput {\n body: String!\n authorId: Int!\n upc: Int!\n}\n\ntype AddReviewPayload {\n review: Review\n}",
"Extensions": [
"extend type Query {\n authorById(id: ID!\n @is(field: \"id\")): User\n productById(id: ID!\n @is(field: \"id\")): Product\n}\n\nschema\n @rename(coordinate: \"Query.authorById\", newName: \"userById\") {\n\n}"
],
@@ -222,4 +234,5 @@ Reviews2 Subgraph Configuration
],
"ConfigurationExtensions": null
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Remove_Subgraph.snap b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Remove_Subgraph.md
similarity index 80%
rename from src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Remove_Subgraph.snap
rename to src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Remove_Subgraph.md
index 813421d666b..bfcd53741b9 100644
--- a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Remove_Subgraph.snap
+++ b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Fusion_Graph_Remove_Subgraph.md
@@ -1,11 +1,15 @@
-Schema Document
----------------
+# Compose_Fusion_Graph_Remove_Subgraph
+
+## Schema Document
+
+```graphql
schema {
query: Query
mutation: Mutation
}
type Query {
+ errorField: String
userById(id: ID!): User
users: [User!]!
usersById(ids: [ID!]!): [User!]!
@@ -26,6 +30,7 @@ type SomeData {
type User implements Node {
birthdate: Date!
+ errorField: String
id: ID!
name: String!
username: String!
@@ -49,16 +54,18 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
+## Fusion Graph Document
-Fusion Graph Document
----------------
+```graphql
schema @fusion(version: 1) @transport(subgraph: "Accounts", group: "Fusion", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP") @transport(subgraph: "Accounts", group: "Fusion", location: "ws:\/\/localhost:5000\/graphql", kind: "WebSocket") {
query: Query
mutation: Mutation
}
type Query {
+ errorField: String @resolver(subgraph: "Accounts", select: "{ errorField }")
userById(id: ID!): User @variable(subgraph: "Accounts", name: "id", argument: "id") @resolver(subgraph: "Accounts", select: "{ userById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
users: [User!]! @resolver(subgraph: "Accounts", select: "{ users }")
usersById(ids: [ID!]!): [User!]! @variable(subgraph: "Accounts", name: "ids", argument: "ids") @resolver(subgraph: "Accounts", select: "{ usersById(ids: $ids) }", arguments: [ { name: "ids", type: "[ID!]!" } ])
@@ -79,6 +86,7 @@ type SomeData {
type User implements Node @variable(subgraph: "Accounts", name: "User_id", select: "id") @resolver(subgraph: "Accounts", select: "{ userById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ]) @resolver(subgraph: "Accounts", select: "{ usersById(ids: $User_id) }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date! @source(subgraph: "Accounts")
+ errorField: String @source(subgraph: "Accounts")
id: ID! @source(subgraph: "Accounts")
name: String! @source(subgraph: "Accounts")
username: String! @source(subgraph: "Accounts")
@@ -102,13 +110,14 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
-Accounts Subgraph Configuration
----------------
+## Accounts Subgraph Configuration
+
+```json
{
"Name": "Accounts",
- "Schema": "schema {\n query: Query\n mutation: Mutation\n}\n\n\"The node interface is implemented by entities that have a global unique identifier.\"\ninterface Node {\n id: ID!\n}\n\ntype Query {\n \"Fetches an object given its ID.\"\n node(\"ID of the object.\" id: ID!): Node\n \"Lookup nodes by a list of IDs.\"\n nodes(\"The list of node IDs.\" ids: [ID!]!): [Node]!\n users: [User!]!\n userById(id: ID!): User\n usersById(ids: [ID!]!): [User!]!\n viewer: Viewer!\n}\n\ntype Mutation {\n addUser(input: AddUserInput!): AddUserPayload!\n}\n\n\"The `Date` scalar represents an ISO-8601 compliant date type.\"\nscalar Date\n\ntype Viewer {\n user: User\n data: SomeData!\n}\n\ntype User implements Node {\n id: ID!\n name: String!\n birthdate: Date!\n username: String!\n}\n\ntype SomeData {\n accountValue: String!\n}\n\ninput AddUserInput {\n name: String!\n username: String!\n birthdate: Date!\n}\n\ntype AddUserPayload {\n user: User\n}",
+ "Schema": "schema {\n query: Query\n mutation: Mutation\n}\n\n\"The node interface is implemented by entities that have a global unique identifier.\"\ninterface Node {\n id: ID!\n}\n\ntype Query {\n \"Fetches an object given its ID.\"\n node(\"ID of the object.\" id: ID!): Node\n \"Lookup nodes by a list of IDs.\"\n nodes(\"The list of node IDs.\" ids: [ID!]!): [Node]!\n users: [User!]!\n userById(id: ID!): User\n usersById(ids: [ID!]!): [User!]!\n errorField: String\n viewer: Viewer!\n}\n\ntype Mutation {\n addUser(input: AddUserInput!): AddUserPayload!\n}\n\n\"The `Date` scalar represents an ISO-8601 compliant date type.\"\nscalar Date\n\ntype Viewer {\n user: User\n data: SomeData!\n}\n\ntype User implements Node {\n errorField: String\n id: ID!\n name: String!\n birthdate: Date!\n username: String!\n}\n\ntype SomeData {\n accountValue: String!\n}\n\ninput AddUserInput {\n name: String!\n username: String!\n birthdate: Date!\n}\n\ntype AddUserPayload {\n user: User\n}",
"Extensions": [
"extend type Query {\n userById(id: ID!\n @is(field: \"id\")): User!\n usersById(ids: [ID!]!\n @is(field: \"id\")): [User!]!\n}"
],
@@ -124,4 +133,5 @@ Accounts Subgraph Configuration
],
"ConfigurationExtensions": null
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Loose_Subgraph_Files.snap b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Loose_Subgraph_Files.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Loose_Subgraph_Files.snap
rename to src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Loose_Subgraph_Files.md
index 3d73680ba61..bde564a724f 100644
--- a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Loose_Subgraph_Files.snap
+++ b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_Loose_Subgraph_Files.md
@@ -1,5 +1,8 @@
-Schema Document
----------------
+# Compose_Loose_Subgraph_Files
+
+## Schema Document
+
+```graphql
schema {
query: Query
}
@@ -40,10 +43,11 @@ interface Node {
}
scalar DateTime
----------------
+```
+
+## Fusion Graph Document
-Fusion Graph Document
----------------
+```graphql
schema @fusion(version: 1) @transport(subgraph: "accounts", group: "Fusion", location: "https:\/\/localhost:3000\/graphql", kind: "HTTP") {
query: Query
}
@@ -84,10 +88,11 @@ interface Node {
}
scalar DateTime
----------------
+```
-accounts Subgraph Configuration
----------------
+## accounts Subgraph Configuration
+
+```json
{
"Name": "accounts",
"Schema": "type Query {\n node(id: ID!): Node\n nodes(ids: [ID!]!): [Node]!\n userById(id: ID!): User\n userByName(name: String!): User\n users(first: Int after: String last: Int before: String): UsersConnection\n}\n\ntype User implements Node {\n id: ID!\n name: String!\n displayName: String!\n birthdate: String!\n}\n\ninterface Node {\n id: ID!\n}\n\ntype UsersConnection {\n pageInfo: PageInfo!\n edges: [UsersEdge!]\n nodes: [User!]\n}\n\ntype UsersEdge {\n cursor: String!\n node: User!\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n hasPreviousPage: Boolean!\n startCursor: String\n endCursor: String\n}\n\nscalar DateTime",
@@ -100,4 +105,5 @@ accounts Subgraph Configuration
],
"ConfigurationExtensions": null
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_With_Tag.snap b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_With_Tag.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_With_Tag.snap
rename to src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_With_Tag.md
index 565e7d13537..f975dad53c2 100644
--- a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_With_Tag.snap
+++ b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/ComposeCommandTests.Compose_With_Tag.md
@@ -1,5 +1,8 @@
-Schema Document
----------------
+# Compose_With_Tag
+
+## Schema Document
+
+```graphql
schema {
query: Query
}
@@ -41,10 +44,11 @@ interface Node {
}
scalar DateTime
----------------
+```
+
+## Fusion Graph Document
-Fusion Graph Document
----------------
+```graphql
schema @fusion(version: 1) @transport(subgraph: "accounts", group: "Fusion", location: "https:\/\/localhost:3000\/graphql", kind: "HTTP") @node(subgraph: "accounts", types: [ "User" ]) {
query: Query
}
@@ -86,10 +90,11 @@ interface Node {
}
scalar DateTime
----------------
+```
-accounts Subgraph Configuration
----------------
+## accounts Subgraph Configuration
+
+```json
{
"Name": "accounts",
"Schema": "type Query {\n node(id: ID!): Node\n nodes(ids: [ID!]!): [Node]!\n userById(id: ID!): User\n userByName(name: String!): User\n users(first: Int after: String last: Int before: String): UsersConnection\n}\n\ntype User implements Node {\n id: ID!\n name: String! @tag(name: \"internal\")\n displayName: String!\n birthdate: String!\n}\n\ninterface Node {\n id: ID!\n}\n\ntype UsersConnection {\n pageInfo: PageInfo!\n edges: [UsersEdge!]\n nodes: [User!]\n}\n\ntype UsersEdge {\n cursor: String!\n node: User!\n}\n\ntype PageInfo {\n hasNextPage: Boolean!\n hasPreviousPage: Boolean!\n startCursor: String\n endCursor: String\n}\n\nscalar DateTime\n\ndirective @tag(name: String!) repeatable on SCHEMA | SCALAR | OBJECT | FIELD_DEFINITION | ARGUMENT_DEFINITION | INTERFACE | UNION | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION",
@@ -102,4 +107,5 @@ accounts Subgraph Configuration
],
"ConfigurationExtensions": null
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/PackageHelperTests.Create_Extract_Extensions.snap b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/PackageHelperTests.Create_Extract_Extensions.snap
index 70008ed60e1..0f98e06d2a6 100644
--- a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/PackageHelperTests.Create_Extract_Extensions.snap
+++ b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/PackageHelperTests.Create_Extract_Extensions.snap
@@ -23,6 +23,7 @@ type Query {
users: [User!]!
userById(id: ID!): User
usersById(ids: [ID!]!): [User!]!
+ errorField: String
viewer: Viewer!
}
@@ -39,6 +40,7 @@ type Viewer {
}
type User implements Node {
+ errorField: String
id: ID!
name: String!
birthdate: Date!
diff --git a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/PackageHelperTests.Create_Subgraph_Package.snap b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/PackageHelperTests.Create_Subgraph_Package.snap
index 8df5694151d..302843dd60d 100644
--- a/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/PackageHelperTests.Create_Subgraph_Package.snap
+++ b/src/HotChocolate/Fusion/test/CommandLine.Tests/__snapshots__/PackageHelperTests.Create_Subgraph_Package.snap
@@ -23,6 +23,7 @@ type Query {
users: [User!]!
userById(id: ID!): User
usersById(ids: [ID!]!): [User!]!
+ errorField: String
viewer: Viewer!
}
@@ -39,6 +40,7 @@ type Viewer {
}
type User implements Node {
+ errorField: String
id: ID!
name: String!
birthdate: Date!
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/DemoIntegrationTests.cs b/src/HotChocolate/Fusion/test/Composition.Tests/DemoIntegrationTests.cs
index 2435968043d..2a2a152c20a 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/DemoIntegrationTests.cs
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/DemoIntegrationTests.cs
@@ -26,11 +26,9 @@ public async Task Accounts_And_Reviews()
demoProject.Reviews.ToConfiguration(ReviewsExtensionSdl),
});
- SchemaFormatter
- .FormatAsString(fusionConfig)
- .MatchSnapshot(extension: ".graphql");
+ fusionConfig.MatchSnapshot(extension: ".graphql");
}
-
+
[Fact]
public async Task Accounts_And_Reviews_Infer_Patterns()
{
@@ -46,9 +44,7 @@ public async Task Accounts_And_Reviews_Infer_Patterns()
demoProject.Reviews.ToConfiguration(ReviewsExtensionSdl),
});
- SchemaFormatter
- .FormatAsString(fusionConfig)
- .MatchSnapshot(extension: ".graphql");
+ fusionConfig.MatchSnapshot(extension: ".graphql");
}
[Fact]
@@ -67,9 +63,7 @@ public async Task Accounts_And_Reviews_Products()
demoProject.Products.ToConfiguration(ProductsExtensionSdl),
});
- SchemaFormatter
- .FormatAsString(fusionConfig)
- .MatchSnapshot(extension: ".graphql");
+ fusionConfig.MatchSnapshot(extension: ".graphql");
}
[Fact]
@@ -89,9 +83,7 @@ public async Task Accounts_And_Reviews_Products_With_Nodes()
},
new FusionFeatureCollection(FusionFeatures.NodeField));
- SchemaFormatter
- .FormatAsString(fusionConfig)
- .MatchSnapshot(extension: ".graphql");
+ fusionConfig.MatchSnapshot(extension: ".graphql");
}
[Fact]
@@ -111,9 +103,7 @@ public async Task Accounts_And_Reviews2_Products_With_Nodes()
},
new FusionFeatureCollection(FusionFeatures.NodeField));
- SchemaFormatter
- .FormatAsString(fusionConfig)
- .MatchSnapshot(extension: ".graphql");
+ fusionConfig.MatchSnapshot(extension: ".graphql");
}
[Fact]
@@ -132,8 +122,6 @@ public async Task Accounts_And_Reviews_Products_AutoCompose_With_Node()
demoProject.Products.ToConfiguration(),
});
- SchemaFormatter
- .FormatAsString(fusionConfig)
- .MatchSnapshot(extension: ".graphql");
+ fusionConfig.MatchSnapshot(extension: ".graphql");
}
}
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews.graphql
index 3578361c7a0..964e0bbdba0 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews.graphql
@@ -10,6 +10,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -96,6 +98,8 @@ type User implements Node
@resolver(subgraph: "Reviews", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
@source(subgraph: "Reviews")
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews2_Products_With_Nodes.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews2_Products_With_Nodes.graphql
index 7b92a9a46d1..f399738ef5c 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews2_Products_With_Nodes.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews2_Products_With_Nodes.graphql
@@ -15,6 +15,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Accounts", name: "id", argument: "id")
@@ -137,6 +139,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -171,6 +175,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
@source(subgraph: "Reviews2")
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Infer_Patterns.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Infer_Patterns.graphql
index 92919eb3840..e108d0c523b 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Infer_Patterns.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Infer_Patterns.graphql
@@ -10,6 +10,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -96,6 +98,8 @@ type User implements Node
@resolver(subgraph: "Reviews", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
@source(subgraph: "Reviews")
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products.graphql
index 13418d85952..c1319d35678 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products.graphql
@@ -12,6 +12,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -149,6 +151,8 @@ type User implements Node
@resolver(subgraph: "Reviews", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
@source(subgraph: "Reviews")
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products_AutoCompose_With_Node.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products_AutoCompose_With_Node.graphql
index f4e706fe4d8..93ec5bb727b 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products_AutoCompose_With_Node.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products_AutoCompose_With_Node.graphql
@@ -15,6 +15,8 @@ type Query {
authorById(id: ID!): Author
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ authorById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -158,6 +160,8 @@ type User implements Node
@resolver(subgraph: "Accounts", select: "{ usersById(ids: $User_id) }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
name: String!
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products_With_Nodes.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products_With_Nodes.graphql
index 282310e6452..b23a8aa5996 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products_With_Nodes.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/DemoIntegrationTests.Accounts_And_Reviews_Products_With_Nodes.graphql
@@ -15,6 +15,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Accounts", name: "id", argument: "id")
@@ -168,6 +170,8 @@ type User implements Node
@resolver(subgraph: "Reviews", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
@source(subgraph: "Reviews")
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/RequireTests.Require_Scalar_Arguments_No_Overloads.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/RequireTests.Require_Scalar_Arguments_No_Overloads.graphql
index 21b6ef99409..1d0da8bc7f1 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/RequireTests.Require_Scalar_Arguments_No_Overloads.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/RequireTests.Require_Scalar_Arguments_No_Overloads.graphql
@@ -17,6 +17,8 @@ type Query {
authorById(id: ID!): Author
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ authorById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -178,6 +180,8 @@ type User implements Node
@resolver(subgraph: "Accounts", select: "{ usersById(ids: $User_id) }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
name: String!
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Do_Not_Expose_Tags_On_Public_Schema.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Do_Not_Expose_Tags_On_Public_Schema.graphql
index c5d2932fa6b..2928b8bd7d9 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Do_Not_Expose_Tags_On_Public_Schema.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Do_Not_Expose_Tags_On_Public_Schema.graphql
@@ -10,6 +10,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -106,6 +108,8 @@ type User implements Node
@resolver(subgraph: "Reviews", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
@source(subgraph: "Reviews")
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Subgraphs_With_Review_Tag.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Subgraphs_With_Review_Tag.graphql
index 109454a5482..f4bc99be5a8 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Subgraphs_With_Review_Tag.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Subgraphs_With_Review_Tag.graphql
@@ -9,6 +9,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
someTypeById(id: ID!): SomeType!
@variable(subgraph: "Accounts", name: "id", argument: "id")
@resolver(subgraph: "Accounts", select: "{ someTypeById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -55,6 +57,8 @@ type User implements Node
birthdate: Date!
@source(subgraph: "Accounts")
@tag(name: "internal")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
name: String!
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Type_System_Members_With_Internal_Tag.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Type_System_Members_With_Internal_Tag.graphql
index b32a04d247c..5bf576c24f2 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Type_System_Members_With_Internal_Tag.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Type_System_Members_With_Internal_Tag.graphql
@@ -11,6 +11,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -95,6 +97,8 @@ type User implements Node
@resolver(subgraph: "Accounts", select: "{ usersById(ids: $User_id) }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH")
@resolver(subgraph: "Reviews", select: "{ authorById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ])
@resolver(subgraph: "Reviews", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
@source(subgraph: "Reviews")
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Type_System_Members_With_Internal_Tag_Which_Is_Private.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Type_System_Members_With_Internal_Tag_Which_Is_Private.graphql
index 772da05906e..192c8832497 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Type_System_Members_With_Internal_Tag_Which_Is_Private.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Exclude_Type_System_Members_With_Internal_Tag_Which_Is_Private.graphql
@@ -10,6 +10,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -94,6 +96,8 @@ type User implements Node
@resolver(subgraph: "Accounts", select: "{ usersById(ids: $User_id) }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH")
@resolver(subgraph: "Reviews", select: "{ authorById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ])
@resolver(subgraph: "Reviews", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
@source(subgraph: "Reviews")
diff --git a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Expose_Tags_On_Public_Schema.graphql b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Expose_Tags_On_Public_Schema.graphql
index af4f7704761..9d3385666e6 100644
--- a/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Expose_Tags_On_Public_Schema.graphql
+++ b/src/HotChocolate/Fusion/test/Composition.Tests/__snapshots__/TagTests.Expose_Tags_On_Public_Schema.graphql
@@ -10,6 +10,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews", name: "id", argument: "id")
@resolver(subgraph: "Reviews", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -108,6 +110,8 @@ type User implements Node
birthdate: Date!
@source(subgraph: "Accounts")
@tag(name: "internal")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Accounts")
@source(subgraph: "Reviews")
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/ConfigurationRewriterTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/ConfigurationRewriterTests.cs
index 35fb59c076e..ede2f4b2c4b 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/ConfigurationRewriterTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/ConfigurationRewriterTests.cs
@@ -41,7 +41,7 @@ public async Task Rewrite_HttpClient_Configuration()
var snapshot = new Snapshot();
snapshot.Add(configuration, "Original:");
snapshot.Add(rewritten, "Rewritten:");
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
// this should not throw
var reader = new FusionGraphConfigurationReader();
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/DataTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/DataTests.cs
index c2b83b0760f..3861394d703 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/DataTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/DataTests.cs
@@ -58,7 +58,7 @@ query GetUser {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/DemoIntegrationTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/DemoIntegrationTests.cs
index bbcffbd2c7a..89715e3639d 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/DemoIntegrationTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/DemoIntegrationTests.cs
@@ -32,9 +32,7 @@ public async Task Authors_And_Reviews_AutoCompose()
});
// assert
- SchemaFormatter
- .FormatAsString(fusionGraph)
- .MatchSnapshot(extension: ".graphql");
+ fusionGraph.MatchSnapshot(extension: ".graphql");
}
[Fact]
@@ -53,9 +51,7 @@ public async Task Authors_And_Reviews_And_Products_AutoCompose()
});
// assert
- SchemaFormatter
- .FormatAsString(fusionGraph)
- .MatchSnapshot(extension: ".graphql");
+ fusionGraph.MatchSnapshot(extension: ".graphql");
}
[Fact]
@@ -104,7 +100,7 @@ query GetUser {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -149,7 +145,7 @@ query GetUser {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -194,7 +190,7 @@ query GetUser {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.NotNull(result.ExpectQueryResult().Errors);
Assert.NotEmpty(result.ExpectQueryResult().Errors!);
@@ -247,7 +243,7 @@ subscription OnNewReview {
// assert
var snapshot = new Snapshot();
await CollectStreamSnapshotData(snapshot, request, result, fusionGraph, cts.Token);
- await snapshot.MatchAsync(cts.Token);
+ await snapshot.MatchMarkdownAsync(cts.Token);
}
[Fact(Skip = "Fix stream order")]
@@ -298,7 +294,7 @@ subscription OnNewReview {
// assert
var snapshot = new Snapshot();
await CollectStreamSnapshotData(snapshot, request, result, fusionGraph, cts.Token);
- await snapshot.MatchAsync(cts.Token);
+ await snapshot.MatchMarkdownAsync(cts.Token);
}
[Fact]
@@ -359,7 +355,7 @@ query GetUser {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -409,7 +405,7 @@ query ReformatIds {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -459,7 +455,7 @@ query ReformatIds {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -510,7 +506,7 @@ query GetUser {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -562,7 +558,7 @@ query TopProducts {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -615,7 +611,7 @@ query TopProducts {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -662,7 +658,7 @@ query TopProducts($first: Int!) {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -718,7 +714,7 @@ query Introspect {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -771,7 +767,7 @@ ... on User {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -821,7 +817,7 @@ ... on User {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -872,7 +868,7 @@ ... on User {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -925,7 +921,7 @@ ... on User {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -979,7 +975,7 @@ ... on User {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1054,7 +1050,7 @@ public async Task Hot_Reload()
snapshot.Add(result, "2. Version");
// assert
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1096,7 +1092,7 @@ query Introspect {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1149,7 +1145,7 @@ query ProductReviews(
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1202,7 +1198,7 @@ public async Task Forward_Nested_Variables_No_OpName()
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1259,7 +1255,7 @@ public async Task Forward_Nested_Variables_No_OpName_Two_RootSelections()
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1314,7 +1310,7 @@ ... on Product {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1371,7 +1367,7 @@ query ProductReviews(
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1432,7 +1428,7 @@ query Requires {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1492,7 +1488,7 @@ query Requires {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1558,7 +1554,7 @@ query Large {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1605,7 +1601,7 @@ query AfterNull($after: String) {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -1662,7 +1658,7 @@ query TopProducts {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/ErrorTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/ErrorTests.cs
index d1f09b24860..354d65b9809 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/ErrorTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/ErrorTests.cs
@@ -63,7 +63,7 @@ public async Task TopLevelResolveSubgraphError()
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ snapshot.MatchMarkdownSnapshot();
}
[Fact]
@@ -113,7 +113,7 @@ public async Task NestedResolveSubgraphError()
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ snapshot.MatchMarkdownSnapshot();
}
[Fact]
@@ -165,7 +165,7 @@ public async Task NestedResolveWithListSubgraphError()
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ snapshot.MatchMarkdownSnapshot();
}
[Fact]
@@ -215,7 +215,7 @@ public async Task ResolveByKeySubgraphError()
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ snapshot.MatchMarkdownSnapshot();
}
[Fact]
@@ -265,7 +265,7 @@ query ReformatIds {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ snapshot.MatchMarkdownSnapshot();
}
[Fact]
@@ -315,7 +315,7 @@ query ReformatIds {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ snapshot.MatchMarkdownSnapshot();
}
[Fact]
@@ -365,7 +365,7 @@ query ReformatIds {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ snapshot.MatchMarkdownSnapshot();
}
[Fact]
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/EventStreamTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/EventStreamTests.cs
index bac88c05c48..b45f5094951 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/EventStreamTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/EventStreamTests.cs
@@ -63,7 +63,7 @@ subscription OnNewReview {
// assert
var snapshot = new Snapshot();
await CollectStreamSnapshotData(snapshot, request, result, fusionGraph, cts.Token);
- await snapshot.MatchAsync(cts.Token);
+ await snapshot.MatchMarkdownAsync(cts.Token);
}
private sealed class NoWebSockets : IWebSocketConnectionFactory
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/FileUploadTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/FileUploadTests.cs
index 4525ae7b291..6127d613ad2 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/FileUploadTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/FileUploadTests.cs
@@ -39,9 +39,7 @@ public async Task AutoCompose()
});
// assert
- SchemaFormatter
- .FormatAsString(fusionGraph)
- .MatchSnapshot(extension: ".graphql");
+ fusionGraph.MatchSnapshot(extension: ".graphql");
}
[Fact]
@@ -93,7 +91,7 @@ mutation Upload($file: Upload!) {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync(cts.Token);
+ await snapshot.MatchMarkdownAsync(cts.Token);
}
[Fact]
@@ -149,7 +147,7 @@ mutation Upload($input: UploadProductPictureInput!) {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync(cts.Token);
+ await snapshot.MatchMarkdownAsync(cts.Token);
}
private sealed class NoWebSockets : IWebSocketConnectionFactory
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/InterfaceTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/InterfaceTests.cs
index 42a3adf1ec8..771a5e48b80 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/InterfaceTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/InterfaceTests.cs
@@ -65,7 +65,7 @@ query Appointments {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -118,7 +118,7 @@ ... on Patient1 {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
@@ -173,7 +173,7 @@ ... on Patient1 {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/IntrospectionTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/IntrospectionTests.cs
index 6d39c08a37c..d63adde3781 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/IntrospectionTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/IntrospectionTests.cs
@@ -48,7 +48,7 @@ public async Task ShortCircuit_RootTypeName_Requests()
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
Assert.Null(result.ExpectQueryResult().Errors);
}
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/RequestPlannerTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/RequestPlannerTests.cs
index c5cd1e0dcf5..4b46a27e7fc 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/RequestPlannerTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/RequestPlannerTests.cs
@@ -52,7 +52,7 @@ query GetUser {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -98,7 +98,7 @@ query GetUser {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -129,7 +129,7 @@ query GetUser {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -161,7 +161,7 @@ query TopProducts($first: Int!) {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -200,7 +200,7 @@ query TopProducts {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -242,7 +242,7 @@ query Introspect {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -287,7 +287,7 @@ query TopProducts($first: Int!) {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -324,7 +324,7 @@ mutation AddReview {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -369,7 +369,7 @@ mutation AddReviews {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -415,7 +415,7 @@ mutation AddReviews {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -461,7 +461,7 @@ mutation AddReviewAndUser {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -495,7 +495,7 @@ subscription OnNewReview {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -530,7 +530,7 @@ subscription OnNewReview {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -564,7 +564,7 @@ ... on User {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -601,7 +601,7 @@ ... on User {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -640,7 +640,7 @@ ... on User {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -679,7 +679,7 @@ query GetUser {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -722,7 +722,7 @@ ... on Review {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -767,7 +767,7 @@ query Requires {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -812,7 +812,7 @@ query GetUser {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -856,7 +856,7 @@ query Requires {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -891,7 +891,7 @@ query Appointments {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -930,7 +930,7 @@ ... on Patient1 {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -976,7 +976,7 @@ query Requires {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
@@ -1014,7 +1014,7 @@ query Appointments($first: Int!) {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1055,7 +1055,7 @@ query TopProducts {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1095,7 +1095,7 @@ query Query {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1153,7 +1153,7 @@ query Query {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1211,7 +1211,7 @@ query Query {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1271,7 +1271,7 @@ query Query {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1314,7 +1314,7 @@ query Test {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1357,7 +1357,7 @@ query Test {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1400,7 +1400,7 @@ query Test {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1443,7 +1443,7 @@ query Test($variable: TestEnum) {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
[Fact]
@@ -1492,7 +1492,7 @@ query Test {
var snapshot = new Snapshot();
snapshot.Add(result.UserRequest, nameof(result.UserRequest));
snapshot.Add(result.QueryPlan, nameof(result.QueryPlan));
- await snapshot.MatchAsync();
+ await snapshot.MatchMarkdownAsync();
}
private static async Task<(DocumentNode UserRequest, Execution.Nodes.QueryPlan QueryPlan)> CreateQueryPlanAsync(
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/TestHelper.cs b/src/HotChocolate/Fusion/test/Core.Tests/TestHelper.cs
index 49940f1e5ab..a3db81bde6a 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/TestHelper.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/TestHelper.cs
@@ -15,6 +15,7 @@ public static void CollectSnapshotData(
Skimmed.Schema fusionGraph)
{
snapshot.Add(request, "User Request");
+ snapshot.Add(result, "Result");
if (result.ContextData is not null &&
result.ContextData.TryGetValue("queryPlan", out var value) &&
@@ -24,8 +25,7 @@ public static void CollectSnapshotData(
snapshot.Add(queryPlan.Hash, "QueryPlan Hash");
}
- snapshot.Add(result, "Result");
- snapshot.Add(SchemaFormatter.FormatAsString(fusionGraph), "Fusion Graph");
+ snapshot.Add(fusionGraph, "Fusion Graph");
}
public static async Task CollectStreamSnapshotData(
@@ -53,6 +53,6 @@ public static async Task CollectStreamSnapshotData(
snapshot.Add(item, $"Result {++i}");
}
- snapshot.Add(SchemaFormatter.FormatAsString(fusionGraph), "Fusion Graph");
+ snapshot.Add(fusionGraph, "Fusion Graph");
}
-}
\ No newline at end of file
+}
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/UnionTests.cs b/src/HotChocolate/Fusion/test/Core.Tests/UnionTests.cs
index 929396777b5..c5278be5cbd 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/UnionTests.cs
+++ b/src/HotChocolate/Fusion/test/Core.Tests/UnionTests.cs
@@ -81,7 +81,7 @@ ... on ProductNotFoundError {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync(cts.Token);
+ await snapshot.MatchMarkdownAsync(cts.Token);
}
[Fact]
@@ -143,7 +143,7 @@ ... on ProductNotFoundError {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync(cts.Token);
+ await snapshot.MatchMarkdownAsync(cts.Token);
}
[Fact]
@@ -202,7 +202,7 @@ mutation Upload($input: UploadProductPictureInput!) {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync(cts.Token);
+ await snapshot.MatchMarkdownAsync(cts.Token);
}
[Fact]
@@ -261,7 +261,7 @@ mutation Upload($input: UploadProductPictureInput!) {
// assert
var snapshot = new Snapshot();
CollectSnapshotData(snapshot, request, result, fusionGraph);
- await snapshot.MatchAsync(cts.Token);
+ await snapshot.MatchMarkdownAsync(cts.Token);
}
private sealed class NoWebSockets : IWebSocketConnectionFactory
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ConfigurationRewriterTests.Rewrite_HttpClient_Configuration.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ConfigurationRewriterTests.Rewrite_HttpClient_Configuration.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ConfigurationRewriterTests.Rewrite_HttpClient_Configuration.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ConfigurationRewriterTests.Rewrite_HttpClient_Configuration.md
index 22d322bd9fd..38d3a93e0be 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ConfigurationRewriterTests.Rewrite_HttpClient_Configuration.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ConfigurationRewriterTests.Rewrite_HttpClient_Configuration.md
@@ -1,5 +1,8 @@
-Original:
----------------
+# Rewrite_HttpClient_Configuration
+
+## Original:
+
+```graphql
schema @fusion(version: 1) @transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP") @transport(subgraph: "Reviews2", location: "ws:\/\/localhost:5000\/graphql", kind: "WebSocket") @transport(subgraph: "Accounts", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP") @transport(subgraph: "Accounts", location: "ws:\/\/localhost:5000\/graphql", kind: "WebSocket") {
query: Query
mutation: Mutation
@@ -7,6 +10,7 @@ schema @fusion(version: 1) @transport(subgraph: "Reviews2", location: "http:\/\/
}
type Query {
+ errorField: String @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product @variable(subgraph: "Reviews2", name: "id", argument: "id") @resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
reviewById(id: ID!): Review @variable(subgraph: "Reviews2", name: "id", argument: "id") @resolver(subgraph: "Reviews2", select: "{ reviewById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
reviewOrAuthor: ReviewOrAuthor! @resolver(subgraph: "Reviews2", select: "{ reviewOrAuthor }")
@@ -42,6 +46,7 @@ type Product @variable(subgraph: "Reviews2", name: "Product_id", select: "id") @
type Review implements Node @variable(subgraph: "Reviews2", name: "Review_id", select: "id") @resolver(subgraph: "Reviews2", select: "{ reviewById(id: $Review_id) }", arguments: [ { name: "Review_id", type: "ID!" } ]) @resolver(subgraph: "Reviews2", select: "{ nodes(ids: $Review_id) { ... on Review { ... Review } } }", arguments: [ { name: "Review_id", type: "[ID!]!" } ], kind: "BATCH") {
author: User! @source(subgraph: "Reviews2")
body: String! @source(subgraph: "Reviews2")
+ errorField: String @source(subgraph: "Reviews2")
id: ID! @source(subgraph: "Reviews2")
product: Product! @source(subgraph: "Reviews2")
}
@@ -54,6 +59,7 @@ type SomeData {
"The user who wrote the review."
type User implements Node @variable(subgraph: "Reviews2", name: "User_id", select: "id") @variable(subgraph: "Accounts", name: "User_id", select: "id") @resolver(subgraph: "Reviews2", select: "{ authorById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ]) @resolver(subgraph: "Accounts", select: "{ userById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ]) @resolver(subgraph: "Accounts", select: "{ usersById(ids: $User_id) }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") @resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date! @source(subgraph: "Accounts")
+ errorField: String @source(subgraph: "Accounts")
id: ID! @source(subgraph: "Reviews2") @source(subgraph: "Accounts")
name: String! @source(subgraph: "Reviews2") @source(subgraph: "Accounts")
reviews: [Review!]! @source(subgraph: "Reviews2")
@@ -87,10 +93,11 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
-Rewritten:
----------------
+## Rewritten:
+
+```graphql
schema @fusion(version: 1) @transport(group: "Reviews2", subgraph: "Reviews2", location: "http:\/\/client\/", location: "http:\/\/client\/", kind: "HTTP") @transport(subgraph: "Reviews2", location: "ws:\/\/localhost:5000\/graphql", kind: "WebSocket") @transport(group: "Accounts", subgraph: "Accounts", location: "http:\/\/client\/", location: "http:\/\/client\/", kind: "HTTP") @transport(subgraph: "Accounts", location: "ws:\/\/localhost:5000\/graphql", kind: "WebSocket") {
query: Query
mutation: Mutation
@@ -98,6 +105,7 @@ schema @fusion(version: 1) @transport(group: "Reviews2", subgraph: "Reviews2", l
}
type Query {
+ errorField: String @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product @variable(subgraph: "Reviews2", name: "id", argument: "id") @resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
reviewById(id: ID!): Review @variable(subgraph: "Reviews2", name: "id", argument: "id") @resolver(subgraph: "Reviews2", select: "{ reviewById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
reviewOrAuthor: ReviewOrAuthor! @resolver(subgraph: "Reviews2", select: "{ reviewOrAuthor }")
@@ -133,6 +141,7 @@ type Product @variable(subgraph: "Reviews2", name: "Product_id", select: "id") @
type Review implements Node @variable(subgraph: "Reviews2", name: "Review_id", select: "id") @resolver(subgraph: "Reviews2", select: "{ reviewById(id: $Review_id) }", arguments: [ { name: "Review_id", type: "ID!" } ]) @resolver(subgraph: "Reviews2", select: "{ nodes(ids: $Review_id) { ... on Review { ... Review } } }", arguments: [ { name: "Review_id", type: "[ID!]!" } ], kind: "BATCH") {
author: User! @source(subgraph: "Reviews2")
body: String! @source(subgraph: "Reviews2")
+ errorField: String @source(subgraph: "Reviews2")
id: ID! @source(subgraph: "Reviews2")
product: Product! @source(subgraph: "Reviews2")
}
@@ -145,6 +154,7 @@ type SomeData {
"The user who wrote the review."
type User implements Node @variable(subgraph: "Reviews2", name: "User_id", select: "id") @variable(subgraph: "Accounts", name: "User_id", select: "id") @resolver(subgraph: "Reviews2", select: "{ authorById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ]) @resolver(subgraph: "Accounts", select: "{ userById(id: $User_id) }", arguments: [ { name: "User_id", type: "ID!" } ]) @resolver(subgraph: "Accounts", select: "{ usersById(ids: $User_id) }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") @resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date! @source(subgraph: "Accounts")
+ errorField: String @source(subgraph: "Accounts")
id: ID! @source(subgraph: "Reviews2") @source(subgraph: "Accounts")
name: String! @source(subgraph: "Reviews2") @source(subgraph: "Accounts")
reviews: [Review!]! @source(subgraph: "Reviews2")
@@ -178,4 +188,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DataTests.Fetch_Data_Across_Subgraphs.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DataTests.Fetch_Data_Across_Subgraphs.md
similarity index 94%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DataTests.Fetch_Data_Across_Subgraphs.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DataTests.Fetch_Data_Across_Subgraphs.md
index 4db27cb60e0..7b775b77748 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DataTests.Fetch_Data_Across_Subgraphs.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DataTests.Fetch_Data_Across_Subgraphs.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Fetch_Data_Across_Subgraphs
+
+## User Request
+
+```graphql
query GetUser {
viewer {
data {
@@ -8,10 +11,26 @@ query GetUser {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "viewer": {
+ "data": {
+ "accountValue": "Account",
+ "reviewsValue": "Reviews2"
+ }
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query GetUser { viewer { data { accountValue reviewsValue } } }",
"operation": "GetUser",
@@ -44,29 +63,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
0945927521FCEB9066754DDECB9BC7D43B187B4E
----------------
+```
-Result
----------------
-{
- "data": {
- "viewer": {
- "data": {
- "accountValue": "Account",
- "reviewsValue": "Reviews2"
- }
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -79,6 +86,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -145,6 +154,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -168,6 +179,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -211,4 +224,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_AutoCompose.graphql b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_AutoCompose.graphql
index b46caa2875e..99a488d7735 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_AutoCompose.graphql
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_AutoCompose.graphql
@@ -12,6 +12,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -118,6 +120,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -152,6 +156,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Introspection.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Introspection.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Introspection.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Introspection.md
index 129b697ce33..2f2cc78be73 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Introspection.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Introspection.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Authors_And_Reviews_And_Products_Introspection
+
+## User Request
+
+```graphql
query Introspect {
__schema {
types {
@@ -15,38 +18,11 @@ query Introspect {
}
}
}
----------------
+```
-QueryPlan
----------------
-{
- "document": "query Introspect { __schema { types { name kind fields { name type { name kind } } } } }",
- "operation": "Introspect",
- "rootNode": {
- "type": "Sequence",
- "nodes": [
- {
- "type": "Introspect",
- "document": "{ __schema { types { name kind fields { name type { name kind } } } } }"
- },
- {
- "type": "Compose",
- "selectionSetIds": [
- 0
- ]
- }
- ]
- }
-}
----------------
-
-QueryPlan Hash
----------------
-3F4377696891DA698EAFD7B8D8BD8CB60FEC342E
----------------
+## Result
-Result
----------------
+```json
{
"data": {
"__schema": {
@@ -365,6 +341,13 @@ Result
"name": "Query",
"kind": "OBJECT",
"fields": [
+ {
+ "name": "errorField",
+ "type": {
+ "name": "String",
+ "kind": "SCALAR"
+ }
+ },
{
"name": "productById",
"type": {
@@ -616,6 +599,13 @@ Result
"kind": "NON_NULL"
}
},
+ {
+ "name": "errorField",
+ "type": {
+ "name": "String",
+ "kind": "SCALAR"
+ }
+ },
{
"name": "id",
"type": {
@@ -697,6 +687,13 @@ Result
"kind": "NON_NULL"
}
},
+ {
+ "name": "errorField",
+ "type": {
+ "name": "String",
+ "kind": "SCALAR"
+ }
+ },
{
"name": "id",
"type": {
@@ -839,10 +836,41 @@ Result
}
}
}
----------------
+```
+
+## QueryPlan
+
+```json
+{
+ "document": "query Introspect { __schema { types { name kind fields { name type { name kind } } } } }",
+ "operation": "Introspect",
+ "rootNode": {
+ "type": "Sequence",
+ "nodes": [
+ {
+ "type": "Introspect",
+ "document": "{ __schema { types { name kind fields { name type { name kind } } } } }"
+ },
+ {
+ "type": "Compose",
+ "selectionSetIds": [
+ 0
+ ]
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan Hash
+
+```text
+3F4377696891DA698EAFD7B8D8BD8CB60FEC342E
+```
-Fusion Graph
----------------
+## Fusion Graph
+
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -857,6 +885,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -963,6 +993,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -997,6 +1029,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -1059,4 +1093,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TopProducts.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TopProducts.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TopProducts.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TopProducts.md
index 70d51329771..26156a2c5e5 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TopProducts.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TopProducts.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Authors_And_Reviews_And_Products_Query_TopProducts
+
+## User Request
+
+```graphql
query TopProducts {
topProducts(first: 2) {
name
@@ -11,10 +14,50 @@ query TopProducts {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "topProducts": [
+ {
+ "name": "Table",
+ "reviews": [
+ {
+ "body": "Love it!",
+ "author": {
+ "name": "@ada"
+ }
+ },
+ {
+ "body": "Prefer something else.",
+ "author": {
+ "name": "@alan"
+ }
+ }
+ ]
+ },
+ {
+ "name": "Couch",
+ "reviews": [
+ {
+ "body": "Too expensive.",
+ "author": {
+ "name": "@alan"
+ }
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query TopProducts { topProducts(first: 2) { name reviews { body author { name } } } }",
"operation": "TopProducts",
@@ -64,53 +107,17 @@ QueryPlan
"__fusion_exports__1": "Product_id"
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
C5341AF7D1F79A5A4C17FED3BE9B194FBF30C918
----------------
+```
-Result
----------------
-{
- "data": {
- "topProducts": [
- {
- "name": "Table",
- "reviews": [
- {
- "body": "Love it!",
- "author": {
- "name": "@ada"
- }
- },
- {
- "body": "Prefer something else.",
- "author": {
- "name": "@alan"
- }
- }
- ]
- },
- {
- "name": "Couch",
- "reviews": [
- {
- "body": "Too expensive.",
- "author": {
- "name": "@alan"
- }
- }
- ]
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -125,6 +132,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -231,6 +240,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -265,6 +276,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -327,4 +340,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TypeName.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TypeName.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TypeName.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TypeName.md
index cf7dac6d446..22dffe51dc6 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TypeName.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_Query_TypeName.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Authors_And_Reviews_And_Products_Query_TypeName
+
+## User Request
+
+```graphql
query TopProducts {
__typename
topProducts(first: 2) {
@@ -12,10 +15,51 @@ query TopProducts {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "__typename": "Query",
+ "topProducts": [
+ {
+ "__typename": "Product",
+ "reviews": [
+ {
+ "__typename": "Review",
+ "author": {
+ "__typename": "User"
+ }
+ },
+ {
+ "__typename": "Review",
+ "author": {
+ "__typename": "User"
+ }
+ }
+ ]
+ },
+ {
+ "__typename": "Product",
+ "reviews": [
+ {
+ "__typename": "Review",
+ "author": {
+ "__typename": "User"
+ }
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query TopProducts { __typename topProducts(first: 2) { __typename reviews { __typename author { __typename } } } }",
"operation": "TopProducts",
@@ -74,54 +118,17 @@ QueryPlan
"__fusion_exports__1": "Product_id"
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
5262A2743338E9E565B8B4DEDFB63E8DC8AE2FC4
----------------
+```
-Result
----------------
-{
- "data": {
- "__typename": "Query",
- "topProducts": [
- {
- "__typename": "Product",
- "reviews": [
- {
- "__typename": "Review",
- "author": {
- "__typename": "User"
- }
- },
- {
- "__typename": "Review",
- "author": {
- "__typename": "User"
- }
- }
- ]
- },
- {
- "__typename": "Product",
- "reviews": [
- {
- "__typename": "Review",
- "author": {
- "__typename": "User"
- }
- }
- ]
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -136,6 +143,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -242,6 +251,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -276,6 +287,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -338,4 +351,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_With_Variables.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_With_Variables.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_With_Variables.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_With_Variables.md
index 312731858e5..2b88e0862be 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_With_Variables.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_And_Products_With_Variables.md
@@ -1,14 +1,35 @@
-User Request
----------------
+# Authors_And_Reviews_And_Products_With_Variables
+
+## User Request
+
+```graphql
query TopProducts($first: Int!) {
topProducts(first: $first) {
id
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "topProducts": [
+ {
+ "id": "UHJvZHVjdAppMQ=="
+ },
+ {
+ "id": "UHJvZHVjdAppMg=="
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query TopProducts($first: Int!) { topProducts(first: $first) { id } }",
"operation": "TopProducts",
@@ -35,31 +56,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
D95EB3DB7C743969F7A95EBD409217BF5E1BB5D8
----------------
+```
-Result
----------------
-{
- "data": {
- "topProducts": [
- {
- "id": "UHJvZHVjdAppMQ=="
- },
- {
- "id": "UHJvZHVjdAppMg=="
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -74,6 +81,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -180,6 +189,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -214,6 +225,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -276,4 +289,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_AutoCompose.graphql b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_AutoCompose.graphql
index 6822afff434..2f31c0622bf 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_AutoCompose.graphql
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_AutoCompose.graphql
@@ -10,6 +10,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -76,6 +78,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -99,6 +103,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Batch_Requests.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Batch_Requests.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Batch_Requests.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Batch_Requests.md
index a53cbfb9c17..946427c45bf 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Batch_Requests.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Batch_Requests.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Authors_And_Reviews_Batch_Requests
+
+## User Request
+
+```graphql
query GetUser {
reviews {
body
@@ -8,10 +11,46 @@ query GetUser {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "reviews": [
+ {
+ "body": "Love it!",
+ "author": {
+ "birthdate": "1815-12-10"
+ }
+ },
+ {
+ "body": "Too expensive.",
+ "author": {
+ "birthdate": "1912-06-23"
+ }
+ },
+ {
+ "body": "Could be better.",
+ "author": {
+ "birthdate": "1815-12-10"
+ }
+ },
+ {
+ "body": "Prefer something else.",
+ "author": {
+ "birthdate": "1912-06-23"
+ }
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query GetUser { reviews { body author { birthdate } } }",
"operation": "GetUser",
@@ -61,49 +100,17 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
333DF30FB036FBB1BEB270E16C4A7D635684E74A
----------------
+```
-Result
----------------
-{
- "data": {
- "reviews": [
- {
- "body": "Love it!",
- "author": {
- "birthdate": "1815-12-10"
- }
- },
- {
- "body": "Too expensive.",
- "author": {
- "birthdate": "1912-06-23"
- }
- },
- {
- "body": "Could be better.",
- "author": {
- "birthdate": "1815-12-10"
- }
- },
- {
- "body": "Prefer something else.",
- "author": {
- "birthdate": "1912-06-23"
- }
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -118,6 +125,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -196,6 +205,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -219,6 +230,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -262,4 +275,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById.md
similarity index 94%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById.md
index a1ea065eebe..a54f311948e 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById.md
@@ -1,14 +1,30 @@
-User Request
----------------
+# Authors_And_Reviews_Query_GetUserById
+
+## User Request
+
+```graphql
query GetUser {
userById(id: "VXNlcgppMQ==") {
id
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "userById": {
+ "id": "VXNlcgppMQ=="
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query GetUser { userById(id: \u0022VXNlcgppMQ==\u0022) { id } }",
"operation": "GetUser",
@@ -30,26 +46,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
09961F039AB8E9A5FDD54304FF938C9277EF0562
----------------
+```
-Result
----------------
-{
- "data": {
- "userById": {
- "id": "VXNlcgppMQ=="
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -62,6 +69,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -128,6 +137,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -151,6 +162,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -194,4 +207,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById_With_Invalid_Id_Value.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById_With_Invalid_Id_Value.md
similarity index 93%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById_With_Invalid_Id_Value.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById_With_Invalid_Id_Value.md
index 35cb41b7347..079f30b8002 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById_With_Invalid_Id_Value.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserById_With_Invalid_Id_Value.md
@@ -1,14 +1,33 @@
-User Request
----------------
+# Authors_And_Reviews_Query_GetUserById_With_Invalid_Id_Value
+
+## User Request
+
+```graphql
query GetUser {
userById(id: 1) {
id
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "errors": [
+ {
+ "message": "The ID `1` has an invalid format."
+ }
+ ],
+ "data": {
+ "userById": null
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query GetUser { userById(id: 1) { id } }",
"operation": "GetUser",
@@ -30,29 +49,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
7D1C123A297876C8F5C32BC231900D1706858A87
----------------
+```
-Result
----------------
-{
- "errors": [
- {
- "message": "The ID `1` has an invalid format."
- }
- ],
- "data": {
- "userById": null
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -65,6 +72,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -131,6 +140,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -154,6 +165,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -197,4 +210,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserReviews.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserReviews.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserReviews.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserReviews.md
index 481b41dea23..9b92bee65c9 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserReviews.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_GetUserReviews.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Authors_And_Reviews_Query_GetUserReviews
+
+## User Request
+
+```graphql
query GetUser {
users {
name
@@ -11,10 +14,56 @@ query GetUser {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "users": [
+ {
+ "name": "Ada Lovelace",
+ "reviews": [
+ {
+ "body": "Love it!",
+ "author": {
+ "name": "@ada"
+ }
+ },
+ {
+ "body": "Could be better.",
+ "author": {
+ "name": "@ada"
+ }
+ }
+ ]
+ },
+ {
+ "name": "Alan Turing",
+ "reviews": [
+ {
+ "body": "Too expensive.",
+ "author": {
+ "name": "@alan"
+ }
+ },
+ {
+ "body": "Prefer something else.",
+ "author": {
+ "name": "@alan"
+ }
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query GetUser { users { name reviews { body author { name } } } }",
"operation": "GetUser",
@@ -64,59 +113,17 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
8F6E2CCB58DA60498BA9F134BF2F1B8D5C24FBA0
----------------
+```
-Result
----------------
-{
- "data": {
- "users": [
- {
- "name": "Ada Lovelace",
- "reviews": [
- {
- "body": "Love it!",
- "author": {
- "name": "@ada"
- }
- },
- {
- "body": "Could be better.",
- "author": {
- "name": "@ada"
- }
- }
- ]
- },
- {
- "name": "Alan Turing",
- "reviews": [
- {
- "body": "Too expensive.",
- "author": {
- "name": "@alan"
- }
- },
- {
- "body": "Prefer something else.",
- "author": {
- "name": "@alan"
- }
- }
- ]
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -129,6 +136,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -195,6 +204,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -218,6 +229,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -261,4 +274,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_Reformat_AuthorIds.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_Reformat_AuthorIds.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_Reformat_AuthorIds.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_Reformat_AuthorIds.md
index dac246ba197..9a6957e5852 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_Reformat_AuthorIds.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_Reformat_AuthorIds.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Authors_And_Reviews_Query_Reformat_AuthorIds
+
+## User Request
+
+```graphql
query ReformatIds {
reviews {
author {
@@ -7,40 +10,11 @@ query ReformatIds {
}
}
}
----------------
+```
-QueryPlan
----------------
-{
- "document": "query ReformatIds { reviews { author { id } } }",
- "operation": "ReformatIds",
- "rootNode": {
- "type": "Sequence",
- "nodes": [
- {
- "type": "Resolve",
- "subgraph": "Reviews",
- "document": "query ReformatIds_1 { reviews { author { id } } }",
- "selectionSetId": 0
- },
- {
- "type": "Compose",
- "selectionSetIds": [
- 0
- ]
- }
- ]
- }
-}
----------------
-
-QueryPlan Hash
----------------
-9F1489CA5289059663ED412471F2C4B87F8A4911
----------------
+## Result
-Result
----------------
+```json
{
"data": {
"reviews": [
@@ -67,10 +41,43 @@ Result
]
}
}
----------------
+```
+
+## QueryPlan
+
+```json
+{
+ "document": "query ReformatIds { reviews { author { id } } }",
+ "operation": "ReformatIds",
+ "rootNode": {
+ "type": "Sequence",
+ "nodes": [
+ {
+ "type": "Resolve",
+ "subgraph": "Reviews",
+ "document": "query ReformatIds_1 { reviews { author { id } } }",
+ "selectionSetId": 0
+ },
+ {
+ "type": "Compose",
+ "selectionSetIds": [
+ 0
+ ]
+ }
+ ]
+ }
+}
+```
-Fusion Graph
----------------
+## QueryPlan Hash
+
+```text
+9F1489CA5289059663ED412471F2C4B87F8A4911
+```
+
+## Fusion Graph
+
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -85,6 +92,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews", name: "id", argument: "id")
@@ -183,6 +192,8 @@ type User implements Node
@resolver(subgraph: "Reviews", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews")
@source(subgraph: "Accounts")
@@ -224,4 +235,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_ReviewsUser.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_ReviewsUser.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_ReviewsUser.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_ReviewsUser.md
index ea475a26bf0..7c42dee391c 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_ReviewsUser.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Authors_And_Reviews_Query_ReviewsUser.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Authors_And_Reviews_Query_ReviewsUser
+
+## User Request
+
+```graphql
query GetUser {
a: reviews {
body
@@ -23,79 +26,11 @@ query GetUser {
}
}
}
----------------
+```
-QueryPlan
----------------
-{
- "document": "query GetUser { a: reviews { body author { name } } b: reviews { body author { name } } users { name reviews { body author { name } } } }",
- "operation": "GetUser",
- "rootNode": {
- "type": "Sequence",
- "nodes": [
- {
- "type": "Parallel",
- "nodes": [
- {
- "type": "Resolve",
- "subgraph": "Reviews2",
- "document": "query GetUser_1 { a: reviews { body author { name } } b: reviews { body author { name } } }",
- "selectionSetId": 0
- },
- {
- "type": "Resolve",
- "subgraph": "Accounts",
- "document": "query GetUser_2 { users { name __fusion_exports__1: id } }",
- "selectionSetId": 0,
- "provides": [
- {
- "variable": "__fusion_exports__1"
- }
- ]
- }
- ]
- },
- {
- "type": "Compose",
- "selectionSetIds": [
- 0
- ]
- },
- {
- "type": "ResolveByKeyBatch",
- "subgraph": "Reviews2",
- "document": "query GetUser_3($__fusion_exports__1: [ID!]!) { nodes(ids: $__fusion_exports__1) { ... on User { reviews { body author { name } } __fusion_exports__1: id } } }",
- "selectionSetId": 1,
- "path": [
- "nodes"
- ],
- "requires": [
- {
- "variable": "__fusion_exports__1"
- }
- ]
- },
- {
- "type": "Compose",
- "selectionSetIds": [
- 1
- ]
- }
- ]
- },
- "state": {
- "__fusion_exports__1": "User_id"
- }
-}
----------------
-
-QueryPlan Hash
----------------
-3FC299961B8EECB810A073703612092CC602232F
----------------
+## Result
-Result
----------------
+```json
{
"data": {
"a": [
@@ -188,10 +123,82 @@ Result
]
}
}
----------------
+```
+
+## QueryPlan
-Fusion Graph
----------------
+```json
+{
+ "document": "query GetUser { a: reviews { body author { name } } b: reviews { body author { name } } users { name reviews { body author { name } } } }",
+ "operation": "GetUser",
+ "rootNode": {
+ "type": "Sequence",
+ "nodes": [
+ {
+ "type": "Parallel",
+ "nodes": [
+ {
+ "type": "Resolve",
+ "subgraph": "Reviews2",
+ "document": "query GetUser_1 { a: reviews { body author { name } } b: reviews { body author { name } } }",
+ "selectionSetId": 0
+ },
+ {
+ "type": "Resolve",
+ "subgraph": "Accounts",
+ "document": "query GetUser_2 { users { name __fusion_exports__1: id } }",
+ "selectionSetId": 0,
+ "provides": [
+ {
+ "variable": "__fusion_exports__1"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "type": "Compose",
+ "selectionSetIds": [
+ 0
+ ]
+ },
+ {
+ "type": "ResolveByKeyBatch",
+ "subgraph": "Reviews2",
+ "document": "query GetUser_3($__fusion_exports__1: [ID!]!) { nodes(ids: $__fusion_exports__1) { ... on User { reviews { body author { name } } __fusion_exports__1: id } } }",
+ "selectionSetId": 1,
+ "path": [
+ "nodes"
+ ],
+ "requires": [
+ {
+ "variable": "__fusion_exports__1"
+ }
+ ]
+ },
+ {
+ "type": "Compose",
+ "selectionSetIds": [
+ 1
+ ]
+ }
+ ]
+ },
+ "state": {
+ "__fusion_exports__1": "User_id"
+ }
+}
+```
+
+## QueryPlan Hash
+
+```text
+3FC299961B8EECB810A073703612092CC602232F
+```
+
+## Fusion Graph
+
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -204,6 +211,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -270,6 +279,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -293,6 +304,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -336,4 +349,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Invalid_Node_Field.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Invalid_Node_Field.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Invalid_Node_Field.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Invalid_Node_Field.md
index a35f9a1c1be..4cc93699003 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Invalid_Node_Field.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Invalid_Node_Field.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Fetch_User_With_Invalid_Node_Field
+
+## User Request
+
+```graphql
query FetchNode($id: ID!) {
node(id: $id) {
... on User {
@@ -7,10 +10,35 @@ query FetchNode($id: ID!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "errors": [
+ {
+ "message": "The id value has an invalid format.",
+ "locations": [
+ {
+ "line": 2,
+ "column": 5
+ }
+ ],
+ "path": [
+ "node"
+ ]
+ }
+ ],
+ "data": {
+ "node": null
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query FetchNode($id: ID!) { node(id: $id) { ... on User { id } } }",
"operation": "FetchNode",
@@ -75,38 +103,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
1A21CA422439C6540C53FC5028089D965C5F8A03
----------------
+```
-Result
----------------
-{
- "errors": [
- {
- "message": "The id value has an invalid format.",
- "locations": [
- {
- "line": 2,
- "column": 5
- }
- ],
- "path": [
- "node"
- ]
- }
- ],
- "data": {
- "node": null
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -124,6 +131,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -246,6 +255,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -280,6 +291,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -342,4 +355,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field.md
index e5c4483f8ca..7a4675ef53a 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Fetch_User_With_Node_Field
+
+## User Request
+
+```graphql
query FetchNode($id: ID!) {
node(id: $id) {
... on User {
@@ -7,10 +10,23 @@ query FetchNode($id: ID!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "node": {
+ "id": "VXNlcgppMQ=="
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query FetchNode($id: ID!) { node(id: $id) { ... on User { id } } }",
"operation": "FetchNode",
@@ -75,26 +91,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
1A21CA422439C6540C53FC5028089D965C5F8A03
----------------
+```
-Result
----------------
-{
- "data": {
- "node": {
- "id": "VXNlcgppMQ=="
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -112,6 +119,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -234,6 +243,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -268,6 +279,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -330,4 +343,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_From_Two_Subgraphs.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_From_Two_Subgraphs.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_From_Two_Subgraphs.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_From_Two_Subgraphs.md
index 7940fb16db4..12e1b31d784 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_From_Two_Subgraphs.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_From_Two_Subgraphs.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Fetch_User_With_Node_Field_From_Two_Subgraphs
+
+## User Request
+
+```graphql
query FetchNode($id: ID!) {
node(id: $id) {
... on User {
@@ -10,10 +13,31 @@ query FetchNode($id: ID!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "node": {
+ "birthdate": "1815-12-10",
+ "reviews": [
+ {
+ "body": "Love it!"
+ },
+ {
+ "body": "Could be better."
+ }
+ ]
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query FetchNode($id: ID!) { node(id: $id) { ... on User { birthdate reviews { body } } } }",
"operation": "FetchNode",
@@ -101,34 +125,17 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
CF2FA54AB2C2B903352C6B622DDDE63DD34CE7A4
----------------
+```
-Result
----------------
-{
- "data": {
- "node": {
- "birthdate": "1815-12-10",
- "reviews": [
- {
- "body": "Love it!"
- },
- {
- "body": "Could be better."
- }
- ]
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -146,6 +153,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -268,6 +277,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -302,6 +313,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -364,4 +377,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Review_Id.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Review_Id.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Review_Id.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Review_Id.md
index 0df8c6d3aeb..7b2e54adb90 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Review_Id.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Review_Id.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Fetch_User_With_Node_Field_Pass_In_Review_Id
+
+## User Request
+
+```graphql
query FetchNode($id: ID!) {
node(id: $id) {
... on User {
@@ -7,10 +10,21 @@ query FetchNode($id: ID!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "node": {}
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query FetchNode($id: ID!) { node(id: $id) { ... on User { id } } }",
"operation": "FetchNode",
@@ -75,24 +89,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
1A21CA422439C6540C53FC5028089D965C5F8A03
----------------
+```
-Result
----------------
-{
- "data": {
- "node": {}
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -110,6 +117,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -232,6 +241,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -266,6 +277,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -328,4 +341,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Unknown_Id.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Unknown_Id.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Unknown_Id.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Unknown_Id.md
index a35f9a1c1be..9984386201f 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Unknown_Id.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Fetch_User_With_Node_Field_Pass_In_Unknown_Id.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Fetch_User_With_Node_Field_Pass_In_Unknown_Id
+
+## User Request
+
+```graphql
query FetchNode($id: ID!) {
node(id: $id) {
... on User {
@@ -7,10 +10,35 @@ query FetchNode($id: ID!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "errors": [
+ {
+ "message": "The id value has an invalid format.",
+ "locations": [
+ {
+ "line": 2,
+ "column": 5
+ }
+ ],
+ "path": [
+ "node"
+ ]
+ }
+ ],
+ "data": {
+ "node": null
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query FetchNode($id: ID!) { node(id: $id) { ... on User { id } } }",
"operation": "FetchNode",
@@ -75,38 +103,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
1A21CA422439C6540C53FC5028089D965C5F8A03
----------------
+```
-Result
----------------
-{
- "errors": [
- {
- "message": "The id value has an invalid format.",
- "locations": [
- {
- "line": 2,
- "column": 5
- }
- ],
- "path": [
- "node"
- ]
- }
- ],
- "data": {
- "node": null
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -124,6 +131,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -246,6 +255,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -280,6 +291,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -342,4 +355,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Node_Variables.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Node_Variables.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Node_Variables.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Node_Variables.md
index 42a20f464e2..f255f5af474 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Node_Variables.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Node_Variables.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Forward_Nested_Node_Variables
+
+## User Request
+
+```graphql
query ProductReviews($id: ID!, $first: Int!) {
node(id: $id) {
... on Product {
@@ -8,10 +11,24 @@ query ProductReviews($id: ID!, $first: Int!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "node": {
+ "id": "UHJvZHVjdAppMQ==",
+ "repeat": 1
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query ProductReviews($id: ID!, $first: Int!) { node(id: $id) { ... on Product { id repeat(num: $first) } } }",
"operation": "ProductReviews",
@@ -79,27 +96,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
802664ED0C849F707F3AA4098DE07E5D1D9E80DB
----------------
+```
-Result
----------------
-{
- "data": {
- "node": {
- "id": "UHJvZHVjdAppMQ==",
- "repeat": 1
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -117,6 +124,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -239,6 +248,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -273,6 +284,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -335,4 +348,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Object_Variables.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Object_Variables.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Object_Variables.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Object_Variables.md
index d9ba45a48d5..250c7dea379 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Object_Variables.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Object_Variables.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Forward_Nested_Object_Variables
+
+## User Request
+
+```graphql
query ProductReviews($id: ID!, $first: Int!) {
productById(id: $id) {
id
@@ -10,10 +13,28 @@ query ProductReviews($id: ID!, $first: Int!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "productById": {
+ "id": "UHJvZHVjdAppMQ==",
+ "repeatData": {
+ "data": {
+ "num": 1
+ }
+ }
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query ProductReviews($id: ID!, $first: Int!) { productById(id: $id) { id repeatData(data: { data: { num: $first } }) { data { num } } } }",
"operation": "ProductReviews",
@@ -43,31 +64,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
8ECD591E2162E9499A4E7DAC6CA05988445547E6
----------------
+```
-Result
----------------
-{
- "data": {
- "productById": {
- "id": "UHJvZHVjdAppMQ==",
- "repeatData": {
- "data": {
- "num": 1
- }
- }
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -85,6 +92,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -207,6 +216,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -241,6 +252,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -303,4 +316,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables.md
index 23977c9afd5..65b99dfda9d 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables.md
@@ -1,15 +1,32 @@
-User Request
----------------
+# Forward_Nested_Variables
+
+## User Request
+
+```graphql
query ProductReviews($id: ID!, $first: Int!) {
productById(id: $id) {
id
repeat(num: $first)
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "productById": {
+ "id": "UHJvZHVjdAppMQ==",
+ "repeat": 1
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query ProductReviews($id: ID!, $first: Int!) { productById(id: $id) { id repeat(num: $first) } }",
"operation": "ProductReviews",
@@ -39,27 +56,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
CAA1FE80B0D6C630C75664DB34FD91624B849F27
----------------
+```
-Result
----------------
-{
- "data": {
- "productById": {
- "id": "UHJvZHVjdAppMQ==",
- "repeat": 1
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -77,6 +84,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -199,6 +208,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -233,6 +244,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -295,4 +308,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName.md
index f6d0e1902b3..cd7bdb02751 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName.md
@@ -1,15 +1,32 @@
-User Request
----------------
+# Forward_Nested_Variables_No_OpName
+
+## User Request
+
+```graphql
query($id: ID!, $first: Int!) {
productById(id: $id) {
id
repeat(num: $first)
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "productById": {
+ "id": "UHJvZHVjdAppMQ==",
+ "repeat": 1
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query($id: ID!, $first: Int!) { productById(id: $id) { id repeat(num: $first) } }",
"rootNode": {
@@ -38,27 +55,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
361C327571AE2F6013116F6DBD44EBDB241DA154
----------------
+```
-Result
----------------
-{
- "data": {
- "productById": {
- "id": "UHJvZHVjdAppMQ==",
- "repeat": 1
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -76,6 +83,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -198,6 +207,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -232,6 +243,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -294,4 +307,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName_Two_RootSelections.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName_Two_RootSelections.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName_Two_RootSelections.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName_Two_RootSelections.md
index 3252e19537c..fb932b1c14d 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName_Two_RootSelections.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Forward_Nested_Variables_No_OpName_Two_RootSelections.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Forward_Nested_Variables_No_OpName_Two_RootSelections
+
+## User Request
+
+```graphql
query($id: ID!, $first: Int!) {
a: productById(id: $id) {
id
@@ -10,10 +13,28 @@ query($id: ID!, $first: Int!) {
repeat(num: $first)
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "a": {
+ "id": "UHJvZHVjdAppMQ==",
+ "repeat": 1
+ },
+ "b": {
+ "id": "UHJvZHVjdAppMQ==",
+ "repeat": 1
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query($id: ID!, $first: Int!) { a: productById(id: $id) { id repeat(num: $first) } b: productById(id: $id) { id repeat(num: $first) } }",
"rootNode": {
@@ -42,31 +63,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
0B9DDBAE987F3EF0FF2163307F2744D756A81213
----------------
+```
-Result
----------------
-{
- "data": {
- "a": {
- "id": "UHJvZHVjdAppMQ==",
- "repeat": 1
- },
- "b": {
- "id": "UHJvZHVjdAppMQ==",
- "repeat": 1
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -84,6 +91,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -206,6 +215,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -240,6 +251,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -302,4 +315,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.GetFirstPage_With_After_Null.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.GetFirstPage_With_After_Null.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.GetFirstPage_With_After_Null.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.GetFirstPage_With_After_Null.md
index 9c56b969f48..df72b7ad5ea 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.GetFirstPage_With_After_Null.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.GetFirstPage_With_After_Null.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# GetFirstPage_With_After_Null
+
+## User Request
+
+```graphql
query AfterNull($after: String) {
appointments(after: $after) {
nodes {
@@ -7,10 +10,30 @@ query AfterNull($after: String) {
}
}
}
----------------
+```
+
+## Result
-QueryPlan
----------------
+```json
+{
+ "data": {
+ "appointments": {
+ "nodes": [
+ {
+ "id": "QXBwb2ludG1lbnQKaTE="
+ },
+ {
+ "id": "QXBwb2ludG1lbnQKaTI="
+ }
+ ]
+ }
+ }
+}
+```
+
+## QueryPlan
+
+```json
{
"document": "query AfterNull($after: String) { appointments(after: $after) { nodes { id } } }",
"operation": "AfterNull",
@@ -37,33 +60,17 @@ QueryPlan
]
}
}
----------------
+```
+
+## QueryPlan Hash
-QueryPlan Hash
----------------
+```text
C601EB39A2F136D152B59B30853A0073588356FE
----------------
+```
-Result
----------------
-{
- "data": {
- "appointments": {
- "nodes": [
- {
- "id": "QXBwb2ludG1lbnQKaTE="
- },
- {
- "id": "QXBwb2ludG1lbnQKaTI="
- }
- ]
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Appointment", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -171,4 +178,5 @@ interface IPatient {
interface Node {
id: ID!
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Hot_Reload.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Hot_Reload.md
similarity index 84%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Hot_Reload.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Hot_Reload.md
index 7653c3dfcc2..1b78fa8b1af 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Hot_Reload.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Hot_Reload.md
@@ -1,9 +1,15 @@
-1. Version
----------------
+# Hot_Reload
+
+## 1. Version
+
+```json
{
"data": {
"__type": {
"fields": [
+ {
+ "name": "errorField"
+ },
{
"name": "node"
},
@@ -26,10 +32,11 @@
}
}
}
----------------
+```
-2. Version
----------------
+## 2. Version
+
+```json
{
"data": {
"__type": {
@@ -37,6 +44,9 @@
{
"name": "authorById"
},
+ {
+ "name": "errorField"
+ },
{
"name": "node"
},
@@ -71,4 +81,5 @@
}
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.QueryType_Parallel_Multiple_SubGraphs_WithArguments.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.QueryType_Parallel_Multiple_SubGraphs_WithArguments.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.QueryType_Parallel_Multiple_SubGraphs_WithArguments.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.QueryType_Parallel_Multiple_SubGraphs_WithArguments.md
index 98b076a1474..82811b738e8 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.QueryType_Parallel_Multiple_SubGraphs_WithArguments.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.QueryType_Parallel_Multiple_SubGraphs_WithArguments.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# QueryType_Parallel_Multiple_SubGraphs_WithArguments
+
+## User Request
+
+```graphql
query TopProducts {
topProducts(first: 5) {
weight
@@ -12,10 +15,61 @@ query TopProducts {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "topProducts": [
+ {
+ "weight": 100,
+ "deliveryEstimate": {
+ "min": 400,
+ "max": 800
+ },
+ "reviews": [
+ {
+ "body": "Love it!"
+ },
+ {
+ "body": "Prefer something else."
+ }
+ ]
+ },
+ {
+ "weight": 1000,
+ "deliveryEstimate": {
+ "min": 2650,
+ "max": 5300
+ },
+ "reviews": [
+ {
+ "body": "Too expensive."
+ }
+ ]
+ },
+ {
+ "weight": 50,
+ "deliveryEstimate": {
+ "min": 45,
+ "max": 90
+ },
+ "reviews": [
+ {
+ "body": "Could be better."
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query TopProducts { topProducts(first: 5) { weight deliveryEstimate(zip: \u002212345\u0022) { min max } reviews { body } } }",
"operation": "TopProducts",
@@ -98,64 +152,17 @@ QueryPlan
"__fusion_exports__3": "Product_id"
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
FC03CBC397E93B9EFAE6B51FE7ACC718616299F7
----------------
+```
-Result
----------------
-{
- "data": {
- "topProducts": [
- {
- "weight": 100,
- "deliveryEstimate": {
- "min": 400,
- "max": 800
- },
- "reviews": [
- {
- "body": "Love it!"
- },
- {
- "body": "Prefer something else."
- }
- ]
- },
- {
- "weight": 1000,
- "deliveryEstimate": {
- "min": 2650,
- "max": 5300
- },
- "reviews": [
- {
- "body": "Too expensive."
- }
- ]
- },
- {
- "weight": 50,
- "deliveryEstimate": {
- "min": 45,
- "max": 90
- },
- "reviews": [
- {
- "body": "Could be better."
- }
- ]
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -175,6 +182,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -315,6 +324,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -349,6 +360,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -411,4 +424,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context.md
index 641176af15a..65062025913 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Require_Data_In_Context
+
+## User Request
+
+```graphql
query Requires {
reviews {
body
@@ -16,10 +19,78 @@ query Requires {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "reviews": [
+ {
+ "body": "Love it!",
+ "author": {
+ "name": "@ada",
+ "birthdate": "1815-12-10"
+ },
+ "product": {
+ "name": "Table",
+ "deliveryEstimate": {
+ "min": 400,
+ "max": 800
+ }
+ }
+ },
+ {
+ "body": "Too expensive.",
+ "author": {
+ "name": "@alan",
+ "birthdate": "1912-06-23"
+ },
+ "product": {
+ "name": "Couch",
+ "deliveryEstimate": {
+ "min": 2650,
+ "max": 5300
+ }
+ }
+ },
+ {
+ "body": "Could be better.",
+ "author": {
+ "name": "@ada",
+ "birthdate": "1815-12-10"
+ },
+ "product": {
+ "name": "Chair",
+ "deliveryEstimate": {
+ "min": 45,
+ "max": 90
+ }
+ }
+ },
+ {
+ "body": "Prefer something else.",
+ "author": {
+ "name": "@alan",
+ "birthdate": "1912-06-23"
+ },
+ "product": {
+ "name": "Table",
+ "deliveryEstimate": {
+ "min": 400,
+ "max": 800
+ }
+ }
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query Requires { reviews { body author { name birthdate } product { name deliveryEstimate(zip: \u002212345\u0022) { min max } } } }",
"operation": "Requires",
@@ -128,81 +199,17 @@ QueryPlan
"__fusion_exports__4": "Product_id"
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
1B718F11ED7C5BDB1D2FFEEA7E9F43541950F756
----------------
+```
-Result
----------------
-{
- "data": {
- "reviews": [
- {
- "body": "Love it!",
- "author": {
- "name": "@ada",
- "birthdate": "1815-12-10"
- },
- "product": {
- "name": "Table",
- "deliveryEstimate": {
- "min": 400,
- "max": 800
- }
- }
- },
- {
- "body": "Too expensive.",
- "author": {
- "name": "@alan",
- "birthdate": "1912-06-23"
- },
- "product": {
- "name": "Couch",
- "deliveryEstimate": {
- "min": 2650,
- "max": 5300
- }
- }
- },
- {
- "body": "Could be better.",
- "author": {
- "name": "@ada",
- "birthdate": "1815-12-10"
- },
- "product": {
- "name": "Chair",
- "deliveryEstimate": {
- "min": 45,
- "max": 90
- }
- }
- },
- {
- "body": "Prefer something else.",
- "author": {
- "name": "@alan",
- "birthdate": "1912-06-23"
- },
- "product": {
- "name": "Table",
- "deliveryEstimate": {
- "min": 400,
- "max": 800
- }
- }
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -222,6 +229,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -362,6 +371,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -396,6 +407,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -458,4 +471,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_2.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_2.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_2.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_2.md
index 0686f5ea0d6..ccb1f91cc4f 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_2.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_2.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Require_Data_In_Context_2
+
+## User Request
+
+```graphql
query Requires {
reviews {
body
@@ -15,10 +18,74 @@ query Requires {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "reviews": [
+ {
+ "body": "Love it!",
+ "author": {
+ "name": "@ada",
+ "birthdate": "1815-12-10"
+ },
+ "product": {
+ "deliveryEstimate": {
+ "min": 400,
+ "max": 800
+ }
+ }
+ },
+ {
+ "body": "Too expensive.",
+ "author": {
+ "name": "@alan",
+ "birthdate": "1912-06-23"
+ },
+ "product": {
+ "deliveryEstimate": {
+ "min": 2650,
+ "max": 5300
+ }
+ }
+ },
+ {
+ "body": "Could be better.",
+ "author": {
+ "name": "@ada",
+ "birthdate": "1815-12-10"
+ },
+ "product": {
+ "deliveryEstimate": {
+ "min": 45,
+ "max": 90
+ }
+ }
+ },
+ {
+ "body": "Prefer something else.",
+ "author": {
+ "name": "@alan",
+ "birthdate": "1912-06-23"
+ },
+ "product": {
+ "deliveryEstimate": {
+ "min": 400,
+ "max": 800
+ }
+ }
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query Requires { reviews { body author { name birthdate } product { deliveryEstimate(zip: \u002212345\u0022) { min max } } } }",
"operation": "Requires",
@@ -127,77 +194,17 @@ QueryPlan
"__fusion_exports__4": "Product_id"
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
156A66BF984BDE259CFD46F7024F2A1FFFC7A673
----------------
+```
-Result
----------------
-{
- "data": {
- "reviews": [
- {
- "body": "Love it!",
- "author": {
- "name": "@ada",
- "birthdate": "1815-12-10"
- },
- "product": {
- "deliveryEstimate": {
- "min": 400,
- "max": 800
- }
- }
- },
- {
- "body": "Too expensive.",
- "author": {
- "name": "@alan",
- "birthdate": "1912-06-23"
- },
- "product": {
- "deliveryEstimate": {
- "min": 2650,
- "max": 5300
- }
- }
- },
- {
- "body": "Could be better.",
- "author": {
- "name": "@ada",
- "birthdate": "1815-12-10"
- },
- "product": {
- "deliveryEstimate": {
- "min": 45,
- "max": 90
- }
- }
- },
- {
- "body": "Prefer something else.",
- "author": {
- "name": "@alan",
- "birthdate": "1912-06-23"
- },
- "product": {
- "deliveryEstimate": {
- "min": 400,
- "max": 800
- }
- }
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -217,6 +224,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -357,6 +366,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -391,6 +402,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -453,4 +466,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_3.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_3.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_3.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_3.md
index 8d9094002e0..716e298e2ad 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_3.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.Require_Data_In_Context_3.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Require_Data_In_Context_3
+
+## User Request
+
+```graphql
query Large {
users {
id
@@ -21,10 +24,92 @@ query Large {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "users": [
+ {
+ "id": "VXNlcgppMQ==",
+ "name": "Ada Lovelace",
+ "birthdate": "1815-12-10",
+ "reviews": [
+ {
+ "body": "Love it!",
+ "author": {
+ "name": "@ada",
+ "birthdate": "1815-12-10"
+ },
+ "product": {
+ "id": "UHJvZHVjdAppMQ==",
+ "name": "Table",
+ "deliveryEstimate": {
+ "max": 800
+ }
+ }
+ },
+ {
+ "body": "Could be better.",
+ "author": {
+ "name": "@ada",
+ "birthdate": "1815-12-10"
+ },
+ "product": {
+ "id": "UHJvZHVjdAppMw==",
+ "name": "Chair",
+ "deliveryEstimate": {
+ "max": 90
+ }
+ }
+ }
+ ]
+ },
+ {
+ "id": "VXNlcgppMg==",
+ "name": "Alan Turing",
+ "birthdate": "1912-06-23",
+ "reviews": [
+ {
+ "body": "Too expensive.",
+ "author": {
+ "name": "@alan",
+ "birthdate": "1912-06-23"
+ },
+ "product": {
+ "id": "UHJvZHVjdAppMg==",
+ "name": "Couch",
+ "deliveryEstimate": {
+ "max": 5300
+ }
+ }
+ },
+ {
+ "body": "Prefer something else.",
+ "author": {
+ "name": "@alan",
+ "birthdate": "1912-06-23"
+ },
+ "product": {
+ "id": "UHJvZHVjdAppMQ==",
+ "name": "Table",
+ "deliveryEstimate": {
+ "max": 800
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query Large { users { id name birthdate reviews { body author { name birthdate } product { id name deliveryEstimate(zip: \u0022abc\u0022) { max } } } } }",
"operation": "Large",
@@ -163,95 +248,17 @@ QueryPlan
"__fusion_exports__6": "Product_id"
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
101625F3F501285D93CDCE7FAFC995538EC16F8E
----------------
+```
-Result
----------------
-{
- "data": {
- "users": [
- {
- "id": "VXNlcgppMQ==",
- "name": "Ada Lovelace",
- "birthdate": "1815-12-10",
- "reviews": [
- {
- "body": "Love it!",
- "author": {
- "name": "@ada",
- "birthdate": "1815-12-10"
- },
- "product": {
- "id": "UHJvZHVjdAppMQ==",
- "name": "Table",
- "deliveryEstimate": {
- "max": 800
- }
- }
- },
- {
- "body": "Could be better.",
- "author": {
- "name": "@ada",
- "birthdate": "1815-12-10"
- },
- "product": {
- "id": "UHJvZHVjdAppMw==",
- "name": "Chair",
- "deliveryEstimate": {
- "max": 90
- }
- }
- }
- ]
- },
- {
- "id": "VXNlcgppMg==",
- "name": "Alan Turing",
- "birthdate": "1912-06-23",
- "reviews": [
- {
- "body": "Too expensive.",
- "author": {
- "name": "@alan",
- "birthdate": "1912-06-23"
- },
- "product": {
- "id": "UHJvZHVjdAppMg==",
- "name": "Couch",
- "deliveryEstimate": {
- "max": 5300
- }
- }
- },
- {
- "body": "Prefer something else.",
- "author": {
- "name": "@alan",
- "birthdate": "1912-06-23"
- },
- "product": {
- "id": "UHJvZHVjdAppMQ==",
- "name": "Table",
- "deliveryEstimate": {
- "max": 800
- }
- }
- }
- ]
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -271,6 +278,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
"Fetches an object given its ID."
node("ID of the object." id: ID!): Node
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@@ -411,6 +420,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -445,6 +456,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -507,4 +520,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.TypeName_Field_On_QueryRoot.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.TypeName_Field_On_QueryRoot.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.TypeName_Field_On_QueryRoot.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.TypeName_Field_On_QueryRoot.md
index 578ddfeb9c1..2ca2838d26d 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.TypeName_Field_On_QueryRoot.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/DemoIntegrationTests.TypeName_Field_On_QueryRoot.md
@@ -1,12 +1,26 @@
-User Request
----------------
+# TypeName_Field_On_QueryRoot
+
+## User Request
+
+```graphql
query Introspect {
__typename
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "__typename": "Query"
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "query Introspect { __typename }",
"operation": "Introspect",
@@ -26,24 +40,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
697698C162C0AB8A3054708CABD070BFABE80B8B
----------------
+```
-Result
----------------
-{
- "data": {
- "__typename": "Query"
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -58,6 +65,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -164,6 +173,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -198,6 +209,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -260,4 +273,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_NonNull.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_NonNull.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_NonNull.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_NonNull.md
index a8b1748c1b2..397f3c57db9 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_NonNull.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_NonNull.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Accounts_Offline_Author_NonNull
+
+## User Request
+
+```graphql
query ReformatIds {
reviews {
body
@@ -8,10 +11,24 @@ query ReformatIds {
}
}
}
----------------
+```
+
+## Result
-QueryPlan
----------------
+```json
+{
+ "errors": [
+ {
+ "message": "Internal Execution Error"
+ }
+ ],
+ "data": null
+}
+```
+
+## QueryPlan
+
+```json
{
"document": "query ReformatIds { reviews { body author! { birthdate } } }",
"operation": "ReformatIds",
@@ -61,27 +78,17 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
+
+## QueryPlan Hash
-QueryPlan Hash
----------------
+```text
DAC82CF381252DBDCD201FE838FA2FE069C60F40
----------------
+```
-Result
----------------
-{
- "errors": [
- {
- "message": "Internal Execution Error"
- }
- ],
- "data": null
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -239,4 +246,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_Nullable.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_Nullable.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_Nullable.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_Nullable.md
index 25cd64e3134..7561bb881b8 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_Nullable.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Author_Nullable.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Accounts_Offline_Author_Nullable
+
+## User Request
+
+```graphql
query ReformatIds {
reviews {
body
@@ -8,10 +11,43 @@ query ReformatIds {
}
}
}
----------------
+```
-QueryPlan
----------------
+## Result
+
+```json
+{
+ "errors": [
+ {
+ "message": "Internal Execution Error"
+ }
+ ],
+ "data": {
+ "reviews": [
+ {
+ "body": "Love it!",
+ "author": null
+ },
+ {
+ "body": "Too expensive.",
+ "author": null
+ },
+ {
+ "body": "Could be better.",
+ "author": null
+ },
+ {
+ "body": "Prefer something else.",
+ "author": null
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan
+
+```json
{
"document": "query ReformatIds { reviews { body author? { birthdate } } }",
"operation": "ReformatIds",
@@ -61,46 +97,17 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
+
+## QueryPlan Hash
-QueryPlan Hash
----------------
+```text
44090BD107B85A967BEBFFCA8844F840215A117F
----------------
+```
-Result
----------------
-{
- "errors": [
- {
- "message": "Internal Execution Error"
- }
- ],
- "data": {
- "reviews": [
- {
- "body": "Love it!",
- "author": null
- },
- {
- "body": "Too expensive.",
- "author": null
- },
- {
- "body": "Could be better.",
- "author": null
- },
- {
- "body": "Prefer something else.",
- "author": null
- }
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -258,4 +265,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Reviews_ListElement_Nullable.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Reviews_ListElement_Nullable.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Reviews_ListElement_Nullable.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Reviews_ListElement_Nullable.md
index cdd071c0f16..89c06ab7995 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Reviews_ListElement_Nullable.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.Accounts_Offline_Reviews_ListElement_Nullable.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Accounts_Offline_Reviews_ListElement_Nullable
+
+## User Request
+
+```graphql
query ReformatIds {
reviews[?]! {
body
@@ -8,10 +11,31 @@ query ReformatIds {
}
}
}
----------------
+```
+
+## Result
-QueryPlan
----------------
+```json
+{
+ "errors": [
+ {
+ "message": "Internal Execution Error"
+ }
+ ],
+ "data": {
+ "reviews": [
+ null,
+ null,
+ null,
+ null
+ ]
+ }
+}
+```
+
+## QueryPlan
+
+```json
{
"document": "query ReformatIds { reviews[?]! { body author { birthdate } } }",
"operation": "ReformatIds",
@@ -61,34 +85,17 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
+
+## QueryPlan Hash
-QueryPlan Hash
----------------
+```text
33778A501536384C3FDCA645FA673B8DD1640192
----------------
+```
-Result
----------------
-{
- "errors": [
- {
- "message": "Internal Execution Error"
- }
- ],
- "data": {
- "reviews": [
- null,
- null,
- null,
- null
- ]
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -246,4 +253,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveSubgraphError.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveSubgraphError.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveSubgraphError.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveSubgraphError.md
index 02feb9b2364..9de1c26ca4c 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveSubgraphError.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveSubgraphError.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# NestedResolveSubgraphError
+
+## User Request
+
+```graphql
{
reviewById(id: "UmV2aWV3Cmkx") {
body
@@ -9,10 +12,49 @@ User Request
}
}
}
----------------
+```
+
+## Result
-QueryPlan
----------------
+```json
+{
+ "errors": [
+ {
+ "message": "SOME USER ERROR",
+ "locations": [
+ {
+ "line": 1,
+ "column": 101
+ }
+ ],
+ "path": [
+ "reviewById",
+ "author",
+ "errorField"
+ ],
+ "extensions": {
+ "remotePath": [
+ "userById",
+ "errorField"
+ ]
+ }
+ }
+ ],
+ "data": {
+ "reviewById": {
+ "body": "Love it!",
+ "author": {
+ "username": "@ada",
+ "errorField": null
+ }
+ }
+ }
+}
+```
+
+## QueryPlan
+
+```json
{
"document": "{ reviewById(id: \u0022UmV2aWV3Cmkx\u0022) { body author { username errorField } } }",
"rootNode": {
@@ -61,52 +103,17 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
+
+## QueryPlan Hash
-QueryPlan Hash
----------------
+```text
B73888B06A83C483A7570669A3B4E13081014CD5
----------------
+```
-Result
----------------
-{
- "errors": [
- {
- "message": "SOME USER ERROR",
- "locations": [
- {
- "line": 1,
- "column": 101
- }
- ],
- "path": [
- "reviewById",
- "author",
- "errorField"
- ],
- "extensions": {
- "remotePath": [
- "userById",
- "errorField"
- ]
- }
- }
- ],
- "data": {
- "reviewById": {
- "body": "Love it!",
- "author": {
- "username": "@ada",
- "errorField": null
- }
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Accounts", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -271,4 +278,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveWithListSubgraphError.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveWithListSubgraphError.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveWithListSubgraphError.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveWithListSubgraphError.md
index cd21cceb567..2c5f5d4010e 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveWithListSubgraphError.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.NestedResolveWithListSubgraphError.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# NestedResolveWithListSubgraphError
+
+## User Request
+
+```graphql
{
userById(id: "VXNlcgppMQ==") {
account1: birthdate
@@ -11,10 +14,59 @@ User Request
}
}
}
----------------
+```
+
+## Result
-QueryPlan
----------------
+```json
+{
+ "errors": [
+ {
+ "message": "SOME REVIEW ERROR",
+ "locations": [
+ {
+ "line": 1,
+ "column": 107
+ }
+ ],
+ "path": [
+ "userById",
+ "reviews",
+ 1,
+ "errorField"
+ ],
+ "extensions": {
+ "remotePath": [
+ "authorById",
+ "reviews",1,
+ "errorField"
+ ]
+ }
+ }
+ ],
+ "data": {
+ "userById": {
+ "account1": "1815-12-10",
+ "account2": "1815-12-10",
+ "username": "@ada",
+ "reviews": [
+ {
+ "body": "Love it!",
+ "errorField": null
+ },
+ {
+ "body": "Could be better.",
+ "errorField": null
+ }
+ ]
+ }
+ }
+}
+```
+
+## QueryPlan
+
+```json
{
"document": "{ userById(id: \u0022VXNlcgppMQ==\u0022) { account1: birthdate account2: birthdate username reviews { body errorField } } }",
"rootNode": {
@@ -63,62 +115,17 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
+
+## QueryPlan Hash
-QueryPlan Hash
----------------
+```text
7D3257F87D5E3FD2EA9D743001D2F7487EF312F7
----------------
+```
-Result
----------------
-{
- "errors": [
- {
- "message": "SOME REVIEW ERROR",
- "locations": [
- {
- "line": 1,
- "column": 107
- }
- ],
- "path": [
- "userById",
- "reviews",
- 1,
- "errorField"
- ],
- "extensions": {
- "remotePath": [
- "authorById",
- "reviews",1,
- "errorField"
- ]
- }
- }
- ],
- "data": {
- "userById": {
- "account1": "1815-12-10",
- "account2": "1815-12-10",
- "username": "@ada",
- "reviews": [
- {
- "body": "Love it!",
- "errorField": null
- },
- {
- "body": "Could be better.",
- "errorField": null
- }
- ]
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Accounts", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -283,4 +290,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.ResolveByKeySubgraphError.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.ResolveByKeySubgraphError.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.ResolveByKeySubgraphError.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.ResolveByKeySubgraphError.md
index fee0fbbcc51..9d126c5e125 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.ResolveByKeySubgraphError.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.ResolveByKeySubgraphError.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# ResolveByKeySubgraphError
+
+## User Request
+
+```graphql
{
reviews {
body
@@ -9,67 +12,11 @@ User Request
}
}
}
----------------
-
-QueryPlan
----------------
-{
- "document": "{ reviews { body author { id errorField } } }",
- "rootNode": {
- "type": "Sequence",
- "nodes": [
- {
- "type": "Resolve",
- "subgraph": "Reviews2",
- "document": "query fetch_reviews_1 { reviews { body author { id __fusion_exports__1: id } } }",
- "selectionSetId": 0,
- "provides": [
- {
- "variable": "__fusion_exports__1"
- }
- ]
- },
- {
- "type": "Compose",
- "selectionSetIds": [
- 0
- ]
- },
- {
- "type": "ResolveByKeyBatch",
- "subgraph": "Accounts",
- "document": "query fetch_reviews_2($__fusion_exports__1: [ID!]!) { usersById(ids: $__fusion_exports__1) { errorField __fusion_exports__1: id } }",
- "selectionSetId": 2,
- "path": [
- "usersById"
- ],
- "requires": [
- {
- "variable": "__fusion_exports__1"
- }
- ]
- },
- {
- "type": "Compose",
- "selectionSetIds": [
- 2
- ]
- }
- ]
- },
- "state": {
- "__fusion_exports__1": "User_id"
- }
-}
----------------
+```
-QueryPlan Hash
----------------
-CF3D9A7EDFFF39BD900F00B515F641838206630E
----------------
+## Result
-Result
----------------
+```json
{
"errors": [
{
@@ -148,10 +95,70 @@ Result
]
}
}
----------------
+```
+
+## QueryPlan
-Fusion Graph
----------------
+```json
+{
+ "document": "{ reviews { body author { id errorField } } }",
+ "rootNode": {
+ "type": "Sequence",
+ "nodes": [
+ {
+ "type": "Resolve",
+ "subgraph": "Reviews2",
+ "document": "query fetch_reviews_1 { reviews { body author { id __fusion_exports__1: id } } }",
+ "selectionSetId": 0,
+ "provides": [
+ {
+ "variable": "__fusion_exports__1"
+ }
+ ]
+ },
+ {
+ "type": "Compose",
+ "selectionSetIds": [
+ 0
+ ]
+ },
+ {
+ "type": "ResolveByKeyBatch",
+ "subgraph": "Accounts",
+ "document": "query fetch_reviews_2($__fusion_exports__1: [ID!]!) { usersById(ids: $__fusion_exports__1) { errorField __fusion_exports__1: id } }",
+ "selectionSetId": 2,
+ "path": [
+ "usersById"
+ ],
+ "requires": [
+ {
+ "variable": "__fusion_exports__1"
+ }
+ ]
+ },
+ {
+ "type": "Compose",
+ "selectionSetIds": [
+ 2
+ ]
+ }
+ ]
+ },
+ "state": {
+ "__fusion_exports__1": "User_id"
+ }
+}
+```
+
+## QueryPlan Hash
+
+```text
+CF3D9A7EDFFF39BD900F00B515F641838206630E
+```
+
+## Fusion Graph
+
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Accounts", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -316,4 +323,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.TopLevelResolveSubgraphError.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.TopLevelResolveSubgraphError.md
similarity index 94%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.TopLevelResolveSubgraphError.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.TopLevelResolveSubgraphError.md
index 545d8aa611b..a8cef835863 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.TopLevelResolveSubgraphError.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/ErrorTests.TopLevelResolveSubgraphError.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# TopLevelResolveSubgraphError
+
+## User Request
+
+```graphql
{
viewer {
data {
@@ -8,39 +11,11 @@ User Request
}
errorField
}
----------------
-
-QueryPlan
----------------
-{
- "document": "{ viewer { data { accountValue } } errorField }",
- "rootNode": {
- "type": "Sequence",
- "nodes": [
- {
- "type": "Resolve",
- "subgraph": "Accounts",
- "document": "query fetch_viewer_errorField_1 { viewer { data { accountValue } } errorField }",
- "selectionSetId": 0
- },
- {
- "type": "Compose",
- "selectionSetIds": [
- 0
- ]
- }
- ]
- }
-}
----------------
+```
-QueryPlan Hash
----------------
-9578FF2608B68C6D9AE96CD13B57F603C4554FFF
----------------
+## Result
-Result
----------------
+```json
{
"errors": [
{
@@ -70,10 +45,42 @@ Result
"errorField": null
}
}
----------------
+```
+
+## QueryPlan
-Fusion Graph
----------------
+```json
+{
+ "document": "{ viewer { data { accountValue } } errorField }",
+ "rootNode": {
+ "type": "Sequence",
+ "nodes": [
+ {
+ "type": "Resolve",
+ "subgraph": "Accounts",
+ "document": "query fetch_viewer_errorField_1 { viewer { data { accountValue } } errorField }",
+ "selectionSetId": 0
+ },
+ {
+ "type": "Compose",
+ "selectionSetIds": [
+ 0
+ ]
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan Hash
+
+```text
+9578FF2608B68C6D9AE96CD13B57F603C4554FFF
+```
+
+## Fusion Graph
+
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Accounts", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -158,4 +165,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/EventStreamTests.Authors_And_Reviews_Subscription_OnNewReview.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/EventStreamTests.Authors_And_Reviews_Subscription_OnNewReview.md
similarity index 93%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/EventStreamTests.Authors_And_Reviews_Subscription_OnNewReview.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/EventStreamTests.Authors_And_Reviews_Subscription_OnNewReview.md
index e1f60d40a9f..e6260dc5064 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/EventStreamTests.Authors_And_Reviews_Subscription_OnNewReview.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/EventStreamTests.Authors_And_Reviews_Subscription_OnNewReview.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Authors_And_Reviews_Subscription_OnNewReview
+
+## User Request
+
+```graphql
subscription OnNewReview {
onNewReview {
body
@@ -8,10 +11,11 @@ subscription OnNewReview {
}
}
}
----------------
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "subscription OnNewReview { onNewReview { body author { name } } }",
"operation": "OnNewReview",
@@ -35,15 +39,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
F823835BFACD5B49C03063C112F1293EAB40DE1E
----------------
+```
+
+## Result 1
-Result 1
----------------
+```json
{
"data": {
"onNewReview": {
@@ -54,10 +60,11 @@ Result 1
}
}
}
----------------
+```
+
+## Result 2
-Result 2
----------------
+```json
{
"data": {
"onNewReview": {
@@ -68,10 +75,11 @@ Result 2
}
}
}
----------------
+```
-Result 3
----------------
+## Result 3
+
+```json
{
"data": {
"onNewReview": {
@@ -82,10 +90,11 @@ Result 3
}
}
}
----------------
+```
+
+## Result 4
-Result 4
----------------
+```json
{
"data": {
"onNewReview": {
@@ -96,10 +105,11 @@ Result 4
}
}
}
----------------
+```
+
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -110,6 +120,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -176,6 +188,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -199,6 +213,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -242,4 +258,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.AutoCompose.graphql b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.AutoCompose.graphql
index 4e25eae3102..e2266d949c2 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.AutoCompose.graphql
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.AutoCompose.graphql
@@ -10,6 +10,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -134,6 +136,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -168,6 +172,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile.md
index ddd692dff88..198f94472b7 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile.md
@@ -1,14 +1,30 @@
-User Request
----------------
+# UploadFile
+
+## User Request
+
+```graphql
mutation Upload($file: Upload!) {
uploadProductPicture(input: { productId: 1, file: $file }) {
boolean
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "uploadProductPicture": {
+ "boolean": true
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "mutation Upload($file: Upload!) { uploadProductPicture(input: { productId: 1, file: $file }) { boolean } }",
"operation": "Upload",
@@ -35,26 +51,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
C3298260FD8612E0FE8DB108E15FB4122CBBF47C
----------------
+```
-Result
----------------
-{
- "data": {
- "uploadProductPicture": {
- "boolean": true
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -67,6 +74,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -191,6 +200,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -225,6 +236,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -287,4 +300,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile_2.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile_2.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile_2.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile_2.md
index 8635a326d99..e333289f75e 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile_2.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/FileUploadTests.UploadFile_2.md
@@ -1,14 +1,30 @@
-User Request
----------------
+# UploadFile_2
+
+## User Request
+
+```graphql
mutation Upload($input: UploadProductPictureInput!) {
uploadProductPicture(input: $input) {
boolean
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "uploadProductPicture": {
+ "boolean": true
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "mutation Upload($input: UploadProductPictureInput!) { uploadProductPicture(input: $input) { boolean } }",
"operation": "Upload",
@@ -35,26 +51,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
D968748DEC5B900198E5ABEBE187BCF83431A5AC
----------------
+```
-Result
----------------
-{
- "data": {
- "uploadProductPicture": {
- "boolean": true
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -67,6 +74,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -191,6 +200,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -225,6 +236,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -287,4 +300,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List.md
index 6590a937ced..1e582f75490 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Query_Interface_List
+
+## User Request
+
+```graphql
query Appointments {
appointments {
nodes {
@@ -9,10 +12,34 @@ query Appointments {
}
}
}
----------------
+```
+
+## Result
-QueryPlan
----------------
+```json
+{
+ "data": {
+ "appointments": {
+ "nodes": [
+ {
+ "patient": {
+ "id": "UGF0aWVudDEKaTE="
+ }
+ },
+ {
+ "patient": {
+ "id": "UGF0aWVudDIKaTI="
+ }
+ }
+ ]
+ }
+ }
+}
+```
+
+## QueryPlan
+
+```json
{
"document": "query Appointments { appointments { nodes { patient { id } } } }",
"operation": "Appointments",
@@ -34,37 +61,17 @@ QueryPlan
]
}
}
----------------
+```
+
+## QueryPlan Hash
-QueryPlan Hash
----------------
+```text
7FA915AFBA06ABAAF57A31CE4888B161285111C3
----------------
+```
-Result
----------------
-{
- "data": {
- "appointments": {
- "nodes": [
- {
- "patient": {
- "id": "UGF0aWVudDEKaTE="
- }
- },
- {
- "patient": {
- "id": "UGF0aWVudDIKaTI="
- }
- }
- ]
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Appointment", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -172,4 +179,5 @@ interface IPatient {
interface Node {
id: ID!
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment_Fetch.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment_Fetch.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment.md
index c409edebe1d..7266699d01b 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment_Fetch.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Query_Interface_List_With_Fragment
+
+## User Request
+
+```graphql
query Appointments {
appointments {
nodes {
@@ -12,10 +15,35 @@ query Appointments {
}
}
}
----------------
+```
+
+## Result
-QueryPlan
----------------
+```json
+{
+ "data": {
+ "appointments": {
+ "nodes": [
+ {
+ "patient": {
+ "id": "UGF0aWVudDEKaTE=",
+ "name": "Karl Kokoloko"
+ }
+ },
+ {
+ "patient": {
+ "id": "UGF0aWVudDIKaTI="
+ }
+ }
+ ]
+ }
+ }
+}
+```
+
+## QueryPlan
+
+```json
{
"document": "query Appointments { appointments { nodes { patient { id ... on Patient1 { name } } } } }",
"operation": "Appointments",
@@ -65,38 +93,17 @@ QueryPlan
"__fusion_exports__1": "Patient1_id"
}
}
----------------
+```
+
+## QueryPlan Hash
-QueryPlan Hash
----------------
+```text
347001780000BC39AA06AB363EB4F49993793518
----------------
+```
-Result
----------------
-{
- "data": {
- "appointments": {
- "nodes": [
- {
- "patient": {
- "id": "UGF0aWVudDEKaTE=",
- "name": "Karl Kokoloko"
- }
- },
- {
- "patient": {
- "id": "UGF0aWVudDIKaTI="
- }
- }
- ]
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Appointment", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -220,4 +227,5 @@ interface IPatient {
interface Node {
id: ID!
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment_Fetch.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment_Fetch.md
index c409edebe1d..0687ab405f4 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/InterfaceTests.Query_Interface_List_With_Fragment_Fetch.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Query_Interface_List_With_Fragment_Fetch
+
+## User Request
+
+```graphql
query Appointments {
appointments {
nodes {
@@ -12,10 +15,35 @@ query Appointments {
}
}
}
----------------
+```
+
+## Result
-QueryPlan
----------------
+```json
+{
+ "data": {
+ "appointments": {
+ "nodes": [
+ {
+ "patient": {
+ "id": "UGF0aWVudDEKaTE=",
+ "name": "Karl Kokoloko"
+ }
+ },
+ {
+ "patient": {
+ "id": "UGF0aWVudDIKaTI="
+ }
+ }
+ ]
+ }
+ }
+}
+```
+
+## QueryPlan
+
+```json
{
"document": "query Appointments { appointments { nodes { patient { id ... on Patient1 { name } } } } }",
"operation": "Appointments",
@@ -65,38 +93,17 @@ QueryPlan
"__fusion_exports__1": "Patient1_id"
}
}
----------------
+```
+
+## QueryPlan Hash
-QueryPlan Hash
----------------
+```text
347001780000BC39AA06AB363EB4F49993793518
----------------
+```
-Result
----------------
-{
- "data": {
- "appointments": {
- "nodes": [
- {
- "patient": {
- "id": "UGF0aWVudDEKaTE=",
- "name": "Karl Kokoloko"
- }
- },
- {
- "patient": {
- "id": "UGF0aWVudDIKaTI="
- }
- }
- ]
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Appointment", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -220,4 +227,5 @@ interface IPatient {
interface Node {
id: ID!
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/IntrospectionTests.ShortCircuit_RootTypeName_Requests.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/IntrospectionTests.ShortCircuit_RootTypeName_Requests.md
similarity index 99%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/IntrospectionTests.ShortCircuit_RootTypeName_Requests.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/IntrospectionTests.ShortCircuit_RootTypeName_Requests.md
index e91eaabbe8f..fcb97a2067f 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/IntrospectionTests.ShortCircuit_RootTypeName_Requests.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/IntrospectionTests.ShortCircuit_RootTypeName_Requests.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# ShortCircuit_RootTypeName_Requests
+
+## User Request
+
+```graphql
query queryalias {
alias0: __typename
alias1: __typename
@@ -2050,38 +2053,11 @@ query queryalias {
alias2046: __typename
alias2047: __typename
}
----------------
-
-QueryPlan
----------------
-{
- "document": "query queryalias { alias0: __typename alias1: __typename alias2: __typename alias3: __typename alias4: __typename alias5: __typename alias6: __typename alias7: __typename alias8: __typename alias9: __typename alias10: __typename alias11: __typename alias12: __typename alias13: __typename alias14: __typename alias15: __typename alias16: __typename alias17: __typename alias18: __typename alias19: __typename alias20: __typename alias21: __typename alias22: __typename alias23: __typename alias24: __typename alias25: __typename alias26: __typename alias27: __typename alias28: __typename alias29: __typename alias30: __typename alias31: __typename alias32: __typename alias33: __typename alias34: __typename alias35: __typename alias36: __typename alias37: __typename alias38: __typename alias39: __typename alias40: __typename alias41: __typename alias42: __typename alias43: __typename alias44: __typename alias45: __typename alias46: __typename alias47: __typename alias48: __typename alias49: __typename alias50: __typename alias51: __typename alias52: __typename alias53: __typename alias54: __typename alias55: __typename alias56: __typename alias57: __typename alias58: __typename alias59: __typename alias60: __typename alias61: __typename alias62: __typename alias63: __typename alias64: __typename alias65: __typename alias66: __typename alias67: __typename alias68: __typename alias69: __typename alias70: __typename alias71: __typename alias72: __typename alias73: __typename alias74: __typename alias75: __typename alias76: __typename alias77: __typename alias78: __typename alias79: __typename alias80: __typename alias81: __typename alias82: __typename alias83: __typename alias84: __typename alias85: __typename alias86: __typename alias87: __typename alias88: __typename alias89: __typename alias90: __typename alias91: __typename alias92: __typename alias93: __typename alias94: __typename alias95: __typename alias96: __typename alias97: __typename alias98: __typename alias99: __typename alias100: __typename alias101: __typename alias102: __typename alias103: __typename alias104: __typename alias105: __typename alias106: __typename alias107: __typename alias108: __typename alias109: __typename alias110: __typename alias111: __typename alias112: __typename alias113: __typename alias114: __typename alias115: __typename alias116: __typename alias117: __typename alias118: __typename alias119: __typename alias120: __typename alias121: __typename alias122: __typename alias123: __typename alias124: __typename alias125: __typename alias126: __typename alias127: __typename alias128: __typename alias129: __typename alias130: __typename alias131: __typename alias132: __typename alias133: __typename alias134: __typename alias135: __typename alias136: __typename alias137: __typename alias138: __typename alias139: __typename alias140: __typename alias141: __typename alias142: __typename alias143: __typename alias144: __typename alias145: __typename alias146: __typename alias147: __typename alias148: __typename alias149: __typename alias150: __typename alias151: __typename alias152: __typename alias153: __typename alias154: __typename alias155: __typename alias156: __typename alias157: __typename alias158: __typename alias159: __typename alias160: __typename alias161: __typename alias162: __typename alias163: __typename alias164: __typename alias165: __typename alias166: __typename alias167: __typename alias168: __typename alias169: __typename alias170: __typename alias171: __typename alias172: __typename alias173: __typename alias174: __typename alias175: __typename alias176: __typename alias177: __typename alias178: __typename alias179: __typename alias180: __typename alias181: __typename alias182: __typename alias183: __typename alias184: __typename alias185: __typename alias186: __typename alias187: __typename alias188: __typename alias189: __typename alias190: __typename alias191: __typename alias192: __typename alias193: __typename alias194: __typename alias195: __typename alias196: __typename alias197: __typename alias198: __typename alias199: __typename alias200: __typename alias201: __typename alias202: __typename alias203: __typename alias204: __typename alias205: __typename alias206: __typename alias207: __typename alias208: __typename alias209: __typename alias210: __typename alias211: __typename alias212: __typename alias213: __typename alias214: __typename alias215: __typename alias216: __typename alias217: __typename alias218: __typename alias219: __typename alias220: __typename alias221: __typename alias222: __typename alias223: __typename alias224: __typename alias225: __typename alias226: __typename alias227: __typename alias228: __typename alias229: __typename alias230: __typename alias231: __typename alias232: __typename alias233: __typename alias234: __typename alias235: __typename alias236: __typename alias237: __typename alias238: __typename alias239: __typename alias240: __typename alias241: __typename alias242: __typename alias243: __typename alias244: __typename alias245: __typename alias246: __typename alias247: __typename alias248: __typename alias249: __typename alias250: __typename alias251: __typename alias252: __typename alias253: __typename alias254: __typename alias255: __typename alias256: __typename alias257: __typename alias258: __typename alias259: __typename alias260: __typename alias261: __typename alias262: __typename alias263: __typename alias264: __typename alias265: __typename alias266: __typename alias267: __typename alias268: __typename alias269: __typename alias270: __typename alias271: __typename alias272: __typename alias273: __typename alias274: __typename alias275: __typename alias276: __typename alias277: __typename alias278: __typename alias279: __typename alias280: __typename alias281: __typename alias282: __typename alias283: __typename alias284: __typename alias285: __typename alias286: __typename alias287: __typename alias288: __typename alias289: __typename alias290: __typename alias291: __typename alias292: __typename alias293: __typename alias294: __typename alias295: __typename alias296: __typename alias297: __typename alias298: __typename alias299: __typename alias300: __typename alias301: __typename alias302: __typename alias303: __typename alias304: __typename alias305: __typename alias306: __typename alias307: __typename alias308: __typename alias309: __typename alias310: __typename alias311: __typename alias312: __typename alias313: __typename alias314: __typename alias315: __typename alias316: __typename alias317: __typename alias318: __typename alias319: __typename alias320: __typename alias321: __typename alias322: __typename alias323: __typename alias324: __typename alias325: __typename alias326: __typename alias327: __typename alias328: __typename alias329: __typename alias330: __typename alias331: __typename alias332: __typename alias333: __typename alias334: __typename alias335: __typename alias336: __typename alias337: __typename alias338: __typename alias339: __typename alias340: __typename alias341: __typename alias342: __typename alias343: __typename alias344: __typename alias345: __typename alias346: __typename alias347: __typename alias348: __typename alias349: __typename alias350: __typename alias351: __typename alias352: __typename alias353: __typename alias354: __typename alias355: __typename alias356: __typename alias357: __typename alias358: __typename alias359: __typename alias360: __typename alias361: __typename alias362: __typename alias363: __typename alias364: __typename alias365: __typename alias366: __typename alias367: __typename alias368: __typename alias369: __typename alias370: __typename alias371: __typename alias372: __typename alias373: __typename alias374: __typename alias375: __typename alias376: __typename alias377: __typename alias378: __typename alias379: __typename alias380: __typename alias381: __typename alias382: __typename alias383: __typename alias384: __typename alias385: __typename alias386: __typename alias387: __typename alias388: __typename alias389: __typename alias390: __typename alias391: __typename alias392: __typename alias393: __typename alias394: __typename alias395: __typename alias396: __typename alias397: __typename alias398: __typename alias399: __typename alias400: __typename alias401: __typename alias402: __typename alias403: __typename alias404: __typename alias405: __typename alias406: __typename alias407: __typename alias408: __typename alias409: __typename alias410: __typename alias411: __typename alias412: __typename alias413: __typename alias414: __typename alias415: __typename alias416: __typename alias417: __typename alias418: __typename alias419: __typename alias420: __typename alias421: __typename alias422: __typename alias423: __typename alias424: __typename alias425: __typename alias426: __typename alias427: __typename alias428: __typename alias429: __typename alias430: __typename alias431: __typename alias432: __typename alias433: __typename alias434: __typename alias435: __typename alias436: __typename alias437: __typename alias438: __typename alias439: __typename alias440: __typename alias441: __typename alias442: __typename alias443: __typename alias444: __typename alias445: __typename alias446: __typename alias447: __typename alias448: __typename alias449: __typename alias450: __typename alias451: __typename alias452: __typename alias453: __typename alias454: __typename alias455: __typename alias456: __typename alias457: __typename alias458: __typename alias459: __typename alias460: __typename alias461: __typename alias462: __typename alias463: __typename alias464: __typename alias465: __typename alias466: __typename alias467: __typename alias468: __typename alias469: __typename alias470: __typename alias471: __typename alias472: __typename alias473: __typename alias474: __typename alias475: __typename alias476: __typename alias477: __typename alias478: __typename alias479: __typename alias480: __typename alias481: __typename alias482: __typename alias483: __typename alias484: __typename alias485: __typename alias486: __typename alias487: __typename alias488: __typename alias489: __typename alias490: __typename alias491: __typename alias492: __typename alias493: __typename alias494: __typename alias495: __typename alias496: __typename alias497: __typename alias498: __typename alias499: __typename alias500: __typename alias501: __typename alias502: __typename alias503: __typename alias504: __typename alias505: __typename alias506: __typename alias507: __typename alias508: __typename alias509: __typename alias510: __typename alias511: __typename alias512: __typename alias513: __typename alias514: __typename alias515: __typename alias516: __typename alias517: __typename alias518: __typename alias519: __typename alias520: __typename alias521: __typename alias522: __typename alias523: __typename alias524: __typename alias525: __typename alias526: __typename alias527: __typename alias528: __typename alias529: __typename alias530: __typename alias531: __typename alias532: __typename alias533: __typename alias534: __typename alias535: __typename alias536: __typename alias537: __typename alias538: __typename alias539: __typename alias540: __typename alias541: __typename alias542: __typename alias543: __typename alias544: __typename alias545: __typename alias546: __typename alias547: __typename alias548: __typename alias549: __typename alias550: __typename alias551: __typename alias552: __typename alias553: __typename alias554: __typename alias555: __typename alias556: __typename alias557: __typename alias558: __typename alias559: __typename alias560: __typename alias561: __typename alias562: __typename alias563: __typename alias564: __typename alias565: __typename alias566: __typename alias567: __typename alias568: __typename alias569: __typename alias570: __typename alias571: __typename alias572: __typename alias573: __typename alias574: __typename alias575: __typename alias576: __typename alias577: __typename alias578: __typename alias579: __typename alias580: __typename alias581: __typename alias582: __typename alias583: __typename alias584: __typename alias585: __typename alias586: __typename alias587: __typename alias588: __typename alias589: __typename alias590: __typename alias591: __typename alias592: __typename alias593: __typename alias594: __typename alias595: __typename alias596: __typename alias597: __typename alias598: __typename alias599: __typename alias600: __typename alias601: __typename alias602: __typename alias603: __typename alias604: __typename alias605: __typename alias606: __typename alias607: __typename alias608: __typename alias609: __typename alias610: __typename alias611: __typename alias612: __typename alias613: __typename alias614: __typename alias615: __typename alias616: __typename alias617: __typename alias618: __typename alias619: __typename alias620: __typename alias621: __typename alias622: __typename alias623: __typename alias624: __typename alias625: __typename alias626: __typename alias627: __typename alias628: __typename alias629: __typename alias630: __typename alias631: __typename alias632: __typename alias633: __typename alias634: __typename alias635: __typename alias636: __typename alias637: __typename alias638: __typename alias639: __typename alias640: __typename alias641: __typename alias642: __typename alias643: __typename alias644: __typename alias645: __typename alias646: __typename alias647: __typename alias648: __typename alias649: __typename alias650: __typename alias651: __typename alias652: __typename alias653: __typename alias654: __typename alias655: __typename alias656: __typename alias657: __typename alias658: __typename alias659: __typename alias660: __typename alias661: __typename alias662: __typename alias663: __typename alias664: __typename alias665: __typename alias666: __typename alias667: __typename alias668: __typename alias669: __typename alias670: __typename alias671: __typename alias672: __typename alias673: __typename alias674: __typename alias675: __typename alias676: __typename alias677: __typename alias678: __typename alias679: __typename alias680: __typename alias681: __typename alias682: __typename alias683: __typename alias684: __typename alias685: __typename alias686: __typename alias687: __typename alias688: __typename alias689: __typename alias690: __typename alias691: __typename alias692: __typename alias693: __typename alias694: __typename alias695: __typename alias696: __typename alias697: __typename alias698: __typename alias699: __typename alias700: __typename alias701: __typename alias702: __typename alias703: __typename alias704: __typename alias705: __typename alias706: __typename alias707: __typename alias708: __typename alias709: __typename alias710: __typename alias711: __typename alias712: __typename alias713: __typename alias714: __typename alias715: __typename alias716: __typename alias717: __typename alias718: __typename alias719: __typename alias720: __typename alias721: __typename alias722: __typename alias723: __typename alias724: __typename alias725: __typename alias726: __typename alias727: __typename alias728: __typename alias729: __typename alias730: __typename alias731: __typename alias732: __typename alias733: __typename alias734: __typename alias735: __typename alias736: __typename alias737: __typename alias738: __typename alias739: __typename alias740: __typename alias741: __typename alias742: __typename alias743: __typename alias744: __typename alias745: __typename alias746: __typename alias747: __typename alias748: __typename alias749: __typename alias750: __typename alias751: __typename alias752: __typename alias753: __typename alias754: __typename alias755: __typename alias756: __typename alias757: __typename alias758: __typename alias759: __typename alias760: __typename alias761: __typename alias762: __typename alias763: __typename alias764: __typename alias765: __typename alias766: __typename alias767: __typename alias768: __typename alias769: __typename alias770: __typename alias771: __typename alias772: __typename alias773: __typename alias774: __typename alias775: __typename alias776: __typename alias777: __typename alias778: __typename alias779: __typename alias780: __typename alias781: __typename alias782: __typename alias783: __typename alias784: __typename alias785: __typename alias786: __typename alias787: __typename alias788: __typename alias789: __typename alias790: __typename alias791: __typename alias792: __typename alias793: __typename alias794: __typename alias795: __typename alias796: __typename alias797: __typename alias798: __typename alias799: __typename alias800: __typename alias801: __typename alias802: __typename alias803: __typename alias804: __typename alias805: __typename alias806: __typename alias807: __typename alias808: __typename alias809: __typename alias810: __typename alias811: __typename alias812: __typename alias813: __typename alias814: __typename alias815: __typename alias816: __typename alias817: __typename alias818: __typename alias819: __typename alias820: __typename alias821: __typename alias822: __typename alias823: __typename alias824: __typename alias825: __typename alias826: __typename alias827: __typename alias828: __typename alias829: __typename alias830: __typename alias831: __typename alias832: __typename alias833: __typename alias834: __typename alias835: __typename alias836: __typename alias837: __typename alias838: __typename alias839: __typename alias840: __typename alias841: __typename alias842: __typename alias843: __typename alias844: __typename alias845: __typename alias846: __typename alias847: __typename alias848: __typename alias849: __typename alias850: __typename alias851: __typename alias852: __typename alias853: __typename alias854: __typename alias855: __typename alias856: __typename alias857: __typename alias858: __typename alias859: __typename alias860: __typename alias861: __typename alias862: __typename alias863: __typename alias864: __typename alias865: __typename alias866: __typename alias867: __typename alias868: __typename alias869: __typename alias870: __typename alias871: __typename alias872: __typename alias873: __typename alias874: __typename alias875: __typename alias876: __typename alias877: __typename alias878: __typename alias879: __typename alias880: __typename alias881: __typename alias882: __typename alias883: __typename alias884: __typename alias885: __typename alias886: __typename alias887: __typename alias888: __typename alias889: __typename alias890: __typename alias891: __typename alias892: __typename alias893: __typename alias894: __typename alias895: __typename alias896: __typename alias897: __typename alias898: __typename alias899: __typename alias900: __typename alias901: __typename alias902: __typename alias903: __typename alias904: __typename alias905: __typename alias906: __typename alias907: __typename alias908: __typename alias909: __typename alias910: __typename alias911: __typename alias912: __typename alias913: __typename alias914: __typename alias915: __typename alias916: __typename alias917: __typename alias918: __typename alias919: __typename alias920: __typename alias921: __typename alias922: __typename alias923: __typename alias924: __typename alias925: __typename alias926: __typename alias927: __typename alias928: __typename alias929: __typename alias930: __typename alias931: __typename alias932: __typename alias933: __typename alias934: __typename alias935: __typename alias936: __typename alias937: __typename alias938: __typename alias939: __typename alias940: __typename alias941: __typename alias942: __typename alias943: __typename alias944: __typename alias945: __typename alias946: __typename alias947: __typename alias948: __typename alias949: __typename alias950: __typename alias951: __typename alias952: __typename alias953: __typename alias954: __typename alias955: __typename alias956: __typename alias957: __typename alias958: __typename alias959: __typename alias960: __typename alias961: __typename alias962: __typename alias963: __typename alias964: __typename alias965: __typename alias966: __typename alias967: __typename alias968: __typename alias969: __typename alias970: __typename alias971: __typename alias972: __typename alias973: __typename alias974: __typename alias975: __typename alias976: __typename alias977: __typename alias978: __typename alias979: __typename alias980: __typename alias981: __typename alias982: __typename alias983: __typename alias984: __typename alias985: __typename alias986: __typename alias987: __typename alias988: __typename alias989: __typename alias990: __typename alias991: __typename alias992: __typename alias993: __typename alias994: __typename alias995: __typename alias996: __typename alias997: __typename alias998: __typename alias999: __typename alias1000: __typename alias1001: __typename alias1002: __typename alias1003: __typename alias1004: __typename alias1005: __typename alias1006: __typename alias1007: __typename alias1008: __typename alias1009: __typename alias1010: __typename alias1011: __typename alias1012: __typename alias1013: __typename alias1014: __typename alias1015: __typename alias1016: __typename alias1017: __typename alias1018: __typename alias1019: __typename alias1020: __typename alias1021: __typename alias1022: __typename alias1023: __typename alias1024: __typename alias1025: __typename alias1026: __typename alias1027: __typename alias1028: __typename alias1029: __typename alias1030: __typename alias1031: __typename alias1032: __typename alias1033: __typename alias1034: __typename alias1035: __typename alias1036: __typename alias1037: __typename alias1038: __typename alias1039: __typename alias1040: __typename alias1041: __typename alias1042: __typename alias1043: __typename alias1044: __typename alias1045: __typename alias1046: __typename alias1047: __typename alias1048: __typename alias1049: __typename alias1050: __typename alias1051: __typename alias1052: __typename alias1053: __typename alias1054: __typename alias1055: __typename alias1056: __typename alias1057: __typename alias1058: __typename alias1059: __typename alias1060: __typename alias1061: __typename alias1062: __typename alias1063: __typename alias1064: __typename alias1065: __typename alias1066: __typename alias1067: __typename alias1068: __typename alias1069: __typename alias1070: __typename alias1071: __typename alias1072: __typename alias1073: __typename alias1074: __typename alias1075: __typename alias1076: __typename alias1077: __typename alias1078: __typename alias1079: __typename alias1080: __typename alias1081: __typename alias1082: __typename alias1083: __typename alias1084: __typename alias1085: __typename alias1086: __typename alias1087: __typename alias1088: __typename alias1089: __typename alias1090: __typename alias1091: __typename alias1092: __typename alias1093: __typename alias1094: __typename alias1095: __typename alias1096: __typename alias1097: __typename alias1098: __typename alias1099: __typename alias1100: __typename alias1101: __typename alias1102: __typename alias1103: __typename alias1104: __typename alias1105: __typename alias1106: __typename alias1107: __typename alias1108: __typename alias1109: __typename alias1110: __typename alias1111: __typename alias1112: __typename alias1113: __typename alias1114: __typename alias1115: __typename alias1116: __typename alias1117: __typename alias1118: __typename alias1119: __typename alias1120: __typename alias1121: __typename alias1122: __typename alias1123: __typename alias1124: __typename alias1125: __typename alias1126: __typename alias1127: __typename alias1128: __typename alias1129: __typename alias1130: __typename alias1131: __typename alias1132: __typename alias1133: __typename alias1134: __typename alias1135: __typename alias1136: __typename alias1137: __typename alias1138: __typename alias1139: __typename alias1140: __typename alias1141: __typename alias1142: __typename alias1143: __typename alias1144: __typename alias1145: __typename alias1146: __typename alias1147: __typename alias1148: __typename alias1149: __typename alias1150: __typename alias1151: __typename alias1152: __typename alias1153: __typename alias1154: __typename alias1155: __typename alias1156: __typename alias1157: __typename alias1158: __typename alias1159: __typename alias1160: __typename alias1161: __typename alias1162: __typename alias1163: __typename alias1164: __typename alias1165: __typename alias1166: __typename alias1167: __typename alias1168: __typename alias1169: __typename alias1170: __typename alias1171: __typename alias1172: __typename alias1173: __typename alias1174: __typename alias1175: __typename alias1176: __typename alias1177: __typename alias1178: __typename alias1179: __typename alias1180: __typename alias1181: __typename alias1182: __typename alias1183: __typename alias1184: __typename alias1185: __typename alias1186: __typename alias1187: __typename alias1188: __typename alias1189: __typename alias1190: __typename alias1191: __typename alias1192: __typename alias1193: __typename alias1194: __typename alias1195: __typename alias1196: __typename alias1197: __typename alias1198: __typename alias1199: __typename alias1200: __typename alias1201: __typename alias1202: __typename alias1203: __typename alias1204: __typename alias1205: __typename alias1206: __typename alias1207: __typename alias1208: __typename alias1209: __typename alias1210: __typename alias1211: __typename alias1212: __typename alias1213: __typename alias1214: __typename alias1215: __typename alias1216: __typename alias1217: __typename alias1218: __typename alias1219: __typename alias1220: __typename alias1221: __typename alias1222: __typename alias1223: __typename alias1224: __typename alias1225: __typename alias1226: __typename alias1227: __typename alias1228: __typename alias1229: __typename alias1230: __typename alias1231: __typename alias1232: __typename alias1233: __typename alias1234: __typename alias1235: __typename alias1236: __typename alias1237: __typename alias1238: __typename alias1239: __typename alias1240: __typename alias1241: __typename alias1242: __typename alias1243: __typename alias1244: __typename alias1245: __typename alias1246: __typename alias1247: __typename alias1248: __typename alias1249: __typename alias1250: __typename alias1251: __typename alias1252: __typename alias1253: __typename alias1254: __typename alias1255: __typename alias1256: __typename alias1257: __typename alias1258: __typename alias1259: __typename alias1260: __typename alias1261: __typename alias1262: __typename alias1263: __typename alias1264: __typename alias1265: __typename alias1266: __typename alias1267: __typename alias1268: __typename alias1269: __typename alias1270: __typename alias1271: __typename alias1272: __typename alias1273: __typename alias1274: __typename alias1275: __typename alias1276: __typename alias1277: __typename alias1278: __typename alias1279: __typename alias1280: __typename alias1281: __typename alias1282: __typename alias1283: __typename alias1284: __typename alias1285: __typename alias1286: __typename alias1287: __typename alias1288: __typename alias1289: __typename alias1290: __typename alias1291: __typename alias1292: __typename alias1293: __typename alias1294: __typename alias1295: __typename alias1296: __typename alias1297: __typename alias1298: __typename alias1299: __typename alias1300: __typename alias1301: __typename alias1302: __typename alias1303: __typename alias1304: __typename alias1305: __typename alias1306: __typename alias1307: __typename alias1308: __typename alias1309: __typename alias1310: __typename alias1311: __typename alias1312: __typename alias1313: __typename alias1314: __typename alias1315: __typename alias1316: __typename alias1317: __typename alias1318: __typename alias1319: __typename alias1320: __typename alias1321: __typename alias1322: __typename alias1323: __typename alias1324: __typename alias1325: __typename alias1326: __typename alias1327: __typename alias1328: __typename alias1329: __typename alias1330: __typename alias1331: __typename alias1332: __typename alias1333: __typename alias1334: __typename alias1335: __typename alias1336: __typename alias1337: __typename alias1338: __typename alias1339: __typename alias1340: __typename alias1341: __typename alias1342: __typename alias1343: __typename alias1344: __typename alias1345: __typename alias1346: __typename alias1347: __typename alias1348: __typename alias1349: __typename alias1350: __typename alias1351: __typename alias1352: __typename alias1353: __typename alias1354: __typename alias1355: __typename alias1356: __typename alias1357: __typename alias1358: __typename alias1359: __typename alias1360: __typename alias1361: __typename alias1362: __typename alias1363: __typename alias1364: __typename alias1365: __typename alias1366: __typename alias1367: __typename alias1368: __typename alias1369: __typename alias1370: __typename alias1371: __typename alias1372: __typename alias1373: __typename alias1374: __typename alias1375: __typename alias1376: __typename alias1377: __typename alias1378: __typename alias1379: __typename alias1380: __typename alias1381: __typename alias1382: __typename alias1383: __typename alias1384: __typename alias1385: __typename alias1386: __typename alias1387: __typename alias1388: __typename alias1389: __typename alias1390: __typename alias1391: __typename alias1392: __typename alias1393: __typename alias1394: __typename alias1395: __typename alias1396: __typename alias1397: __typename alias1398: __typename alias1399: __typename alias1400: __typename alias1401: __typename alias1402: __typename alias1403: __typename alias1404: __typename alias1405: __typename alias1406: __typename alias1407: __typename alias1408: __typename alias1409: __typename alias1410: __typename alias1411: __typename alias1412: __typename alias1413: __typename alias1414: __typename alias1415: __typename alias1416: __typename alias1417: __typename alias1418: __typename alias1419: __typename alias1420: __typename alias1421: __typename alias1422: __typename alias1423: __typename alias1424: __typename alias1425: __typename alias1426: __typename alias1427: __typename alias1428: __typename alias1429: __typename alias1430: __typename alias1431: __typename alias1432: __typename alias1433: __typename alias1434: __typename alias1435: __typename alias1436: __typename alias1437: __typename alias1438: __typename alias1439: __typename alias1440: __typename alias1441: __typename alias1442: __typename alias1443: __typename alias1444: __typename alias1445: __typename alias1446: __typename alias1447: __typename alias1448: __typename alias1449: __typename alias1450: __typename alias1451: __typename alias1452: __typename alias1453: __typename alias1454: __typename alias1455: __typename alias1456: __typename alias1457: __typename alias1458: __typename alias1459: __typename alias1460: __typename alias1461: __typename alias1462: __typename alias1463: __typename alias1464: __typename alias1465: __typename alias1466: __typename alias1467: __typename alias1468: __typename alias1469: __typename alias1470: __typename alias1471: __typename alias1472: __typename alias1473: __typename alias1474: __typename alias1475: __typename alias1476: __typename alias1477: __typename alias1478: __typename alias1479: __typename alias1480: __typename alias1481: __typename alias1482: __typename alias1483: __typename alias1484: __typename alias1485: __typename alias1486: __typename alias1487: __typename alias1488: __typename alias1489: __typename alias1490: __typename alias1491: __typename alias1492: __typename alias1493: __typename alias1494: __typename alias1495: __typename alias1496: __typename alias1497: __typename alias1498: __typename alias1499: __typename alias1500: __typename alias1501: __typename alias1502: __typename alias1503: __typename alias1504: __typename alias1505: __typename alias1506: __typename alias1507: __typename alias1508: __typename alias1509: __typename alias1510: __typename alias1511: __typename alias1512: __typename alias1513: __typename alias1514: __typename alias1515: __typename alias1516: __typename alias1517: __typename alias1518: __typename alias1519: __typename alias1520: __typename alias1521: __typename alias1522: __typename alias1523: __typename alias1524: __typename alias1525: __typename alias1526: __typename alias1527: __typename alias1528: __typename alias1529: __typename alias1530: __typename alias1531: __typename alias1532: __typename alias1533: __typename alias1534: __typename alias1535: __typename alias1536: __typename alias1537: __typename alias1538: __typename alias1539: __typename alias1540: __typename alias1541: __typename alias1542: __typename alias1543: __typename alias1544: __typename alias1545: __typename alias1546: __typename alias1547: __typename alias1548: __typename alias1549: __typename alias1550: __typename alias1551: __typename alias1552: __typename alias1553: __typename alias1554: __typename alias1555: __typename alias1556: __typename alias1557: __typename alias1558: __typename alias1559: __typename alias1560: __typename alias1561: __typename alias1562: __typename alias1563: __typename alias1564: __typename alias1565: __typename alias1566: __typename alias1567: __typename alias1568: __typename alias1569: __typename alias1570: __typename alias1571: __typename alias1572: __typename alias1573: __typename alias1574: __typename alias1575: __typename alias1576: __typename alias1577: __typename alias1578: __typename alias1579: __typename alias1580: __typename alias1581: __typename alias1582: __typename alias1583: __typename alias1584: __typename alias1585: __typename alias1586: __typename alias1587: __typename alias1588: __typename alias1589: __typename alias1590: __typename alias1591: __typename alias1592: __typename alias1593: __typename alias1594: __typename alias1595: __typename alias1596: __typename alias1597: __typename alias1598: __typename alias1599: __typename alias1600: __typename alias1601: __typename alias1602: __typename alias1603: __typename alias1604: __typename alias1605: __typename alias1606: __typename alias1607: __typename alias1608: __typename alias1609: __typename alias1610: __typename alias1611: __typename alias1612: __typename alias1613: __typename alias1614: __typename alias1615: __typename alias1616: __typename alias1617: __typename alias1618: __typename alias1619: __typename alias1620: __typename alias1621: __typename alias1622: __typename alias1623: __typename alias1624: __typename alias1625: __typename alias1626: __typename alias1627: __typename alias1628: __typename alias1629: __typename alias1630: __typename alias1631: __typename alias1632: __typename alias1633: __typename alias1634: __typename alias1635: __typename alias1636: __typename alias1637: __typename alias1638: __typename alias1639: __typename alias1640: __typename alias1641: __typename alias1642: __typename alias1643: __typename alias1644: __typename alias1645: __typename alias1646: __typename alias1647: __typename alias1648: __typename alias1649: __typename alias1650: __typename alias1651: __typename alias1652: __typename alias1653: __typename alias1654: __typename alias1655: __typename alias1656: __typename alias1657: __typename alias1658: __typename alias1659: __typename alias1660: __typename alias1661: __typename alias1662: __typename alias1663: __typename alias1664: __typename alias1665: __typename alias1666: __typename alias1667: __typename alias1668: __typename alias1669: __typename alias1670: __typename alias1671: __typename alias1672: __typename alias1673: __typename alias1674: __typename alias1675: __typename alias1676: __typename alias1677: __typename alias1678: __typename alias1679: __typename alias1680: __typename alias1681: __typename alias1682: __typename alias1683: __typename alias1684: __typename alias1685: __typename alias1686: __typename alias1687: __typename alias1688: __typename alias1689: __typename alias1690: __typename alias1691: __typename alias1692: __typename alias1693: __typename alias1694: __typename alias1695: __typename alias1696: __typename alias1697: __typename alias1698: __typename alias1699: __typename alias1700: __typename alias1701: __typename alias1702: __typename alias1703: __typename alias1704: __typename alias1705: __typename alias1706: __typename alias1707: __typename alias1708: __typename alias1709: __typename alias1710: __typename alias1711: __typename alias1712: __typename alias1713: __typename alias1714: __typename alias1715: __typename alias1716: __typename alias1717: __typename alias1718: __typename alias1719: __typename alias1720: __typename alias1721: __typename alias1722: __typename alias1723: __typename alias1724: __typename alias1725: __typename alias1726: __typename alias1727: __typename alias1728: __typename alias1729: __typename alias1730: __typename alias1731: __typename alias1732: __typename alias1733: __typename alias1734: __typename alias1735: __typename alias1736: __typename alias1737: __typename alias1738: __typename alias1739: __typename alias1740: __typename alias1741: __typename alias1742: __typename alias1743: __typename alias1744: __typename alias1745: __typename alias1746: __typename alias1747: __typename alias1748: __typename alias1749: __typename alias1750: __typename alias1751: __typename alias1752: __typename alias1753: __typename alias1754: __typename alias1755: __typename alias1756: __typename alias1757: __typename alias1758: __typename alias1759: __typename alias1760: __typename alias1761: __typename alias1762: __typename alias1763: __typename alias1764: __typename alias1765: __typename alias1766: __typename alias1767: __typename alias1768: __typename alias1769: __typename alias1770: __typename alias1771: __typename alias1772: __typename alias1773: __typename alias1774: __typename alias1775: __typename alias1776: __typename alias1777: __typename alias1778: __typename alias1779: __typename alias1780: __typename alias1781: __typename alias1782: __typename alias1783: __typename alias1784: __typename alias1785: __typename alias1786: __typename alias1787: __typename alias1788: __typename alias1789: __typename alias1790: __typename alias1791: __typename alias1792: __typename alias1793: __typename alias1794: __typename alias1795: __typename alias1796: __typename alias1797: __typename alias1798: __typename alias1799: __typename alias1800: __typename alias1801: __typename alias1802: __typename alias1803: __typename alias1804: __typename alias1805: __typename alias1806: __typename alias1807: __typename alias1808: __typename alias1809: __typename alias1810: __typename alias1811: __typename alias1812: __typename alias1813: __typename alias1814: __typename alias1815: __typename alias1816: __typename alias1817: __typename alias1818: __typename alias1819: __typename alias1820: __typename alias1821: __typename alias1822: __typename alias1823: __typename alias1824: __typename alias1825: __typename alias1826: __typename alias1827: __typename alias1828: __typename alias1829: __typename alias1830: __typename alias1831: __typename alias1832: __typename alias1833: __typename alias1834: __typename alias1835: __typename alias1836: __typename alias1837: __typename alias1838: __typename alias1839: __typename alias1840: __typename alias1841: __typename alias1842: __typename alias1843: __typename alias1844: __typename alias1845: __typename alias1846: __typename alias1847: __typename alias1848: __typename alias1849: __typename alias1850: __typename alias1851: __typename alias1852: __typename alias1853: __typename alias1854: __typename alias1855: __typename alias1856: __typename alias1857: __typename alias1858: __typename alias1859: __typename alias1860: __typename alias1861: __typename alias1862: __typename alias1863: __typename alias1864: __typename alias1865: __typename alias1866: __typename alias1867: __typename alias1868: __typename alias1869: __typename alias1870: __typename alias1871: __typename alias1872: __typename alias1873: __typename alias1874: __typename alias1875: __typename alias1876: __typename alias1877: __typename alias1878: __typename alias1879: __typename alias1880: __typename alias1881: __typename alias1882: __typename alias1883: __typename alias1884: __typename alias1885: __typename alias1886: __typename alias1887: __typename alias1888: __typename alias1889: __typename alias1890: __typename alias1891: __typename alias1892: __typename alias1893: __typename alias1894: __typename alias1895: __typename alias1896: __typename alias1897: __typename alias1898: __typename alias1899: __typename alias1900: __typename alias1901: __typename alias1902: __typename alias1903: __typename alias1904: __typename alias1905: __typename alias1906: __typename alias1907: __typename alias1908: __typename alias1909: __typename alias1910: __typename alias1911: __typename alias1912: __typename alias1913: __typename alias1914: __typename alias1915: __typename alias1916: __typename alias1917: __typename alias1918: __typename alias1919: __typename alias1920: __typename alias1921: __typename alias1922: __typename alias1923: __typename alias1924: __typename alias1925: __typename alias1926: __typename alias1927: __typename alias1928: __typename alias1929: __typename alias1930: __typename alias1931: __typename alias1932: __typename alias1933: __typename alias1934: __typename alias1935: __typename alias1936: __typename alias1937: __typename alias1938: __typename alias1939: __typename alias1940: __typename alias1941: __typename alias1942: __typename alias1943: __typename alias1944: __typename alias1945: __typename alias1946: __typename alias1947: __typename alias1948: __typename alias1949: __typename alias1950: __typename alias1951: __typename alias1952: __typename alias1953: __typename alias1954: __typename alias1955: __typename alias1956: __typename alias1957: __typename alias1958: __typename alias1959: __typename alias1960: __typename alias1961: __typename alias1962: __typename alias1963: __typename alias1964: __typename alias1965: __typename alias1966: __typename alias1967: __typename alias1968: __typename alias1969: __typename alias1970: __typename alias1971: __typename alias1972: __typename alias1973: __typename alias1974: __typename alias1975: __typename alias1976: __typename alias1977: __typename alias1978: __typename alias1979: __typename alias1980: __typename alias1981: __typename alias1982: __typename alias1983: __typename alias1984: __typename alias1985: __typename alias1986: __typename alias1987: __typename alias1988: __typename alias1989: __typename alias1990: __typename alias1991: __typename alias1992: __typename alias1993: __typename alias1994: __typename alias1995: __typename alias1996: __typename alias1997: __typename alias1998: __typename alias1999: __typename alias2000: __typename alias2001: __typename alias2002: __typename alias2003: __typename alias2004: __typename alias2005: __typename alias2006: __typename alias2007: __typename alias2008: __typename alias2009: __typename alias2010: __typename alias2011: __typename alias2012: __typename alias2013: __typename alias2014: __typename alias2015: __typename alias2016: __typename alias2017: __typename alias2018: __typename alias2019: __typename alias2020: __typename alias2021: __typename alias2022: __typename alias2023: __typename alias2024: __typename alias2025: __typename alias2026: __typename alias2027: __typename alias2028: __typename alias2029: __typename alias2030: __typename alias2031: __typename alias2032: __typename alias2033: __typename alias2034: __typename alias2035: __typename alias2036: __typename alias2037: __typename alias2038: __typename alias2039: __typename alias2040: __typename alias2041: __typename alias2042: __typename alias2043: __typename alias2044: __typename alias2045: __typename alias2046: __typename alias2047: __typename }",
- "operation": "queryalias",
- "rootNode": {
- "type": "Sequence",
- "nodes": [
- {
- "type": "Introspect",
- "document": "{ alias0: __typename alias1: __typename alias2: __typename alias3: __typename alias4: __typename alias5: __typename alias6: __typename alias7: __typename alias8: __typename alias9: __typename alias10: __typename alias11: __typename alias12: __typename alias13: __typename alias14: __typename alias15: __typename alias16: __typename alias17: __typename alias18: __typename alias19: __typename alias20: __typename alias21: __typename alias22: __typename alias23: __typename alias24: __typename alias25: __typename alias26: __typename alias27: __typename alias28: __typename alias29: __typename alias30: __typename alias31: __typename alias32: __typename alias33: __typename alias34: __typename alias35: __typename alias36: __typename alias37: __typename alias38: __typename alias39: __typename alias40: __typename alias41: __typename alias42: __typename alias43: __typename alias44: __typename alias45: __typename alias46: __typename alias47: __typename alias48: __typename alias49: __typename alias50: __typename alias51: __typename alias52: __typename alias53: __typename alias54: __typename alias55: __typename alias56: __typename alias57: __typename alias58: __typename alias59: __typename alias60: __typename alias61: __typename alias62: __typename alias63: __typename alias64: __typename alias65: __typename alias66: __typename alias67: __typename alias68: __typename alias69: __typename alias70: __typename alias71: __typename alias72: __typename alias73: __typename alias74: __typename alias75: __typename alias76: __typename alias77: __typename alias78: __typename alias79: __typename alias80: __typename alias81: __typename alias82: __typename alias83: __typename alias84: __typename alias85: __typename alias86: __typename alias87: __typename alias88: __typename alias89: __typename alias90: __typename alias91: __typename alias92: __typename alias93: __typename alias94: __typename alias95: __typename alias96: __typename alias97: __typename alias98: __typename alias99: __typename alias100: __typename alias101: __typename alias102: __typename alias103: __typename alias104: __typename alias105: __typename alias106: __typename alias107: __typename alias108: __typename alias109: __typename alias110: __typename alias111: __typename alias112: __typename alias113: __typename alias114: __typename alias115: __typename alias116: __typename alias117: __typename alias118: __typename alias119: __typename alias120: __typename alias121: __typename alias122: __typename alias123: __typename alias124: __typename alias125: __typename alias126: __typename alias127: __typename alias128: __typename alias129: __typename alias130: __typename alias131: __typename alias132: __typename alias133: __typename alias134: __typename alias135: __typename alias136: __typename alias137: __typename alias138: __typename alias139: __typename alias140: __typename alias141: __typename alias142: __typename alias143: __typename alias144: __typename alias145: __typename alias146: __typename alias147: __typename alias148: __typename alias149: __typename alias150: __typename alias151: __typename alias152: __typename alias153: __typename alias154: __typename alias155: __typename alias156: __typename alias157: __typename alias158: __typename alias159: __typename alias160: __typename alias161: __typename alias162: __typename alias163: __typename alias164: __typename alias165: __typename alias166: __typename alias167: __typename alias168: __typename alias169: __typename alias170: __typename alias171: __typename alias172: __typename alias173: __typename alias174: __typename alias175: __typename alias176: __typename alias177: __typename alias178: __typename alias179: __typename alias180: __typename alias181: __typename alias182: __typename alias183: __typename alias184: __typename alias185: __typename alias186: __typename alias187: __typename alias188: __typename alias189: __typename alias190: __typename alias191: __typename alias192: __typename alias193: __typename alias194: __typename alias195: __typename alias196: __typename alias197: __typename alias198: __typename alias199: __typename alias200: __typename alias201: __typename alias202: __typename alias203: __typename alias204: __typename alias205: __typename alias206: __typename alias207: __typename alias208: __typename alias209: __typename alias210: __typename alias211: __typename alias212: __typename alias213: __typename alias214: __typename alias215: __typename alias216: __typename alias217: __typename alias218: __typename alias219: __typename alias220: __typename alias221: __typename alias222: __typename alias223: __typename alias224: __typename alias225: __typename alias226: __typename alias227: __typename alias228: __typename alias229: __typename alias230: __typename alias231: __typename alias232: __typename alias233: __typename alias234: __typename alias235: __typename alias236: __typename alias237: __typename alias238: __typename alias239: __typename alias240: __typename alias241: __typename alias242: __typename alias243: __typename alias244: __typename alias245: __typename alias246: __typename alias247: __typename alias248: __typename alias249: __typename alias250: __typename alias251: __typename alias252: __typename alias253: __typename alias254: __typename alias255: __typename alias256: __typename alias257: __typename alias258: __typename alias259: __typename alias260: __typename alias261: __typename alias262: __typename alias263: __typename alias264: __typename alias265: __typename alias266: __typename alias267: __typename alias268: __typename alias269: __typename alias270: __typename alias271: __typename alias272: __typename alias273: __typename alias274: __typename alias275: __typename alias276: __typename alias277: __typename alias278: __typename alias279: __typename alias280: __typename alias281: __typename alias282: __typename alias283: __typename alias284: __typename alias285: __typename alias286: __typename alias287: __typename alias288: __typename alias289: __typename alias290: __typename alias291: __typename alias292: __typename alias293: __typename alias294: __typename alias295: __typename alias296: __typename alias297: __typename alias298: __typename alias299: __typename alias300: __typename alias301: __typename alias302: __typename alias303: __typename alias304: __typename alias305: __typename alias306: __typename alias307: __typename alias308: __typename alias309: __typename alias310: __typename alias311: __typename alias312: __typename alias313: __typename alias314: __typename alias315: __typename alias316: __typename alias317: __typename alias318: __typename alias319: __typename alias320: __typename alias321: __typename alias322: __typename alias323: __typename alias324: __typename alias325: __typename alias326: __typename alias327: __typename alias328: __typename alias329: __typename alias330: __typename alias331: __typename alias332: __typename alias333: __typename alias334: __typename alias335: __typename alias336: __typename alias337: __typename alias338: __typename alias339: __typename alias340: __typename alias341: __typename alias342: __typename alias343: __typename alias344: __typename alias345: __typename alias346: __typename alias347: __typename alias348: __typename alias349: __typename alias350: __typename alias351: __typename alias352: __typename alias353: __typename alias354: __typename alias355: __typename alias356: __typename alias357: __typename alias358: __typename alias359: __typename alias360: __typename alias361: __typename alias362: __typename alias363: __typename alias364: __typename alias365: __typename alias366: __typename alias367: __typename alias368: __typename alias369: __typename alias370: __typename alias371: __typename alias372: __typename alias373: __typename alias374: __typename alias375: __typename alias376: __typename alias377: __typename alias378: __typename alias379: __typename alias380: __typename alias381: __typename alias382: __typename alias383: __typename alias384: __typename alias385: __typename alias386: __typename alias387: __typename alias388: __typename alias389: __typename alias390: __typename alias391: __typename alias392: __typename alias393: __typename alias394: __typename alias395: __typename alias396: __typename alias397: __typename alias398: __typename alias399: __typename alias400: __typename alias401: __typename alias402: __typename alias403: __typename alias404: __typename alias405: __typename alias406: __typename alias407: __typename alias408: __typename alias409: __typename alias410: __typename alias411: __typename alias412: __typename alias413: __typename alias414: __typename alias415: __typename alias416: __typename alias417: __typename alias418: __typename alias419: __typename alias420: __typename alias421: __typename alias422: __typename alias423: __typename alias424: __typename alias425: __typename alias426: __typename alias427: __typename alias428: __typename alias429: __typename alias430: __typename alias431: __typename alias432: __typename alias433: __typename alias434: __typename alias435: __typename alias436: __typename alias437: __typename alias438: __typename alias439: __typename alias440: __typename alias441: __typename alias442: __typename alias443: __typename alias444: __typename alias445: __typename alias446: __typename alias447: __typename alias448: __typename alias449: __typename alias450: __typename alias451: __typename alias452: __typename alias453: __typename alias454: __typename alias455: __typename alias456: __typename alias457: __typename alias458: __typename alias459: __typename alias460: __typename alias461: __typename alias462: __typename alias463: __typename alias464: __typename alias465: __typename alias466: __typename alias467: __typename alias468: __typename alias469: __typename alias470: __typename alias471: __typename alias472: __typename alias473: __typename alias474: __typename alias475: __typename alias476: __typename alias477: __typename alias478: __typename alias479: __typename alias480: __typename alias481: __typename alias482: __typename alias483: __typename alias484: __typename alias485: __typename alias486: __typename alias487: __typename alias488: __typename alias489: __typename alias490: __typename alias491: __typename alias492: __typename alias493: __typename alias494: __typename alias495: __typename alias496: __typename alias497: __typename alias498: __typename alias499: __typename alias500: __typename alias501: __typename alias502: __typename alias503: __typename alias504: __typename alias505: __typename alias506: __typename alias507: __typename alias508: __typename alias509: __typename alias510: __typename alias511: __typename alias512: __typename alias513: __typename alias514: __typename alias515: __typename alias516: __typename alias517: __typename alias518: __typename alias519: __typename alias520: __typename alias521: __typename alias522: __typename alias523: __typename alias524: __typename alias525: __typename alias526: __typename alias527: __typename alias528: __typename alias529: __typename alias530: __typename alias531: __typename alias532: __typename alias533: __typename alias534: __typename alias535: __typename alias536: __typename alias537: __typename alias538: __typename alias539: __typename alias540: __typename alias541: __typename alias542: __typename alias543: __typename alias544: __typename alias545: __typename alias546: __typename alias547: __typename alias548: __typename alias549: __typename alias550: __typename alias551: __typename alias552: __typename alias553: __typename alias554: __typename alias555: __typename alias556: __typename alias557: __typename alias558: __typename alias559: __typename alias560: __typename alias561: __typename alias562: __typename alias563: __typename alias564: __typename alias565: __typename alias566: __typename alias567: __typename alias568: __typename alias569: __typename alias570: __typename alias571: __typename alias572: __typename alias573: __typename alias574: __typename alias575: __typename alias576: __typename alias577: __typename alias578: __typename alias579: __typename alias580: __typename alias581: __typename alias582: __typename alias583: __typename alias584: __typename alias585: __typename alias586: __typename alias587: __typename alias588: __typename alias589: __typename alias590: __typename alias591: __typename alias592: __typename alias593: __typename alias594: __typename alias595: __typename alias596: __typename alias597: __typename alias598: __typename alias599: __typename alias600: __typename alias601: __typename alias602: __typename alias603: __typename alias604: __typename alias605: __typename alias606: __typename alias607: __typename alias608: __typename alias609: __typename alias610: __typename alias611: __typename alias612: __typename alias613: __typename alias614: __typename alias615: __typename alias616: __typename alias617: __typename alias618: __typename alias619: __typename alias620: __typename alias621: __typename alias622: __typename alias623: __typename alias624: __typename alias625: __typename alias626: __typename alias627: __typename alias628: __typename alias629: __typename alias630: __typename alias631: __typename alias632: __typename alias633: __typename alias634: __typename alias635: __typename alias636: __typename alias637: __typename alias638: __typename alias639: __typename alias640: __typename alias641: __typename alias642: __typename alias643: __typename alias644: __typename alias645: __typename alias646: __typename alias647: __typename alias648: __typename alias649: __typename alias650: __typename alias651: __typename alias652: __typename alias653: __typename alias654: __typename alias655: __typename alias656: __typename alias657: __typename alias658: __typename alias659: __typename alias660: __typename alias661: __typename alias662: __typename alias663: __typename alias664: __typename alias665: __typename alias666: __typename alias667: __typename alias668: __typename alias669: __typename alias670: __typename alias671: __typename alias672: __typename alias673: __typename alias674: __typename alias675: __typename alias676: __typename alias677: __typename alias678: __typename alias679: __typename alias680: __typename alias681: __typename alias682: __typename alias683: __typename alias684: __typename alias685: __typename alias686: __typename alias687: __typename alias688: __typename alias689: __typename alias690: __typename alias691: __typename alias692: __typename alias693: __typename alias694: __typename alias695: __typename alias696: __typename alias697: __typename alias698: __typename alias699: __typename alias700: __typename alias701: __typename alias702: __typename alias703: __typename alias704: __typename alias705: __typename alias706: __typename alias707: __typename alias708: __typename alias709: __typename alias710: __typename alias711: __typename alias712: __typename alias713: __typename alias714: __typename alias715: __typename alias716: __typename alias717: __typename alias718: __typename alias719: __typename alias720: __typename alias721: __typename alias722: __typename alias723: __typename alias724: __typename alias725: __typename alias726: __typename alias727: __typename alias728: __typename alias729: __typename alias730: __typename alias731: __typename alias732: __typename alias733: __typename alias734: __typename alias735: __typename alias736: __typename alias737: __typename alias738: __typename alias739: __typename alias740: __typename alias741: __typename alias742: __typename alias743: __typename alias744: __typename alias745: __typename alias746: __typename alias747: __typename alias748: __typename alias749: __typename alias750: __typename alias751: __typename alias752: __typename alias753: __typename alias754: __typename alias755: __typename alias756: __typename alias757: __typename alias758: __typename alias759: __typename alias760: __typename alias761: __typename alias762: __typename alias763: __typename alias764: __typename alias765: __typename alias766: __typename alias767: __typename alias768: __typename alias769: __typename alias770: __typename alias771: __typename alias772: __typename alias773: __typename alias774: __typename alias775: __typename alias776: __typename alias777: __typename alias778: __typename alias779: __typename alias780: __typename alias781: __typename alias782: __typename alias783: __typename alias784: __typename alias785: __typename alias786: __typename alias787: __typename alias788: __typename alias789: __typename alias790: __typename alias791: __typename alias792: __typename alias793: __typename alias794: __typename alias795: __typename alias796: __typename alias797: __typename alias798: __typename alias799: __typename alias800: __typename alias801: __typename alias802: __typename alias803: __typename alias804: __typename alias805: __typename alias806: __typename alias807: __typename alias808: __typename alias809: __typename alias810: __typename alias811: __typename alias812: __typename alias813: __typename alias814: __typename alias815: __typename alias816: __typename alias817: __typename alias818: __typename alias819: __typename alias820: __typename alias821: __typename alias822: __typename alias823: __typename alias824: __typename alias825: __typename alias826: __typename alias827: __typename alias828: __typename alias829: __typename alias830: __typename alias831: __typename alias832: __typename alias833: __typename alias834: __typename alias835: __typename alias836: __typename alias837: __typename alias838: __typename alias839: __typename alias840: __typename alias841: __typename alias842: __typename alias843: __typename alias844: __typename alias845: __typename alias846: __typename alias847: __typename alias848: __typename alias849: __typename alias850: __typename alias851: __typename alias852: __typename alias853: __typename alias854: __typename alias855: __typename alias856: __typename alias857: __typename alias858: __typename alias859: __typename alias860: __typename alias861: __typename alias862: __typename alias863: __typename alias864: __typename alias865: __typename alias866: __typename alias867: __typename alias868: __typename alias869: __typename alias870: __typename alias871: __typename alias872: __typename alias873: __typename alias874: __typename alias875: __typename alias876: __typename alias877: __typename alias878: __typename alias879: __typename alias880: __typename alias881: __typename alias882: __typename alias883: __typename alias884: __typename alias885: __typename alias886: __typename alias887: __typename alias888: __typename alias889: __typename alias890: __typename alias891: __typename alias892: __typename alias893: __typename alias894: __typename alias895: __typename alias896: __typename alias897: __typename alias898: __typename alias899: __typename alias900: __typename alias901: __typename alias902: __typename alias903: __typename alias904: __typename alias905: __typename alias906: __typename alias907: __typename alias908: __typename alias909: __typename alias910: __typename alias911: __typename alias912: __typename alias913: __typename alias914: __typename alias915: __typename alias916: __typename alias917: __typename alias918: __typename alias919: __typename alias920: __typename alias921: __typename alias922: __typename alias923: __typename alias924: __typename alias925: __typename alias926: __typename alias927: __typename alias928: __typename alias929: __typename alias930: __typename alias931: __typename alias932: __typename alias933: __typename alias934: __typename alias935: __typename alias936: __typename alias937: __typename alias938: __typename alias939: __typename alias940: __typename alias941: __typename alias942: __typename alias943: __typename alias944: __typename alias945: __typename alias946: __typename alias947: __typename alias948: __typename alias949: __typename alias950: __typename alias951: __typename alias952: __typename alias953: __typename alias954: __typename alias955: __typename alias956: __typename alias957: __typename alias958: __typename alias959: __typename alias960: __typename alias961: __typename alias962: __typename alias963: __typename alias964: __typename alias965: __typename alias966: __typename alias967: __typename alias968: __typename alias969: __typename alias970: __typename alias971: __typename alias972: __typename alias973: __typename alias974: __typename alias975: __typename alias976: __typename alias977: __typename alias978: __typename alias979: __typename alias980: __typename alias981: __typename alias982: __typename alias983: __typename alias984: __typename alias985: __typename alias986: __typename alias987: __typename alias988: __typename alias989: __typename alias990: __typename alias991: __typename alias992: __typename alias993: __typename alias994: __typename alias995: __typename alias996: __typename alias997: __typename alias998: __typename alias999: __typename alias1000: __typename alias1001: __typename alias1002: __typename alias1003: __typename alias1004: __typename alias1005: __typename alias1006: __typename alias1007: __typename alias1008: __typename alias1009: __typename alias1010: __typename alias1011: __typename alias1012: __typename alias1013: __typename alias1014: __typename alias1015: __typename alias1016: __typename alias1017: __typename alias1018: __typename alias1019: __typename alias1020: __typename alias1021: __typename alias1022: __typename alias1023: __typename alias1024: __typename alias1025: __typename alias1026: __typename alias1027: __typename alias1028: __typename alias1029: __typename alias1030: __typename alias1031: __typename alias1032: __typename alias1033: __typename alias1034: __typename alias1035: __typename alias1036: __typename alias1037: __typename alias1038: __typename alias1039: __typename alias1040: __typename alias1041: __typename alias1042: __typename alias1043: __typename alias1044: __typename alias1045: __typename alias1046: __typename alias1047: __typename alias1048: __typename alias1049: __typename alias1050: __typename alias1051: __typename alias1052: __typename alias1053: __typename alias1054: __typename alias1055: __typename alias1056: __typename alias1057: __typename alias1058: __typename alias1059: __typename alias1060: __typename alias1061: __typename alias1062: __typename alias1063: __typename alias1064: __typename alias1065: __typename alias1066: __typename alias1067: __typename alias1068: __typename alias1069: __typename alias1070: __typename alias1071: __typename alias1072: __typename alias1073: __typename alias1074: __typename alias1075: __typename alias1076: __typename alias1077: __typename alias1078: __typename alias1079: __typename alias1080: __typename alias1081: __typename alias1082: __typename alias1083: __typename alias1084: __typename alias1085: __typename alias1086: __typename alias1087: __typename alias1088: __typename alias1089: __typename alias1090: __typename alias1091: __typename alias1092: __typename alias1093: __typename alias1094: __typename alias1095: __typename alias1096: __typename alias1097: __typename alias1098: __typename alias1099: __typename alias1100: __typename alias1101: __typename alias1102: __typename alias1103: __typename alias1104: __typename alias1105: __typename alias1106: __typename alias1107: __typename alias1108: __typename alias1109: __typename alias1110: __typename alias1111: __typename alias1112: __typename alias1113: __typename alias1114: __typename alias1115: __typename alias1116: __typename alias1117: __typename alias1118: __typename alias1119: __typename alias1120: __typename alias1121: __typename alias1122: __typename alias1123: __typename alias1124: __typename alias1125: __typename alias1126: __typename alias1127: __typename alias1128: __typename alias1129: __typename alias1130: __typename alias1131: __typename alias1132: __typename alias1133: __typename alias1134: __typename alias1135: __typename alias1136: __typename alias1137: __typename alias1138: __typename alias1139: __typename alias1140: __typename alias1141: __typename alias1142: __typename alias1143: __typename alias1144: __typename alias1145: __typename alias1146: __typename alias1147: __typename alias1148: __typename alias1149: __typename alias1150: __typename alias1151: __typename alias1152: __typename alias1153: __typename alias1154: __typename alias1155: __typename alias1156: __typename alias1157: __typename alias1158: __typename alias1159: __typename alias1160: __typename alias1161: __typename alias1162: __typename alias1163: __typename alias1164: __typename alias1165: __typename alias1166: __typename alias1167: __typename alias1168: __typename alias1169: __typename alias1170: __typename alias1171: __typename alias1172: __typename alias1173: __typename alias1174: __typename alias1175: __typename alias1176: __typename alias1177: __typename alias1178: __typename alias1179: __typename alias1180: __typename alias1181: __typename alias1182: __typename alias1183: __typename alias1184: __typename alias1185: __typename alias1186: __typename alias1187: __typename alias1188: __typename alias1189: __typename alias1190: __typename alias1191: __typename alias1192: __typename alias1193: __typename alias1194: __typename alias1195: __typename alias1196: __typename alias1197: __typename alias1198: __typename alias1199: __typename alias1200: __typename alias1201: __typename alias1202: __typename alias1203: __typename alias1204: __typename alias1205: __typename alias1206: __typename alias1207: __typename alias1208: __typename alias1209: __typename alias1210: __typename alias1211: __typename alias1212: __typename alias1213: __typename alias1214: __typename alias1215: __typename alias1216: __typename alias1217: __typename alias1218: __typename alias1219: __typename alias1220: __typename alias1221: __typename alias1222: __typename alias1223: __typename alias1224: __typename alias1225: __typename alias1226: __typename alias1227: __typename alias1228: __typename alias1229: __typename alias1230: __typename alias1231: __typename alias1232: __typename alias1233: __typename alias1234: __typename alias1235: __typename alias1236: __typename alias1237: __typename alias1238: __typename alias1239: __typename alias1240: __typename alias1241: __typename alias1242: __typename alias1243: __typename alias1244: __typename alias1245: __typename alias1246: __typename alias1247: __typename alias1248: __typename alias1249: __typename alias1250: __typename alias1251: __typename alias1252: __typename alias1253: __typename alias1254: __typename alias1255: __typename alias1256: __typename alias1257: __typename alias1258: __typename alias1259: __typename alias1260: __typename alias1261: __typename alias1262: __typename alias1263: __typename alias1264: __typename alias1265: __typename alias1266: __typename alias1267: __typename alias1268: __typename alias1269: __typename alias1270: __typename alias1271: __typename alias1272: __typename alias1273: __typename alias1274: __typename alias1275: __typename alias1276: __typename alias1277: __typename alias1278: __typename alias1279: __typename alias1280: __typename alias1281: __typename alias1282: __typename alias1283: __typename alias1284: __typename alias1285: __typename alias1286: __typename alias1287: __typename alias1288: __typename alias1289: __typename alias1290: __typename alias1291: __typename alias1292: __typename alias1293: __typename alias1294: __typename alias1295: __typename alias1296: __typename alias1297: __typename alias1298: __typename alias1299: __typename alias1300: __typename alias1301: __typename alias1302: __typename alias1303: __typename alias1304: __typename alias1305: __typename alias1306: __typename alias1307: __typename alias1308: __typename alias1309: __typename alias1310: __typename alias1311: __typename alias1312: __typename alias1313: __typename alias1314: __typename alias1315: __typename alias1316: __typename alias1317: __typename alias1318: __typename alias1319: __typename alias1320: __typename alias1321: __typename alias1322: __typename alias1323: __typename alias1324: __typename alias1325: __typename alias1326: __typename alias1327: __typename alias1328: __typename alias1329: __typename alias1330: __typename alias1331: __typename alias1332: __typename alias1333: __typename alias1334: __typename alias1335: __typename alias1336: __typename alias1337: __typename alias1338: __typename alias1339: __typename alias1340: __typename alias1341: __typename alias1342: __typename alias1343: __typename alias1344: __typename alias1345: __typename alias1346: __typename alias1347: __typename alias1348: __typename alias1349: __typename alias1350: __typename alias1351: __typename alias1352: __typename alias1353: __typename alias1354: __typename alias1355: __typename alias1356: __typename alias1357: __typename alias1358: __typename alias1359: __typename alias1360: __typename alias1361: __typename alias1362: __typename alias1363: __typename alias1364: __typename alias1365: __typename alias1366: __typename alias1367: __typename alias1368: __typename alias1369: __typename alias1370: __typename alias1371: __typename alias1372: __typename alias1373: __typename alias1374: __typename alias1375: __typename alias1376: __typename alias1377: __typename alias1378: __typename alias1379: __typename alias1380: __typename alias1381: __typename alias1382: __typename alias1383: __typename alias1384: __typename alias1385: __typename alias1386: __typename alias1387: __typename alias1388: __typename alias1389: __typename alias1390: __typename alias1391: __typename alias1392: __typename alias1393: __typename alias1394: __typename alias1395: __typename alias1396: __typename alias1397: __typename alias1398: __typename alias1399: __typename alias1400: __typename alias1401: __typename alias1402: __typename alias1403: __typename alias1404: __typename alias1405: __typename alias1406: __typename alias1407: __typename alias1408: __typename alias1409: __typename alias1410: __typename alias1411: __typename alias1412: __typename alias1413: __typename alias1414: __typename alias1415: __typename alias1416: __typename alias1417: __typename alias1418: __typename alias1419: __typename alias1420: __typename alias1421: __typename alias1422: __typename alias1423: __typename alias1424: __typename alias1425: __typename alias1426: __typename alias1427: __typename alias1428: __typename alias1429: __typename alias1430: __typename alias1431: __typename alias1432: __typename alias1433: __typename alias1434: __typename alias1435: __typename alias1436: __typename alias1437: __typename alias1438: __typename alias1439: __typename alias1440: __typename alias1441: __typename alias1442: __typename alias1443: __typename alias1444: __typename alias1445: __typename alias1446: __typename alias1447: __typename alias1448: __typename alias1449: __typename alias1450: __typename alias1451: __typename alias1452: __typename alias1453: __typename alias1454: __typename alias1455: __typename alias1456: __typename alias1457: __typename alias1458: __typename alias1459: __typename alias1460: __typename alias1461: __typename alias1462: __typename alias1463: __typename alias1464: __typename alias1465: __typename alias1466: __typename alias1467: __typename alias1468: __typename alias1469: __typename alias1470: __typename alias1471: __typename alias1472: __typename alias1473: __typename alias1474: __typename alias1475: __typename alias1476: __typename alias1477: __typename alias1478: __typename alias1479: __typename alias1480: __typename alias1481: __typename alias1482: __typename alias1483: __typename alias1484: __typename alias1485: __typename alias1486: __typename alias1487: __typename alias1488: __typename alias1489: __typename alias1490: __typename alias1491: __typename alias1492: __typename alias1493: __typename alias1494: __typename alias1495: __typename alias1496: __typename alias1497: __typename alias1498: __typename alias1499: __typename alias1500: __typename alias1501: __typename alias1502: __typename alias1503: __typename alias1504: __typename alias1505: __typename alias1506: __typename alias1507: __typename alias1508: __typename alias1509: __typename alias1510: __typename alias1511: __typename alias1512: __typename alias1513: __typename alias1514: __typename alias1515: __typename alias1516: __typename alias1517: __typename alias1518: __typename alias1519: __typename alias1520: __typename alias1521: __typename alias1522: __typename alias1523: __typename alias1524: __typename alias1525: __typename alias1526: __typename alias1527: __typename alias1528: __typename alias1529: __typename alias1530: __typename alias1531: __typename alias1532: __typename alias1533: __typename alias1534: __typename alias1535: __typename alias1536: __typename alias1537: __typename alias1538: __typename alias1539: __typename alias1540: __typename alias1541: __typename alias1542: __typename alias1543: __typename alias1544: __typename alias1545: __typename alias1546: __typename alias1547: __typename alias1548: __typename alias1549: __typename alias1550: __typename alias1551: __typename alias1552: __typename alias1553: __typename alias1554: __typename alias1555: __typename alias1556: __typename alias1557: __typename alias1558: __typename alias1559: __typename alias1560: __typename alias1561: __typename alias1562: __typename alias1563: __typename alias1564: __typename alias1565: __typename alias1566: __typename alias1567: __typename alias1568: __typename alias1569: __typename alias1570: __typename alias1571: __typename alias1572: __typename alias1573: __typename alias1574: __typename alias1575: __typename alias1576: __typename alias1577: __typename alias1578: __typename alias1579: __typename alias1580: __typename alias1581: __typename alias1582: __typename alias1583: __typename alias1584: __typename alias1585: __typename alias1586: __typename alias1587: __typename alias1588: __typename alias1589: __typename alias1590: __typename alias1591: __typename alias1592: __typename alias1593: __typename alias1594: __typename alias1595: __typename alias1596: __typename alias1597: __typename alias1598: __typename alias1599: __typename alias1600: __typename alias1601: __typename alias1602: __typename alias1603: __typename alias1604: __typename alias1605: __typename alias1606: __typename alias1607: __typename alias1608: __typename alias1609: __typename alias1610: __typename alias1611: __typename alias1612: __typename alias1613: __typename alias1614: __typename alias1615: __typename alias1616: __typename alias1617: __typename alias1618: __typename alias1619: __typename alias1620: __typename alias1621: __typename alias1622: __typename alias1623: __typename alias1624: __typename alias1625: __typename alias1626: __typename alias1627: __typename alias1628: __typename alias1629: __typename alias1630: __typename alias1631: __typename alias1632: __typename alias1633: __typename alias1634: __typename alias1635: __typename alias1636: __typename alias1637: __typename alias1638: __typename alias1639: __typename alias1640: __typename alias1641: __typename alias1642: __typename alias1643: __typename alias1644: __typename alias1645: __typename alias1646: __typename alias1647: __typename alias1648: __typename alias1649: __typename alias1650: __typename alias1651: __typename alias1652: __typename alias1653: __typename alias1654: __typename alias1655: __typename alias1656: __typename alias1657: __typename alias1658: __typename alias1659: __typename alias1660: __typename alias1661: __typename alias1662: __typename alias1663: __typename alias1664: __typename alias1665: __typename alias1666: __typename alias1667: __typename alias1668: __typename alias1669: __typename alias1670: __typename alias1671: __typename alias1672: __typename alias1673: __typename alias1674: __typename alias1675: __typename alias1676: __typename alias1677: __typename alias1678: __typename alias1679: __typename alias1680: __typename alias1681: __typename alias1682: __typename alias1683: __typename alias1684: __typename alias1685: __typename alias1686: __typename alias1687: __typename alias1688: __typename alias1689: __typename alias1690: __typename alias1691: __typename alias1692: __typename alias1693: __typename alias1694: __typename alias1695: __typename alias1696: __typename alias1697: __typename alias1698: __typename alias1699: __typename alias1700: __typename alias1701: __typename alias1702: __typename alias1703: __typename alias1704: __typename alias1705: __typename alias1706: __typename alias1707: __typename alias1708: __typename alias1709: __typename alias1710: __typename alias1711: __typename alias1712: __typename alias1713: __typename alias1714: __typename alias1715: __typename alias1716: __typename alias1717: __typename alias1718: __typename alias1719: __typename alias1720: __typename alias1721: __typename alias1722: __typename alias1723: __typename alias1724: __typename alias1725: __typename alias1726: __typename alias1727: __typename alias1728: __typename alias1729: __typename alias1730: __typename alias1731: __typename alias1732: __typename alias1733: __typename alias1734: __typename alias1735: __typename alias1736: __typename alias1737: __typename alias1738: __typename alias1739: __typename alias1740: __typename alias1741: __typename alias1742: __typename alias1743: __typename alias1744: __typename alias1745: __typename alias1746: __typename alias1747: __typename alias1748: __typename alias1749: __typename alias1750: __typename alias1751: __typename alias1752: __typename alias1753: __typename alias1754: __typename alias1755: __typename alias1756: __typename alias1757: __typename alias1758: __typename alias1759: __typename alias1760: __typename alias1761: __typename alias1762: __typename alias1763: __typename alias1764: __typename alias1765: __typename alias1766: __typename alias1767: __typename alias1768: __typename alias1769: __typename alias1770: __typename alias1771: __typename alias1772: __typename alias1773: __typename alias1774: __typename alias1775: __typename alias1776: __typename alias1777: __typename alias1778: __typename alias1779: __typename alias1780: __typename alias1781: __typename alias1782: __typename alias1783: __typename alias1784: __typename alias1785: __typename alias1786: __typename alias1787: __typename alias1788: __typename alias1789: __typename alias1790: __typename alias1791: __typename alias1792: __typename alias1793: __typename alias1794: __typename alias1795: __typename alias1796: __typename alias1797: __typename alias1798: __typename alias1799: __typename alias1800: __typename alias1801: __typename alias1802: __typename alias1803: __typename alias1804: __typename alias1805: __typename alias1806: __typename alias1807: __typename alias1808: __typename alias1809: __typename alias1810: __typename alias1811: __typename alias1812: __typename alias1813: __typename alias1814: __typename alias1815: __typename alias1816: __typename alias1817: __typename alias1818: __typename alias1819: __typename alias1820: __typename alias1821: __typename alias1822: __typename alias1823: __typename alias1824: __typename alias1825: __typename alias1826: __typename alias1827: __typename alias1828: __typename alias1829: __typename alias1830: __typename alias1831: __typename alias1832: __typename alias1833: __typename alias1834: __typename alias1835: __typename alias1836: __typename alias1837: __typename alias1838: __typename alias1839: __typename alias1840: __typename alias1841: __typename alias1842: __typename alias1843: __typename alias1844: __typename alias1845: __typename alias1846: __typename alias1847: __typename alias1848: __typename alias1849: __typename alias1850: __typename alias1851: __typename alias1852: __typename alias1853: __typename alias1854: __typename alias1855: __typename alias1856: __typename alias1857: __typename alias1858: __typename alias1859: __typename alias1860: __typename alias1861: __typename alias1862: __typename alias1863: __typename alias1864: __typename alias1865: __typename alias1866: __typename alias1867: __typename alias1868: __typename alias1869: __typename alias1870: __typename alias1871: __typename alias1872: __typename alias1873: __typename alias1874: __typename alias1875: __typename alias1876: __typename alias1877: __typename alias1878: __typename alias1879: __typename alias1880: __typename alias1881: __typename alias1882: __typename alias1883: __typename alias1884: __typename alias1885: __typename alias1886: __typename alias1887: __typename alias1888: __typename alias1889: __typename alias1890: __typename alias1891: __typename alias1892: __typename alias1893: __typename alias1894: __typename alias1895: __typename alias1896: __typename alias1897: __typename alias1898: __typename alias1899: __typename alias1900: __typename alias1901: __typename alias1902: __typename alias1903: __typename alias1904: __typename alias1905: __typename alias1906: __typename alias1907: __typename alias1908: __typename alias1909: __typename alias1910: __typename alias1911: __typename alias1912: __typename alias1913: __typename alias1914: __typename alias1915: __typename alias1916: __typename alias1917: __typename alias1918: __typename alias1919: __typename alias1920: __typename alias1921: __typename alias1922: __typename alias1923: __typename alias1924: __typename alias1925: __typename alias1926: __typename alias1927: __typename alias1928: __typename alias1929: __typename alias1930: __typename alias1931: __typename alias1932: __typename alias1933: __typename alias1934: __typename alias1935: __typename alias1936: __typename alias1937: __typename alias1938: __typename alias1939: __typename alias1940: __typename alias1941: __typename alias1942: __typename alias1943: __typename alias1944: __typename alias1945: __typename alias1946: __typename alias1947: __typename alias1948: __typename alias1949: __typename alias1950: __typename alias1951: __typename alias1952: __typename alias1953: __typename alias1954: __typename alias1955: __typename alias1956: __typename alias1957: __typename alias1958: __typename alias1959: __typename alias1960: __typename alias1961: __typename alias1962: __typename alias1963: __typename alias1964: __typename alias1965: __typename alias1966: __typename alias1967: __typename alias1968: __typename alias1969: __typename alias1970: __typename alias1971: __typename alias1972: __typename alias1973: __typename alias1974: __typename alias1975: __typename alias1976: __typename alias1977: __typename alias1978: __typename alias1979: __typename alias1980: __typename alias1981: __typename alias1982: __typename alias1983: __typename alias1984: __typename alias1985: __typename alias1986: __typename alias1987: __typename alias1988: __typename alias1989: __typename alias1990: __typename alias1991: __typename alias1992: __typename alias1993: __typename alias1994: __typename alias1995: __typename alias1996: __typename alias1997: __typename alias1998: __typename alias1999: __typename alias2000: __typename alias2001: __typename alias2002: __typename alias2003: __typename alias2004: __typename alias2005: __typename alias2006: __typename alias2007: __typename alias2008: __typename alias2009: __typename alias2010: __typename alias2011: __typename alias2012: __typename alias2013: __typename alias2014: __typename alias2015: __typename alias2016: __typename alias2017: __typename alias2018: __typename alias2019: __typename alias2020: __typename alias2021: __typename alias2022: __typename alias2023: __typename alias2024: __typename alias2025: __typename alias2026: __typename alias2027: __typename alias2028: __typename alias2029: __typename alias2030: __typename alias2031: __typename alias2032: __typename alias2033: __typename alias2034: __typename alias2035: __typename alias2036: __typename alias2037: __typename alias2038: __typename alias2039: __typename alias2040: __typename alias2041: __typename alias2042: __typename alias2043: __typename alias2044: __typename alias2045: __typename alias2046: __typename alias2047: __typename }"
- },
- {
- "type": "Compose",
- "selectionSetIds": [
- 0
- ]
- }
- ]
- }
-}
----------------
+```
-QueryPlan Hash
----------------
-01246D7DB5ECDD14497D332C955C9446F5E6929D
----------------
+## Result
-Result
----------------
+```json
{
"data": {
"alias0": "Query",
@@ -4134,10 +4110,41 @@ Result
"alias2047": "Query"
}
}
----------------
+```
-Fusion Graph
----------------
+## QueryPlan
+
+```json
+{
+ "document": "query queryalias { alias0: __typename alias1: __typename alias2: __typename alias3: __typename alias4: __typename alias5: __typename alias6: __typename alias7: __typename alias8: __typename alias9: __typename alias10: __typename alias11: __typename alias12: __typename alias13: __typename alias14: __typename alias15: __typename alias16: __typename alias17: __typename alias18: __typename alias19: __typename alias20: __typename alias21: __typename alias22: __typename alias23: __typename alias24: __typename alias25: __typename alias26: __typename alias27: __typename alias28: __typename alias29: __typename alias30: __typename alias31: __typename alias32: __typename alias33: __typename alias34: __typename alias35: __typename alias36: __typename alias37: __typename alias38: __typename alias39: __typename alias40: __typename alias41: __typename alias42: __typename alias43: __typename alias44: __typename alias45: __typename alias46: __typename alias47: __typename alias48: __typename alias49: __typename alias50: __typename alias51: __typename alias52: __typename alias53: __typename alias54: __typename alias55: __typename alias56: __typename alias57: __typename alias58: __typename alias59: __typename alias60: __typename alias61: __typename alias62: __typename alias63: __typename alias64: __typename alias65: __typename alias66: __typename alias67: __typename alias68: __typename alias69: __typename alias70: __typename alias71: __typename alias72: __typename alias73: __typename alias74: __typename alias75: __typename alias76: __typename alias77: __typename alias78: __typename alias79: __typename alias80: __typename alias81: __typename alias82: __typename alias83: __typename alias84: __typename alias85: __typename alias86: __typename alias87: __typename alias88: __typename alias89: __typename alias90: __typename alias91: __typename alias92: __typename alias93: __typename alias94: __typename alias95: __typename alias96: __typename alias97: __typename alias98: __typename alias99: __typename alias100: __typename alias101: __typename alias102: __typename alias103: __typename alias104: __typename alias105: __typename alias106: __typename alias107: __typename alias108: __typename alias109: __typename alias110: __typename alias111: __typename alias112: __typename alias113: __typename alias114: __typename alias115: __typename alias116: __typename alias117: __typename alias118: __typename alias119: __typename alias120: __typename alias121: __typename alias122: __typename alias123: __typename alias124: __typename alias125: __typename alias126: __typename alias127: __typename alias128: __typename alias129: __typename alias130: __typename alias131: __typename alias132: __typename alias133: __typename alias134: __typename alias135: __typename alias136: __typename alias137: __typename alias138: __typename alias139: __typename alias140: __typename alias141: __typename alias142: __typename alias143: __typename alias144: __typename alias145: __typename alias146: __typename alias147: __typename alias148: __typename alias149: __typename alias150: __typename alias151: __typename alias152: __typename alias153: __typename alias154: __typename alias155: __typename alias156: __typename alias157: __typename alias158: __typename alias159: __typename alias160: __typename alias161: __typename alias162: __typename alias163: __typename alias164: __typename alias165: __typename alias166: __typename alias167: __typename alias168: __typename alias169: __typename alias170: __typename alias171: __typename alias172: __typename alias173: __typename alias174: __typename alias175: __typename alias176: __typename alias177: __typename alias178: __typename alias179: __typename alias180: __typename alias181: __typename alias182: __typename alias183: __typename alias184: __typename alias185: __typename alias186: __typename alias187: __typename alias188: __typename alias189: __typename alias190: __typename alias191: __typename alias192: __typename alias193: __typename alias194: __typename alias195: __typename alias196: __typename alias197: __typename alias198: __typename alias199: __typename alias200: __typename alias201: __typename alias202: __typename alias203: __typename alias204: __typename alias205: __typename alias206: __typename alias207: __typename alias208: __typename alias209: __typename alias210: __typename alias211: __typename alias212: __typename alias213: __typename alias214: __typename alias215: __typename alias216: __typename alias217: __typename alias218: __typename alias219: __typename alias220: __typename alias221: __typename alias222: __typename alias223: __typename alias224: __typename alias225: __typename alias226: __typename alias227: __typename alias228: __typename alias229: __typename alias230: __typename alias231: __typename alias232: __typename alias233: __typename alias234: __typename alias235: __typename alias236: __typename alias237: __typename alias238: __typename alias239: __typename alias240: __typename alias241: __typename alias242: __typename alias243: __typename alias244: __typename alias245: __typename alias246: __typename alias247: __typename alias248: __typename alias249: __typename alias250: __typename alias251: __typename alias252: __typename alias253: __typename alias254: __typename alias255: __typename alias256: __typename alias257: __typename alias258: __typename alias259: __typename alias260: __typename alias261: __typename alias262: __typename alias263: __typename alias264: __typename alias265: __typename alias266: __typename alias267: __typename alias268: __typename alias269: __typename alias270: __typename alias271: __typename alias272: __typename alias273: __typename alias274: __typename alias275: __typename alias276: __typename alias277: __typename alias278: __typename alias279: __typename alias280: __typename alias281: __typename alias282: __typename alias283: __typename alias284: __typename alias285: __typename alias286: __typename alias287: __typename alias288: __typename alias289: __typename alias290: __typename alias291: __typename alias292: __typename alias293: __typename alias294: __typename alias295: __typename alias296: __typename alias297: __typename alias298: __typename alias299: __typename alias300: __typename alias301: __typename alias302: __typename alias303: __typename alias304: __typename alias305: __typename alias306: __typename alias307: __typename alias308: __typename alias309: __typename alias310: __typename alias311: __typename alias312: __typename alias313: __typename alias314: __typename alias315: __typename alias316: __typename alias317: __typename alias318: __typename alias319: __typename alias320: __typename alias321: __typename alias322: __typename alias323: __typename alias324: __typename alias325: __typename alias326: __typename alias327: __typename alias328: __typename alias329: __typename alias330: __typename alias331: __typename alias332: __typename alias333: __typename alias334: __typename alias335: __typename alias336: __typename alias337: __typename alias338: __typename alias339: __typename alias340: __typename alias341: __typename alias342: __typename alias343: __typename alias344: __typename alias345: __typename alias346: __typename alias347: __typename alias348: __typename alias349: __typename alias350: __typename alias351: __typename alias352: __typename alias353: __typename alias354: __typename alias355: __typename alias356: __typename alias357: __typename alias358: __typename alias359: __typename alias360: __typename alias361: __typename alias362: __typename alias363: __typename alias364: __typename alias365: __typename alias366: __typename alias367: __typename alias368: __typename alias369: __typename alias370: __typename alias371: __typename alias372: __typename alias373: __typename alias374: __typename alias375: __typename alias376: __typename alias377: __typename alias378: __typename alias379: __typename alias380: __typename alias381: __typename alias382: __typename alias383: __typename alias384: __typename alias385: __typename alias386: __typename alias387: __typename alias388: __typename alias389: __typename alias390: __typename alias391: __typename alias392: __typename alias393: __typename alias394: __typename alias395: __typename alias396: __typename alias397: __typename alias398: __typename alias399: __typename alias400: __typename alias401: __typename alias402: __typename alias403: __typename alias404: __typename alias405: __typename alias406: __typename alias407: __typename alias408: __typename alias409: __typename alias410: __typename alias411: __typename alias412: __typename alias413: __typename alias414: __typename alias415: __typename alias416: __typename alias417: __typename alias418: __typename alias419: __typename alias420: __typename alias421: __typename alias422: __typename alias423: __typename alias424: __typename alias425: __typename alias426: __typename alias427: __typename alias428: __typename alias429: __typename alias430: __typename alias431: __typename alias432: __typename alias433: __typename alias434: __typename alias435: __typename alias436: __typename alias437: __typename alias438: __typename alias439: __typename alias440: __typename alias441: __typename alias442: __typename alias443: __typename alias444: __typename alias445: __typename alias446: __typename alias447: __typename alias448: __typename alias449: __typename alias450: __typename alias451: __typename alias452: __typename alias453: __typename alias454: __typename alias455: __typename alias456: __typename alias457: __typename alias458: __typename alias459: __typename alias460: __typename alias461: __typename alias462: __typename alias463: __typename alias464: __typename alias465: __typename alias466: __typename alias467: __typename alias468: __typename alias469: __typename alias470: __typename alias471: __typename alias472: __typename alias473: __typename alias474: __typename alias475: __typename alias476: __typename alias477: __typename alias478: __typename alias479: __typename alias480: __typename alias481: __typename alias482: __typename alias483: __typename alias484: __typename alias485: __typename alias486: __typename alias487: __typename alias488: __typename alias489: __typename alias490: __typename alias491: __typename alias492: __typename alias493: __typename alias494: __typename alias495: __typename alias496: __typename alias497: __typename alias498: __typename alias499: __typename alias500: __typename alias501: __typename alias502: __typename alias503: __typename alias504: __typename alias505: __typename alias506: __typename alias507: __typename alias508: __typename alias509: __typename alias510: __typename alias511: __typename alias512: __typename alias513: __typename alias514: __typename alias515: __typename alias516: __typename alias517: __typename alias518: __typename alias519: __typename alias520: __typename alias521: __typename alias522: __typename alias523: __typename alias524: __typename alias525: __typename alias526: __typename alias527: __typename alias528: __typename alias529: __typename alias530: __typename alias531: __typename alias532: __typename alias533: __typename alias534: __typename alias535: __typename alias536: __typename alias537: __typename alias538: __typename alias539: __typename alias540: __typename alias541: __typename alias542: __typename alias543: __typename alias544: __typename alias545: __typename alias546: __typename alias547: __typename alias548: __typename alias549: __typename alias550: __typename alias551: __typename alias552: __typename alias553: __typename alias554: __typename alias555: __typename alias556: __typename alias557: __typename alias558: __typename alias559: __typename alias560: __typename alias561: __typename alias562: __typename alias563: __typename alias564: __typename alias565: __typename alias566: __typename alias567: __typename alias568: __typename alias569: __typename alias570: __typename alias571: __typename alias572: __typename alias573: __typename alias574: __typename alias575: __typename alias576: __typename alias577: __typename alias578: __typename alias579: __typename alias580: __typename alias581: __typename alias582: __typename alias583: __typename alias584: __typename alias585: __typename alias586: __typename alias587: __typename alias588: __typename alias589: __typename alias590: __typename alias591: __typename alias592: __typename alias593: __typename alias594: __typename alias595: __typename alias596: __typename alias597: __typename alias598: __typename alias599: __typename alias600: __typename alias601: __typename alias602: __typename alias603: __typename alias604: __typename alias605: __typename alias606: __typename alias607: __typename alias608: __typename alias609: __typename alias610: __typename alias611: __typename alias612: __typename alias613: __typename alias614: __typename alias615: __typename alias616: __typename alias617: __typename alias618: __typename alias619: __typename alias620: __typename alias621: __typename alias622: __typename alias623: __typename alias624: __typename alias625: __typename alias626: __typename alias627: __typename alias628: __typename alias629: __typename alias630: __typename alias631: __typename alias632: __typename alias633: __typename alias634: __typename alias635: __typename alias636: __typename alias637: __typename alias638: __typename alias639: __typename alias640: __typename alias641: __typename alias642: __typename alias643: __typename alias644: __typename alias645: __typename alias646: __typename alias647: __typename alias648: __typename alias649: __typename alias650: __typename alias651: __typename alias652: __typename alias653: __typename alias654: __typename alias655: __typename alias656: __typename alias657: __typename alias658: __typename alias659: __typename alias660: __typename alias661: __typename alias662: __typename alias663: __typename alias664: __typename alias665: __typename alias666: __typename alias667: __typename alias668: __typename alias669: __typename alias670: __typename alias671: __typename alias672: __typename alias673: __typename alias674: __typename alias675: __typename alias676: __typename alias677: __typename alias678: __typename alias679: __typename alias680: __typename alias681: __typename alias682: __typename alias683: __typename alias684: __typename alias685: __typename alias686: __typename alias687: __typename alias688: __typename alias689: __typename alias690: __typename alias691: __typename alias692: __typename alias693: __typename alias694: __typename alias695: __typename alias696: __typename alias697: __typename alias698: __typename alias699: __typename alias700: __typename alias701: __typename alias702: __typename alias703: __typename alias704: __typename alias705: __typename alias706: __typename alias707: __typename alias708: __typename alias709: __typename alias710: __typename alias711: __typename alias712: __typename alias713: __typename alias714: __typename alias715: __typename alias716: __typename alias717: __typename alias718: __typename alias719: __typename alias720: __typename alias721: __typename alias722: __typename alias723: __typename alias724: __typename alias725: __typename alias726: __typename alias727: __typename alias728: __typename alias729: __typename alias730: __typename alias731: __typename alias732: __typename alias733: __typename alias734: __typename alias735: __typename alias736: __typename alias737: __typename alias738: __typename alias739: __typename alias740: __typename alias741: __typename alias742: __typename alias743: __typename alias744: __typename alias745: __typename alias746: __typename alias747: __typename alias748: __typename alias749: __typename alias750: __typename alias751: __typename alias752: __typename alias753: __typename alias754: __typename alias755: __typename alias756: __typename alias757: __typename alias758: __typename alias759: __typename alias760: __typename alias761: __typename alias762: __typename alias763: __typename alias764: __typename alias765: __typename alias766: __typename alias767: __typename alias768: __typename alias769: __typename alias770: __typename alias771: __typename alias772: __typename alias773: __typename alias774: __typename alias775: __typename alias776: __typename alias777: __typename alias778: __typename alias779: __typename alias780: __typename alias781: __typename alias782: __typename alias783: __typename alias784: __typename alias785: __typename alias786: __typename alias787: __typename alias788: __typename alias789: __typename alias790: __typename alias791: __typename alias792: __typename alias793: __typename alias794: __typename alias795: __typename alias796: __typename alias797: __typename alias798: __typename alias799: __typename alias800: __typename alias801: __typename alias802: __typename alias803: __typename alias804: __typename alias805: __typename alias806: __typename alias807: __typename alias808: __typename alias809: __typename alias810: __typename alias811: __typename alias812: __typename alias813: __typename alias814: __typename alias815: __typename alias816: __typename alias817: __typename alias818: __typename alias819: __typename alias820: __typename alias821: __typename alias822: __typename alias823: __typename alias824: __typename alias825: __typename alias826: __typename alias827: __typename alias828: __typename alias829: __typename alias830: __typename alias831: __typename alias832: __typename alias833: __typename alias834: __typename alias835: __typename alias836: __typename alias837: __typename alias838: __typename alias839: __typename alias840: __typename alias841: __typename alias842: __typename alias843: __typename alias844: __typename alias845: __typename alias846: __typename alias847: __typename alias848: __typename alias849: __typename alias850: __typename alias851: __typename alias852: __typename alias853: __typename alias854: __typename alias855: __typename alias856: __typename alias857: __typename alias858: __typename alias859: __typename alias860: __typename alias861: __typename alias862: __typename alias863: __typename alias864: __typename alias865: __typename alias866: __typename alias867: __typename alias868: __typename alias869: __typename alias870: __typename alias871: __typename alias872: __typename alias873: __typename alias874: __typename alias875: __typename alias876: __typename alias877: __typename alias878: __typename alias879: __typename alias880: __typename alias881: __typename alias882: __typename alias883: __typename alias884: __typename alias885: __typename alias886: __typename alias887: __typename alias888: __typename alias889: __typename alias890: __typename alias891: __typename alias892: __typename alias893: __typename alias894: __typename alias895: __typename alias896: __typename alias897: __typename alias898: __typename alias899: __typename alias900: __typename alias901: __typename alias902: __typename alias903: __typename alias904: __typename alias905: __typename alias906: __typename alias907: __typename alias908: __typename alias909: __typename alias910: __typename alias911: __typename alias912: __typename alias913: __typename alias914: __typename alias915: __typename alias916: __typename alias917: __typename alias918: __typename alias919: __typename alias920: __typename alias921: __typename alias922: __typename alias923: __typename alias924: __typename alias925: __typename alias926: __typename alias927: __typename alias928: __typename alias929: __typename alias930: __typename alias931: __typename alias932: __typename alias933: __typename alias934: __typename alias935: __typename alias936: __typename alias937: __typename alias938: __typename alias939: __typename alias940: __typename alias941: __typename alias942: __typename alias943: __typename alias944: __typename alias945: __typename alias946: __typename alias947: __typename alias948: __typename alias949: __typename alias950: __typename alias951: __typename alias952: __typename alias953: __typename alias954: __typename alias955: __typename alias956: __typename alias957: __typename alias958: __typename alias959: __typename alias960: __typename alias961: __typename alias962: __typename alias963: __typename alias964: __typename alias965: __typename alias966: __typename alias967: __typename alias968: __typename alias969: __typename alias970: __typename alias971: __typename alias972: __typename alias973: __typename alias974: __typename alias975: __typename alias976: __typename alias977: __typename alias978: __typename alias979: __typename alias980: __typename alias981: __typename alias982: __typename alias983: __typename alias984: __typename alias985: __typename alias986: __typename alias987: __typename alias988: __typename alias989: __typename alias990: __typename alias991: __typename alias992: __typename alias993: __typename alias994: __typename alias995: __typename alias996: __typename alias997: __typename alias998: __typename alias999: __typename alias1000: __typename alias1001: __typename alias1002: __typename alias1003: __typename alias1004: __typename alias1005: __typename alias1006: __typename alias1007: __typename alias1008: __typename alias1009: __typename alias1010: __typename alias1011: __typename alias1012: __typename alias1013: __typename alias1014: __typename alias1015: __typename alias1016: __typename alias1017: __typename alias1018: __typename alias1019: __typename alias1020: __typename alias1021: __typename alias1022: __typename alias1023: __typename alias1024: __typename alias1025: __typename alias1026: __typename alias1027: __typename alias1028: __typename alias1029: __typename alias1030: __typename alias1031: __typename alias1032: __typename alias1033: __typename alias1034: __typename alias1035: __typename alias1036: __typename alias1037: __typename alias1038: __typename alias1039: __typename alias1040: __typename alias1041: __typename alias1042: __typename alias1043: __typename alias1044: __typename alias1045: __typename alias1046: __typename alias1047: __typename alias1048: __typename alias1049: __typename alias1050: __typename alias1051: __typename alias1052: __typename alias1053: __typename alias1054: __typename alias1055: __typename alias1056: __typename alias1057: __typename alias1058: __typename alias1059: __typename alias1060: __typename alias1061: __typename alias1062: __typename alias1063: __typename alias1064: __typename alias1065: __typename alias1066: __typename alias1067: __typename alias1068: __typename alias1069: __typename alias1070: __typename alias1071: __typename alias1072: __typename alias1073: __typename alias1074: __typename alias1075: __typename alias1076: __typename alias1077: __typename alias1078: __typename alias1079: __typename alias1080: __typename alias1081: __typename alias1082: __typename alias1083: __typename alias1084: __typename alias1085: __typename alias1086: __typename alias1087: __typename alias1088: __typename alias1089: __typename alias1090: __typename alias1091: __typename alias1092: __typename alias1093: __typename alias1094: __typename alias1095: __typename alias1096: __typename alias1097: __typename alias1098: __typename alias1099: __typename alias1100: __typename alias1101: __typename alias1102: __typename alias1103: __typename alias1104: __typename alias1105: __typename alias1106: __typename alias1107: __typename alias1108: __typename alias1109: __typename alias1110: __typename alias1111: __typename alias1112: __typename alias1113: __typename alias1114: __typename alias1115: __typename alias1116: __typename alias1117: __typename alias1118: __typename alias1119: __typename alias1120: __typename alias1121: __typename alias1122: __typename alias1123: __typename alias1124: __typename alias1125: __typename alias1126: __typename alias1127: __typename alias1128: __typename alias1129: __typename alias1130: __typename alias1131: __typename alias1132: __typename alias1133: __typename alias1134: __typename alias1135: __typename alias1136: __typename alias1137: __typename alias1138: __typename alias1139: __typename alias1140: __typename alias1141: __typename alias1142: __typename alias1143: __typename alias1144: __typename alias1145: __typename alias1146: __typename alias1147: __typename alias1148: __typename alias1149: __typename alias1150: __typename alias1151: __typename alias1152: __typename alias1153: __typename alias1154: __typename alias1155: __typename alias1156: __typename alias1157: __typename alias1158: __typename alias1159: __typename alias1160: __typename alias1161: __typename alias1162: __typename alias1163: __typename alias1164: __typename alias1165: __typename alias1166: __typename alias1167: __typename alias1168: __typename alias1169: __typename alias1170: __typename alias1171: __typename alias1172: __typename alias1173: __typename alias1174: __typename alias1175: __typename alias1176: __typename alias1177: __typename alias1178: __typename alias1179: __typename alias1180: __typename alias1181: __typename alias1182: __typename alias1183: __typename alias1184: __typename alias1185: __typename alias1186: __typename alias1187: __typename alias1188: __typename alias1189: __typename alias1190: __typename alias1191: __typename alias1192: __typename alias1193: __typename alias1194: __typename alias1195: __typename alias1196: __typename alias1197: __typename alias1198: __typename alias1199: __typename alias1200: __typename alias1201: __typename alias1202: __typename alias1203: __typename alias1204: __typename alias1205: __typename alias1206: __typename alias1207: __typename alias1208: __typename alias1209: __typename alias1210: __typename alias1211: __typename alias1212: __typename alias1213: __typename alias1214: __typename alias1215: __typename alias1216: __typename alias1217: __typename alias1218: __typename alias1219: __typename alias1220: __typename alias1221: __typename alias1222: __typename alias1223: __typename alias1224: __typename alias1225: __typename alias1226: __typename alias1227: __typename alias1228: __typename alias1229: __typename alias1230: __typename alias1231: __typename alias1232: __typename alias1233: __typename alias1234: __typename alias1235: __typename alias1236: __typename alias1237: __typename alias1238: __typename alias1239: __typename alias1240: __typename alias1241: __typename alias1242: __typename alias1243: __typename alias1244: __typename alias1245: __typename alias1246: __typename alias1247: __typename alias1248: __typename alias1249: __typename alias1250: __typename alias1251: __typename alias1252: __typename alias1253: __typename alias1254: __typename alias1255: __typename alias1256: __typename alias1257: __typename alias1258: __typename alias1259: __typename alias1260: __typename alias1261: __typename alias1262: __typename alias1263: __typename alias1264: __typename alias1265: __typename alias1266: __typename alias1267: __typename alias1268: __typename alias1269: __typename alias1270: __typename alias1271: __typename alias1272: __typename alias1273: __typename alias1274: __typename alias1275: __typename alias1276: __typename alias1277: __typename alias1278: __typename alias1279: __typename alias1280: __typename alias1281: __typename alias1282: __typename alias1283: __typename alias1284: __typename alias1285: __typename alias1286: __typename alias1287: __typename alias1288: __typename alias1289: __typename alias1290: __typename alias1291: __typename alias1292: __typename alias1293: __typename alias1294: __typename alias1295: __typename alias1296: __typename alias1297: __typename alias1298: __typename alias1299: __typename alias1300: __typename alias1301: __typename alias1302: __typename alias1303: __typename alias1304: __typename alias1305: __typename alias1306: __typename alias1307: __typename alias1308: __typename alias1309: __typename alias1310: __typename alias1311: __typename alias1312: __typename alias1313: __typename alias1314: __typename alias1315: __typename alias1316: __typename alias1317: __typename alias1318: __typename alias1319: __typename alias1320: __typename alias1321: __typename alias1322: __typename alias1323: __typename alias1324: __typename alias1325: __typename alias1326: __typename alias1327: __typename alias1328: __typename alias1329: __typename alias1330: __typename alias1331: __typename alias1332: __typename alias1333: __typename alias1334: __typename alias1335: __typename alias1336: __typename alias1337: __typename alias1338: __typename alias1339: __typename alias1340: __typename alias1341: __typename alias1342: __typename alias1343: __typename alias1344: __typename alias1345: __typename alias1346: __typename alias1347: __typename alias1348: __typename alias1349: __typename alias1350: __typename alias1351: __typename alias1352: __typename alias1353: __typename alias1354: __typename alias1355: __typename alias1356: __typename alias1357: __typename alias1358: __typename alias1359: __typename alias1360: __typename alias1361: __typename alias1362: __typename alias1363: __typename alias1364: __typename alias1365: __typename alias1366: __typename alias1367: __typename alias1368: __typename alias1369: __typename alias1370: __typename alias1371: __typename alias1372: __typename alias1373: __typename alias1374: __typename alias1375: __typename alias1376: __typename alias1377: __typename alias1378: __typename alias1379: __typename alias1380: __typename alias1381: __typename alias1382: __typename alias1383: __typename alias1384: __typename alias1385: __typename alias1386: __typename alias1387: __typename alias1388: __typename alias1389: __typename alias1390: __typename alias1391: __typename alias1392: __typename alias1393: __typename alias1394: __typename alias1395: __typename alias1396: __typename alias1397: __typename alias1398: __typename alias1399: __typename alias1400: __typename alias1401: __typename alias1402: __typename alias1403: __typename alias1404: __typename alias1405: __typename alias1406: __typename alias1407: __typename alias1408: __typename alias1409: __typename alias1410: __typename alias1411: __typename alias1412: __typename alias1413: __typename alias1414: __typename alias1415: __typename alias1416: __typename alias1417: __typename alias1418: __typename alias1419: __typename alias1420: __typename alias1421: __typename alias1422: __typename alias1423: __typename alias1424: __typename alias1425: __typename alias1426: __typename alias1427: __typename alias1428: __typename alias1429: __typename alias1430: __typename alias1431: __typename alias1432: __typename alias1433: __typename alias1434: __typename alias1435: __typename alias1436: __typename alias1437: __typename alias1438: __typename alias1439: __typename alias1440: __typename alias1441: __typename alias1442: __typename alias1443: __typename alias1444: __typename alias1445: __typename alias1446: __typename alias1447: __typename alias1448: __typename alias1449: __typename alias1450: __typename alias1451: __typename alias1452: __typename alias1453: __typename alias1454: __typename alias1455: __typename alias1456: __typename alias1457: __typename alias1458: __typename alias1459: __typename alias1460: __typename alias1461: __typename alias1462: __typename alias1463: __typename alias1464: __typename alias1465: __typename alias1466: __typename alias1467: __typename alias1468: __typename alias1469: __typename alias1470: __typename alias1471: __typename alias1472: __typename alias1473: __typename alias1474: __typename alias1475: __typename alias1476: __typename alias1477: __typename alias1478: __typename alias1479: __typename alias1480: __typename alias1481: __typename alias1482: __typename alias1483: __typename alias1484: __typename alias1485: __typename alias1486: __typename alias1487: __typename alias1488: __typename alias1489: __typename alias1490: __typename alias1491: __typename alias1492: __typename alias1493: __typename alias1494: __typename alias1495: __typename alias1496: __typename alias1497: __typename alias1498: __typename alias1499: __typename alias1500: __typename alias1501: __typename alias1502: __typename alias1503: __typename alias1504: __typename alias1505: __typename alias1506: __typename alias1507: __typename alias1508: __typename alias1509: __typename alias1510: __typename alias1511: __typename alias1512: __typename alias1513: __typename alias1514: __typename alias1515: __typename alias1516: __typename alias1517: __typename alias1518: __typename alias1519: __typename alias1520: __typename alias1521: __typename alias1522: __typename alias1523: __typename alias1524: __typename alias1525: __typename alias1526: __typename alias1527: __typename alias1528: __typename alias1529: __typename alias1530: __typename alias1531: __typename alias1532: __typename alias1533: __typename alias1534: __typename alias1535: __typename alias1536: __typename alias1537: __typename alias1538: __typename alias1539: __typename alias1540: __typename alias1541: __typename alias1542: __typename alias1543: __typename alias1544: __typename alias1545: __typename alias1546: __typename alias1547: __typename alias1548: __typename alias1549: __typename alias1550: __typename alias1551: __typename alias1552: __typename alias1553: __typename alias1554: __typename alias1555: __typename alias1556: __typename alias1557: __typename alias1558: __typename alias1559: __typename alias1560: __typename alias1561: __typename alias1562: __typename alias1563: __typename alias1564: __typename alias1565: __typename alias1566: __typename alias1567: __typename alias1568: __typename alias1569: __typename alias1570: __typename alias1571: __typename alias1572: __typename alias1573: __typename alias1574: __typename alias1575: __typename alias1576: __typename alias1577: __typename alias1578: __typename alias1579: __typename alias1580: __typename alias1581: __typename alias1582: __typename alias1583: __typename alias1584: __typename alias1585: __typename alias1586: __typename alias1587: __typename alias1588: __typename alias1589: __typename alias1590: __typename alias1591: __typename alias1592: __typename alias1593: __typename alias1594: __typename alias1595: __typename alias1596: __typename alias1597: __typename alias1598: __typename alias1599: __typename alias1600: __typename alias1601: __typename alias1602: __typename alias1603: __typename alias1604: __typename alias1605: __typename alias1606: __typename alias1607: __typename alias1608: __typename alias1609: __typename alias1610: __typename alias1611: __typename alias1612: __typename alias1613: __typename alias1614: __typename alias1615: __typename alias1616: __typename alias1617: __typename alias1618: __typename alias1619: __typename alias1620: __typename alias1621: __typename alias1622: __typename alias1623: __typename alias1624: __typename alias1625: __typename alias1626: __typename alias1627: __typename alias1628: __typename alias1629: __typename alias1630: __typename alias1631: __typename alias1632: __typename alias1633: __typename alias1634: __typename alias1635: __typename alias1636: __typename alias1637: __typename alias1638: __typename alias1639: __typename alias1640: __typename alias1641: __typename alias1642: __typename alias1643: __typename alias1644: __typename alias1645: __typename alias1646: __typename alias1647: __typename alias1648: __typename alias1649: __typename alias1650: __typename alias1651: __typename alias1652: __typename alias1653: __typename alias1654: __typename alias1655: __typename alias1656: __typename alias1657: __typename alias1658: __typename alias1659: __typename alias1660: __typename alias1661: __typename alias1662: __typename alias1663: __typename alias1664: __typename alias1665: __typename alias1666: __typename alias1667: __typename alias1668: __typename alias1669: __typename alias1670: __typename alias1671: __typename alias1672: __typename alias1673: __typename alias1674: __typename alias1675: __typename alias1676: __typename alias1677: __typename alias1678: __typename alias1679: __typename alias1680: __typename alias1681: __typename alias1682: __typename alias1683: __typename alias1684: __typename alias1685: __typename alias1686: __typename alias1687: __typename alias1688: __typename alias1689: __typename alias1690: __typename alias1691: __typename alias1692: __typename alias1693: __typename alias1694: __typename alias1695: __typename alias1696: __typename alias1697: __typename alias1698: __typename alias1699: __typename alias1700: __typename alias1701: __typename alias1702: __typename alias1703: __typename alias1704: __typename alias1705: __typename alias1706: __typename alias1707: __typename alias1708: __typename alias1709: __typename alias1710: __typename alias1711: __typename alias1712: __typename alias1713: __typename alias1714: __typename alias1715: __typename alias1716: __typename alias1717: __typename alias1718: __typename alias1719: __typename alias1720: __typename alias1721: __typename alias1722: __typename alias1723: __typename alias1724: __typename alias1725: __typename alias1726: __typename alias1727: __typename alias1728: __typename alias1729: __typename alias1730: __typename alias1731: __typename alias1732: __typename alias1733: __typename alias1734: __typename alias1735: __typename alias1736: __typename alias1737: __typename alias1738: __typename alias1739: __typename alias1740: __typename alias1741: __typename alias1742: __typename alias1743: __typename alias1744: __typename alias1745: __typename alias1746: __typename alias1747: __typename alias1748: __typename alias1749: __typename alias1750: __typename alias1751: __typename alias1752: __typename alias1753: __typename alias1754: __typename alias1755: __typename alias1756: __typename alias1757: __typename alias1758: __typename alias1759: __typename alias1760: __typename alias1761: __typename alias1762: __typename alias1763: __typename alias1764: __typename alias1765: __typename alias1766: __typename alias1767: __typename alias1768: __typename alias1769: __typename alias1770: __typename alias1771: __typename alias1772: __typename alias1773: __typename alias1774: __typename alias1775: __typename alias1776: __typename alias1777: __typename alias1778: __typename alias1779: __typename alias1780: __typename alias1781: __typename alias1782: __typename alias1783: __typename alias1784: __typename alias1785: __typename alias1786: __typename alias1787: __typename alias1788: __typename alias1789: __typename alias1790: __typename alias1791: __typename alias1792: __typename alias1793: __typename alias1794: __typename alias1795: __typename alias1796: __typename alias1797: __typename alias1798: __typename alias1799: __typename alias1800: __typename alias1801: __typename alias1802: __typename alias1803: __typename alias1804: __typename alias1805: __typename alias1806: __typename alias1807: __typename alias1808: __typename alias1809: __typename alias1810: __typename alias1811: __typename alias1812: __typename alias1813: __typename alias1814: __typename alias1815: __typename alias1816: __typename alias1817: __typename alias1818: __typename alias1819: __typename alias1820: __typename alias1821: __typename alias1822: __typename alias1823: __typename alias1824: __typename alias1825: __typename alias1826: __typename alias1827: __typename alias1828: __typename alias1829: __typename alias1830: __typename alias1831: __typename alias1832: __typename alias1833: __typename alias1834: __typename alias1835: __typename alias1836: __typename alias1837: __typename alias1838: __typename alias1839: __typename alias1840: __typename alias1841: __typename alias1842: __typename alias1843: __typename alias1844: __typename alias1845: __typename alias1846: __typename alias1847: __typename alias1848: __typename alias1849: __typename alias1850: __typename alias1851: __typename alias1852: __typename alias1853: __typename alias1854: __typename alias1855: __typename alias1856: __typename alias1857: __typename alias1858: __typename alias1859: __typename alias1860: __typename alias1861: __typename alias1862: __typename alias1863: __typename alias1864: __typename alias1865: __typename alias1866: __typename alias1867: __typename alias1868: __typename alias1869: __typename alias1870: __typename alias1871: __typename alias1872: __typename alias1873: __typename alias1874: __typename alias1875: __typename alias1876: __typename alias1877: __typename alias1878: __typename alias1879: __typename alias1880: __typename alias1881: __typename alias1882: __typename alias1883: __typename alias1884: __typename alias1885: __typename alias1886: __typename alias1887: __typename alias1888: __typename alias1889: __typename alias1890: __typename alias1891: __typename alias1892: __typename alias1893: __typename alias1894: __typename alias1895: __typename alias1896: __typename alias1897: __typename alias1898: __typename alias1899: __typename alias1900: __typename alias1901: __typename alias1902: __typename alias1903: __typename alias1904: __typename alias1905: __typename alias1906: __typename alias1907: __typename alias1908: __typename alias1909: __typename alias1910: __typename alias1911: __typename alias1912: __typename alias1913: __typename alias1914: __typename alias1915: __typename alias1916: __typename alias1917: __typename alias1918: __typename alias1919: __typename alias1920: __typename alias1921: __typename alias1922: __typename alias1923: __typename alias1924: __typename alias1925: __typename alias1926: __typename alias1927: __typename alias1928: __typename alias1929: __typename alias1930: __typename alias1931: __typename alias1932: __typename alias1933: __typename alias1934: __typename alias1935: __typename alias1936: __typename alias1937: __typename alias1938: __typename alias1939: __typename alias1940: __typename alias1941: __typename alias1942: __typename alias1943: __typename alias1944: __typename alias1945: __typename alias1946: __typename alias1947: __typename alias1948: __typename alias1949: __typename alias1950: __typename alias1951: __typename alias1952: __typename alias1953: __typename alias1954: __typename alias1955: __typename alias1956: __typename alias1957: __typename alias1958: __typename alias1959: __typename alias1960: __typename alias1961: __typename alias1962: __typename alias1963: __typename alias1964: __typename alias1965: __typename alias1966: __typename alias1967: __typename alias1968: __typename alias1969: __typename alias1970: __typename alias1971: __typename alias1972: __typename alias1973: __typename alias1974: __typename alias1975: __typename alias1976: __typename alias1977: __typename alias1978: __typename alias1979: __typename alias1980: __typename alias1981: __typename alias1982: __typename alias1983: __typename alias1984: __typename alias1985: __typename alias1986: __typename alias1987: __typename alias1988: __typename alias1989: __typename alias1990: __typename alias1991: __typename alias1992: __typename alias1993: __typename alias1994: __typename alias1995: __typename alias1996: __typename alias1997: __typename alias1998: __typename alias1999: __typename alias2000: __typename alias2001: __typename alias2002: __typename alias2003: __typename alias2004: __typename alias2005: __typename alias2006: __typename alias2007: __typename alias2008: __typename alias2009: __typename alias2010: __typename alias2011: __typename alias2012: __typename alias2013: __typename alias2014: __typename alias2015: __typename alias2016: __typename alias2017: __typename alias2018: __typename alias2019: __typename alias2020: __typename alias2021: __typename alias2022: __typename alias2023: __typename alias2024: __typename alias2025: __typename alias2026: __typename alias2027: __typename alias2028: __typename alias2029: __typename alias2030: __typename alias2031: __typename alias2032: __typename alias2033: __typename alias2034: __typename alias2035: __typename alias2036: __typename alias2037: __typename alias2038: __typename alias2039: __typename alias2040: __typename alias2041: __typename alias2042: __typename alias2043: __typename alias2044: __typename alias2045: __typename alias2046: __typename alias2047: __typename }",
+ "operation": "queryalias",
+ "rootNode": {
+ "type": "Sequence",
+ "nodes": [
+ {
+ "type": "Introspect",
+ "document": "{ alias0: __typename alias1: __typename alias2: __typename alias3: __typename alias4: __typename alias5: __typename alias6: __typename alias7: __typename alias8: __typename alias9: __typename alias10: __typename alias11: __typename alias12: __typename alias13: __typename alias14: __typename alias15: __typename alias16: __typename alias17: __typename alias18: __typename alias19: __typename alias20: __typename alias21: __typename alias22: __typename alias23: __typename alias24: __typename alias25: __typename alias26: __typename alias27: __typename alias28: __typename alias29: __typename alias30: __typename alias31: __typename alias32: __typename alias33: __typename alias34: __typename alias35: __typename alias36: __typename alias37: __typename alias38: __typename alias39: __typename alias40: __typename alias41: __typename alias42: __typename alias43: __typename alias44: __typename alias45: __typename alias46: __typename alias47: __typename alias48: __typename alias49: __typename alias50: __typename alias51: __typename alias52: __typename alias53: __typename alias54: __typename alias55: __typename alias56: __typename alias57: __typename alias58: __typename alias59: __typename alias60: __typename alias61: __typename alias62: __typename alias63: __typename alias64: __typename alias65: __typename alias66: __typename alias67: __typename alias68: __typename alias69: __typename alias70: __typename alias71: __typename alias72: __typename alias73: __typename alias74: __typename alias75: __typename alias76: __typename alias77: __typename alias78: __typename alias79: __typename alias80: __typename alias81: __typename alias82: __typename alias83: __typename alias84: __typename alias85: __typename alias86: __typename alias87: __typename alias88: __typename alias89: __typename alias90: __typename alias91: __typename alias92: __typename alias93: __typename alias94: __typename alias95: __typename alias96: __typename alias97: __typename alias98: __typename alias99: __typename alias100: __typename alias101: __typename alias102: __typename alias103: __typename alias104: __typename alias105: __typename alias106: __typename alias107: __typename alias108: __typename alias109: __typename alias110: __typename alias111: __typename alias112: __typename alias113: __typename alias114: __typename alias115: __typename alias116: __typename alias117: __typename alias118: __typename alias119: __typename alias120: __typename alias121: __typename alias122: __typename alias123: __typename alias124: __typename alias125: __typename alias126: __typename alias127: __typename alias128: __typename alias129: __typename alias130: __typename alias131: __typename alias132: __typename alias133: __typename alias134: __typename alias135: __typename alias136: __typename alias137: __typename alias138: __typename alias139: __typename alias140: __typename alias141: __typename alias142: __typename alias143: __typename alias144: __typename alias145: __typename alias146: __typename alias147: __typename alias148: __typename alias149: __typename alias150: __typename alias151: __typename alias152: __typename alias153: __typename alias154: __typename alias155: __typename alias156: __typename alias157: __typename alias158: __typename alias159: __typename alias160: __typename alias161: __typename alias162: __typename alias163: __typename alias164: __typename alias165: __typename alias166: __typename alias167: __typename alias168: __typename alias169: __typename alias170: __typename alias171: __typename alias172: __typename alias173: __typename alias174: __typename alias175: __typename alias176: __typename alias177: __typename alias178: __typename alias179: __typename alias180: __typename alias181: __typename alias182: __typename alias183: __typename alias184: __typename alias185: __typename alias186: __typename alias187: __typename alias188: __typename alias189: __typename alias190: __typename alias191: __typename alias192: __typename alias193: __typename alias194: __typename alias195: __typename alias196: __typename alias197: __typename alias198: __typename alias199: __typename alias200: __typename alias201: __typename alias202: __typename alias203: __typename alias204: __typename alias205: __typename alias206: __typename alias207: __typename alias208: __typename alias209: __typename alias210: __typename alias211: __typename alias212: __typename alias213: __typename alias214: __typename alias215: __typename alias216: __typename alias217: __typename alias218: __typename alias219: __typename alias220: __typename alias221: __typename alias222: __typename alias223: __typename alias224: __typename alias225: __typename alias226: __typename alias227: __typename alias228: __typename alias229: __typename alias230: __typename alias231: __typename alias232: __typename alias233: __typename alias234: __typename alias235: __typename alias236: __typename alias237: __typename alias238: __typename alias239: __typename alias240: __typename alias241: __typename alias242: __typename alias243: __typename alias244: __typename alias245: __typename alias246: __typename alias247: __typename alias248: __typename alias249: __typename alias250: __typename alias251: __typename alias252: __typename alias253: __typename alias254: __typename alias255: __typename alias256: __typename alias257: __typename alias258: __typename alias259: __typename alias260: __typename alias261: __typename alias262: __typename alias263: __typename alias264: __typename alias265: __typename alias266: __typename alias267: __typename alias268: __typename alias269: __typename alias270: __typename alias271: __typename alias272: __typename alias273: __typename alias274: __typename alias275: __typename alias276: __typename alias277: __typename alias278: __typename alias279: __typename alias280: __typename alias281: __typename alias282: __typename alias283: __typename alias284: __typename alias285: __typename alias286: __typename alias287: __typename alias288: __typename alias289: __typename alias290: __typename alias291: __typename alias292: __typename alias293: __typename alias294: __typename alias295: __typename alias296: __typename alias297: __typename alias298: __typename alias299: __typename alias300: __typename alias301: __typename alias302: __typename alias303: __typename alias304: __typename alias305: __typename alias306: __typename alias307: __typename alias308: __typename alias309: __typename alias310: __typename alias311: __typename alias312: __typename alias313: __typename alias314: __typename alias315: __typename alias316: __typename alias317: __typename alias318: __typename alias319: __typename alias320: __typename alias321: __typename alias322: __typename alias323: __typename alias324: __typename alias325: __typename alias326: __typename alias327: __typename alias328: __typename alias329: __typename alias330: __typename alias331: __typename alias332: __typename alias333: __typename alias334: __typename alias335: __typename alias336: __typename alias337: __typename alias338: __typename alias339: __typename alias340: __typename alias341: __typename alias342: __typename alias343: __typename alias344: __typename alias345: __typename alias346: __typename alias347: __typename alias348: __typename alias349: __typename alias350: __typename alias351: __typename alias352: __typename alias353: __typename alias354: __typename alias355: __typename alias356: __typename alias357: __typename alias358: __typename alias359: __typename alias360: __typename alias361: __typename alias362: __typename alias363: __typename alias364: __typename alias365: __typename alias366: __typename alias367: __typename alias368: __typename alias369: __typename alias370: __typename alias371: __typename alias372: __typename alias373: __typename alias374: __typename alias375: __typename alias376: __typename alias377: __typename alias378: __typename alias379: __typename alias380: __typename alias381: __typename alias382: __typename alias383: __typename alias384: __typename alias385: __typename alias386: __typename alias387: __typename alias388: __typename alias389: __typename alias390: __typename alias391: __typename alias392: __typename alias393: __typename alias394: __typename alias395: __typename alias396: __typename alias397: __typename alias398: __typename alias399: __typename alias400: __typename alias401: __typename alias402: __typename alias403: __typename alias404: __typename alias405: __typename alias406: __typename alias407: __typename alias408: __typename alias409: __typename alias410: __typename alias411: __typename alias412: __typename alias413: __typename alias414: __typename alias415: __typename alias416: __typename alias417: __typename alias418: __typename alias419: __typename alias420: __typename alias421: __typename alias422: __typename alias423: __typename alias424: __typename alias425: __typename alias426: __typename alias427: __typename alias428: __typename alias429: __typename alias430: __typename alias431: __typename alias432: __typename alias433: __typename alias434: __typename alias435: __typename alias436: __typename alias437: __typename alias438: __typename alias439: __typename alias440: __typename alias441: __typename alias442: __typename alias443: __typename alias444: __typename alias445: __typename alias446: __typename alias447: __typename alias448: __typename alias449: __typename alias450: __typename alias451: __typename alias452: __typename alias453: __typename alias454: __typename alias455: __typename alias456: __typename alias457: __typename alias458: __typename alias459: __typename alias460: __typename alias461: __typename alias462: __typename alias463: __typename alias464: __typename alias465: __typename alias466: __typename alias467: __typename alias468: __typename alias469: __typename alias470: __typename alias471: __typename alias472: __typename alias473: __typename alias474: __typename alias475: __typename alias476: __typename alias477: __typename alias478: __typename alias479: __typename alias480: __typename alias481: __typename alias482: __typename alias483: __typename alias484: __typename alias485: __typename alias486: __typename alias487: __typename alias488: __typename alias489: __typename alias490: __typename alias491: __typename alias492: __typename alias493: __typename alias494: __typename alias495: __typename alias496: __typename alias497: __typename alias498: __typename alias499: __typename alias500: __typename alias501: __typename alias502: __typename alias503: __typename alias504: __typename alias505: __typename alias506: __typename alias507: __typename alias508: __typename alias509: __typename alias510: __typename alias511: __typename alias512: __typename alias513: __typename alias514: __typename alias515: __typename alias516: __typename alias517: __typename alias518: __typename alias519: __typename alias520: __typename alias521: __typename alias522: __typename alias523: __typename alias524: __typename alias525: __typename alias526: __typename alias527: __typename alias528: __typename alias529: __typename alias530: __typename alias531: __typename alias532: __typename alias533: __typename alias534: __typename alias535: __typename alias536: __typename alias537: __typename alias538: __typename alias539: __typename alias540: __typename alias541: __typename alias542: __typename alias543: __typename alias544: __typename alias545: __typename alias546: __typename alias547: __typename alias548: __typename alias549: __typename alias550: __typename alias551: __typename alias552: __typename alias553: __typename alias554: __typename alias555: __typename alias556: __typename alias557: __typename alias558: __typename alias559: __typename alias560: __typename alias561: __typename alias562: __typename alias563: __typename alias564: __typename alias565: __typename alias566: __typename alias567: __typename alias568: __typename alias569: __typename alias570: __typename alias571: __typename alias572: __typename alias573: __typename alias574: __typename alias575: __typename alias576: __typename alias577: __typename alias578: __typename alias579: __typename alias580: __typename alias581: __typename alias582: __typename alias583: __typename alias584: __typename alias585: __typename alias586: __typename alias587: __typename alias588: __typename alias589: __typename alias590: __typename alias591: __typename alias592: __typename alias593: __typename alias594: __typename alias595: __typename alias596: __typename alias597: __typename alias598: __typename alias599: __typename alias600: __typename alias601: __typename alias602: __typename alias603: __typename alias604: __typename alias605: __typename alias606: __typename alias607: __typename alias608: __typename alias609: __typename alias610: __typename alias611: __typename alias612: __typename alias613: __typename alias614: __typename alias615: __typename alias616: __typename alias617: __typename alias618: __typename alias619: __typename alias620: __typename alias621: __typename alias622: __typename alias623: __typename alias624: __typename alias625: __typename alias626: __typename alias627: __typename alias628: __typename alias629: __typename alias630: __typename alias631: __typename alias632: __typename alias633: __typename alias634: __typename alias635: __typename alias636: __typename alias637: __typename alias638: __typename alias639: __typename alias640: __typename alias641: __typename alias642: __typename alias643: __typename alias644: __typename alias645: __typename alias646: __typename alias647: __typename alias648: __typename alias649: __typename alias650: __typename alias651: __typename alias652: __typename alias653: __typename alias654: __typename alias655: __typename alias656: __typename alias657: __typename alias658: __typename alias659: __typename alias660: __typename alias661: __typename alias662: __typename alias663: __typename alias664: __typename alias665: __typename alias666: __typename alias667: __typename alias668: __typename alias669: __typename alias670: __typename alias671: __typename alias672: __typename alias673: __typename alias674: __typename alias675: __typename alias676: __typename alias677: __typename alias678: __typename alias679: __typename alias680: __typename alias681: __typename alias682: __typename alias683: __typename alias684: __typename alias685: __typename alias686: __typename alias687: __typename alias688: __typename alias689: __typename alias690: __typename alias691: __typename alias692: __typename alias693: __typename alias694: __typename alias695: __typename alias696: __typename alias697: __typename alias698: __typename alias699: __typename alias700: __typename alias701: __typename alias702: __typename alias703: __typename alias704: __typename alias705: __typename alias706: __typename alias707: __typename alias708: __typename alias709: __typename alias710: __typename alias711: __typename alias712: __typename alias713: __typename alias714: __typename alias715: __typename alias716: __typename alias717: __typename alias718: __typename alias719: __typename alias720: __typename alias721: __typename alias722: __typename alias723: __typename alias724: __typename alias725: __typename alias726: __typename alias727: __typename alias728: __typename alias729: __typename alias730: __typename alias731: __typename alias732: __typename alias733: __typename alias734: __typename alias735: __typename alias736: __typename alias737: __typename alias738: __typename alias739: __typename alias740: __typename alias741: __typename alias742: __typename alias743: __typename alias744: __typename alias745: __typename alias746: __typename alias747: __typename alias748: __typename alias749: __typename alias750: __typename alias751: __typename alias752: __typename alias753: __typename alias754: __typename alias755: __typename alias756: __typename alias757: __typename alias758: __typename alias759: __typename alias760: __typename alias761: __typename alias762: __typename alias763: __typename alias764: __typename alias765: __typename alias766: __typename alias767: __typename alias768: __typename alias769: __typename alias770: __typename alias771: __typename alias772: __typename alias773: __typename alias774: __typename alias775: __typename alias776: __typename alias777: __typename alias778: __typename alias779: __typename alias780: __typename alias781: __typename alias782: __typename alias783: __typename alias784: __typename alias785: __typename alias786: __typename alias787: __typename alias788: __typename alias789: __typename alias790: __typename alias791: __typename alias792: __typename alias793: __typename alias794: __typename alias795: __typename alias796: __typename alias797: __typename alias798: __typename alias799: __typename alias800: __typename alias801: __typename alias802: __typename alias803: __typename alias804: __typename alias805: __typename alias806: __typename alias807: __typename alias808: __typename alias809: __typename alias810: __typename alias811: __typename alias812: __typename alias813: __typename alias814: __typename alias815: __typename alias816: __typename alias817: __typename alias818: __typename alias819: __typename alias820: __typename alias821: __typename alias822: __typename alias823: __typename alias824: __typename alias825: __typename alias826: __typename alias827: __typename alias828: __typename alias829: __typename alias830: __typename alias831: __typename alias832: __typename alias833: __typename alias834: __typename alias835: __typename alias836: __typename alias837: __typename alias838: __typename alias839: __typename alias840: __typename alias841: __typename alias842: __typename alias843: __typename alias844: __typename alias845: __typename alias846: __typename alias847: __typename alias848: __typename alias849: __typename alias850: __typename alias851: __typename alias852: __typename alias853: __typename alias854: __typename alias855: __typename alias856: __typename alias857: __typename alias858: __typename alias859: __typename alias860: __typename alias861: __typename alias862: __typename alias863: __typename alias864: __typename alias865: __typename alias866: __typename alias867: __typename alias868: __typename alias869: __typename alias870: __typename alias871: __typename alias872: __typename alias873: __typename alias874: __typename alias875: __typename alias876: __typename alias877: __typename alias878: __typename alias879: __typename alias880: __typename alias881: __typename alias882: __typename alias883: __typename alias884: __typename alias885: __typename alias886: __typename alias887: __typename alias888: __typename alias889: __typename alias890: __typename alias891: __typename alias892: __typename alias893: __typename alias894: __typename alias895: __typename alias896: __typename alias897: __typename alias898: __typename alias899: __typename alias900: __typename alias901: __typename alias902: __typename alias903: __typename alias904: __typename alias905: __typename alias906: __typename alias907: __typename alias908: __typename alias909: __typename alias910: __typename alias911: __typename alias912: __typename alias913: __typename alias914: __typename alias915: __typename alias916: __typename alias917: __typename alias918: __typename alias919: __typename alias920: __typename alias921: __typename alias922: __typename alias923: __typename alias924: __typename alias925: __typename alias926: __typename alias927: __typename alias928: __typename alias929: __typename alias930: __typename alias931: __typename alias932: __typename alias933: __typename alias934: __typename alias935: __typename alias936: __typename alias937: __typename alias938: __typename alias939: __typename alias940: __typename alias941: __typename alias942: __typename alias943: __typename alias944: __typename alias945: __typename alias946: __typename alias947: __typename alias948: __typename alias949: __typename alias950: __typename alias951: __typename alias952: __typename alias953: __typename alias954: __typename alias955: __typename alias956: __typename alias957: __typename alias958: __typename alias959: __typename alias960: __typename alias961: __typename alias962: __typename alias963: __typename alias964: __typename alias965: __typename alias966: __typename alias967: __typename alias968: __typename alias969: __typename alias970: __typename alias971: __typename alias972: __typename alias973: __typename alias974: __typename alias975: __typename alias976: __typename alias977: __typename alias978: __typename alias979: __typename alias980: __typename alias981: __typename alias982: __typename alias983: __typename alias984: __typename alias985: __typename alias986: __typename alias987: __typename alias988: __typename alias989: __typename alias990: __typename alias991: __typename alias992: __typename alias993: __typename alias994: __typename alias995: __typename alias996: __typename alias997: __typename alias998: __typename alias999: __typename alias1000: __typename alias1001: __typename alias1002: __typename alias1003: __typename alias1004: __typename alias1005: __typename alias1006: __typename alias1007: __typename alias1008: __typename alias1009: __typename alias1010: __typename alias1011: __typename alias1012: __typename alias1013: __typename alias1014: __typename alias1015: __typename alias1016: __typename alias1017: __typename alias1018: __typename alias1019: __typename alias1020: __typename alias1021: __typename alias1022: __typename alias1023: __typename alias1024: __typename alias1025: __typename alias1026: __typename alias1027: __typename alias1028: __typename alias1029: __typename alias1030: __typename alias1031: __typename alias1032: __typename alias1033: __typename alias1034: __typename alias1035: __typename alias1036: __typename alias1037: __typename alias1038: __typename alias1039: __typename alias1040: __typename alias1041: __typename alias1042: __typename alias1043: __typename alias1044: __typename alias1045: __typename alias1046: __typename alias1047: __typename alias1048: __typename alias1049: __typename alias1050: __typename alias1051: __typename alias1052: __typename alias1053: __typename alias1054: __typename alias1055: __typename alias1056: __typename alias1057: __typename alias1058: __typename alias1059: __typename alias1060: __typename alias1061: __typename alias1062: __typename alias1063: __typename alias1064: __typename alias1065: __typename alias1066: __typename alias1067: __typename alias1068: __typename alias1069: __typename alias1070: __typename alias1071: __typename alias1072: __typename alias1073: __typename alias1074: __typename alias1075: __typename alias1076: __typename alias1077: __typename alias1078: __typename alias1079: __typename alias1080: __typename alias1081: __typename alias1082: __typename alias1083: __typename alias1084: __typename alias1085: __typename alias1086: __typename alias1087: __typename alias1088: __typename alias1089: __typename alias1090: __typename alias1091: __typename alias1092: __typename alias1093: __typename alias1094: __typename alias1095: __typename alias1096: __typename alias1097: __typename alias1098: __typename alias1099: __typename alias1100: __typename alias1101: __typename alias1102: __typename alias1103: __typename alias1104: __typename alias1105: __typename alias1106: __typename alias1107: __typename alias1108: __typename alias1109: __typename alias1110: __typename alias1111: __typename alias1112: __typename alias1113: __typename alias1114: __typename alias1115: __typename alias1116: __typename alias1117: __typename alias1118: __typename alias1119: __typename alias1120: __typename alias1121: __typename alias1122: __typename alias1123: __typename alias1124: __typename alias1125: __typename alias1126: __typename alias1127: __typename alias1128: __typename alias1129: __typename alias1130: __typename alias1131: __typename alias1132: __typename alias1133: __typename alias1134: __typename alias1135: __typename alias1136: __typename alias1137: __typename alias1138: __typename alias1139: __typename alias1140: __typename alias1141: __typename alias1142: __typename alias1143: __typename alias1144: __typename alias1145: __typename alias1146: __typename alias1147: __typename alias1148: __typename alias1149: __typename alias1150: __typename alias1151: __typename alias1152: __typename alias1153: __typename alias1154: __typename alias1155: __typename alias1156: __typename alias1157: __typename alias1158: __typename alias1159: __typename alias1160: __typename alias1161: __typename alias1162: __typename alias1163: __typename alias1164: __typename alias1165: __typename alias1166: __typename alias1167: __typename alias1168: __typename alias1169: __typename alias1170: __typename alias1171: __typename alias1172: __typename alias1173: __typename alias1174: __typename alias1175: __typename alias1176: __typename alias1177: __typename alias1178: __typename alias1179: __typename alias1180: __typename alias1181: __typename alias1182: __typename alias1183: __typename alias1184: __typename alias1185: __typename alias1186: __typename alias1187: __typename alias1188: __typename alias1189: __typename alias1190: __typename alias1191: __typename alias1192: __typename alias1193: __typename alias1194: __typename alias1195: __typename alias1196: __typename alias1197: __typename alias1198: __typename alias1199: __typename alias1200: __typename alias1201: __typename alias1202: __typename alias1203: __typename alias1204: __typename alias1205: __typename alias1206: __typename alias1207: __typename alias1208: __typename alias1209: __typename alias1210: __typename alias1211: __typename alias1212: __typename alias1213: __typename alias1214: __typename alias1215: __typename alias1216: __typename alias1217: __typename alias1218: __typename alias1219: __typename alias1220: __typename alias1221: __typename alias1222: __typename alias1223: __typename alias1224: __typename alias1225: __typename alias1226: __typename alias1227: __typename alias1228: __typename alias1229: __typename alias1230: __typename alias1231: __typename alias1232: __typename alias1233: __typename alias1234: __typename alias1235: __typename alias1236: __typename alias1237: __typename alias1238: __typename alias1239: __typename alias1240: __typename alias1241: __typename alias1242: __typename alias1243: __typename alias1244: __typename alias1245: __typename alias1246: __typename alias1247: __typename alias1248: __typename alias1249: __typename alias1250: __typename alias1251: __typename alias1252: __typename alias1253: __typename alias1254: __typename alias1255: __typename alias1256: __typename alias1257: __typename alias1258: __typename alias1259: __typename alias1260: __typename alias1261: __typename alias1262: __typename alias1263: __typename alias1264: __typename alias1265: __typename alias1266: __typename alias1267: __typename alias1268: __typename alias1269: __typename alias1270: __typename alias1271: __typename alias1272: __typename alias1273: __typename alias1274: __typename alias1275: __typename alias1276: __typename alias1277: __typename alias1278: __typename alias1279: __typename alias1280: __typename alias1281: __typename alias1282: __typename alias1283: __typename alias1284: __typename alias1285: __typename alias1286: __typename alias1287: __typename alias1288: __typename alias1289: __typename alias1290: __typename alias1291: __typename alias1292: __typename alias1293: __typename alias1294: __typename alias1295: __typename alias1296: __typename alias1297: __typename alias1298: __typename alias1299: __typename alias1300: __typename alias1301: __typename alias1302: __typename alias1303: __typename alias1304: __typename alias1305: __typename alias1306: __typename alias1307: __typename alias1308: __typename alias1309: __typename alias1310: __typename alias1311: __typename alias1312: __typename alias1313: __typename alias1314: __typename alias1315: __typename alias1316: __typename alias1317: __typename alias1318: __typename alias1319: __typename alias1320: __typename alias1321: __typename alias1322: __typename alias1323: __typename alias1324: __typename alias1325: __typename alias1326: __typename alias1327: __typename alias1328: __typename alias1329: __typename alias1330: __typename alias1331: __typename alias1332: __typename alias1333: __typename alias1334: __typename alias1335: __typename alias1336: __typename alias1337: __typename alias1338: __typename alias1339: __typename alias1340: __typename alias1341: __typename alias1342: __typename alias1343: __typename alias1344: __typename alias1345: __typename alias1346: __typename alias1347: __typename alias1348: __typename alias1349: __typename alias1350: __typename alias1351: __typename alias1352: __typename alias1353: __typename alias1354: __typename alias1355: __typename alias1356: __typename alias1357: __typename alias1358: __typename alias1359: __typename alias1360: __typename alias1361: __typename alias1362: __typename alias1363: __typename alias1364: __typename alias1365: __typename alias1366: __typename alias1367: __typename alias1368: __typename alias1369: __typename alias1370: __typename alias1371: __typename alias1372: __typename alias1373: __typename alias1374: __typename alias1375: __typename alias1376: __typename alias1377: __typename alias1378: __typename alias1379: __typename alias1380: __typename alias1381: __typename alias1382: __typename alias1383: __typename alias1384: __typename alias1385: __typename alias1386: __typename alias1387: __typename alias1388: __typename alias1389: __typename alias1390: __typename alias1391: __typename alias1392: __typename alias1393: __typename alias1394: __typename alias1395: __typename alias1396: __typename alias1397: __typename alias1398: __typename alias1399: __typename alias1400: __typename alias1401: __typename alias1402: __typename alias1403: __typename alias1404: __typename alias1405: __typename alias1406: __typename alias1407: __typename alias1408: __typename alias1409: __typename alias1410: __typename alias1411: __typename alias1412: __typename alias1413: __typename alias1414: __typename alias1415: __typename alias1416: __typename alias1417: __typename alias1418: __typename alias1419: __typename alias1420: __typename alias1421: __typename alias1422: __typename alias1423: __typename alias1424: __typename alias1425: __typename alias1426: __typename alias1427: __typename alias1428: __typename alias1429: __typename alias1430: __typename alias1431: __typename alias1432: __typename alias1433: __typename alias1434: __typename alias1435: __typename alias1436: __typename alias1437: __typename alias1438: __typename alias1439: __typename alias1440: __typename alias1441: __typename alias1442: __typename alias1443: __typename alias1444: __typename alias1445: __typename alias1446: __typename alias1447: __typename alias1448: __typename alias1449: __typename alias1450: __typename alias1451: __typename alias1452: __typename alias1453: __typename alias1454: __typename alias1455: __typename alias1456: __typename alias1457: __typename alias1458: __typename alias1459: __typename alias1460: __typename alias1461: __typename alias1462: __typename alias1463: __typename alias1464: __typename alias1465: __typename alias1466: __typename alias1467: __typename alias1468: __typename alias1469: __typename alias1470: __typename alias1471: __typename alias1472: __typename alias1473: __typename alias1474: __typename alias1475: __typename alias1476: __typename alias1477: __typename alias1478: __typename alias1479: __typename alias1480: __typename alias1481: __typename alias1482: __typename alias1483: __typename alias1484: __typename alias1485: __typename alias1486: __typename alias1487: __typename alias1488: __typename alias1489: __typename alias1490: __typename alias1491: __typename alias1492: __typename alias1493: __typename alias1494: __typename alias1495: __typename alias1496: __typename alias1497: __typename alias1498: __typename alias1499: __typename alias1500: __typename alias1501: __typename alias1502: __typename alias1503: __typename alias1504: __typename alias1505: __typename alias1506: __typename alias1507: __typename alias1508: __typename alias1509: __typename alias1510: __typename alias1511: __typename alias1512: __typename alias1513: __typename alias1514: __typename alias1515: __typename alias1516: __typename alias1517: __typename alias1518: __typename alias1519: __typename alias1520: __typename alias1521: __typename alias1522: __typename alias1523: __typename alias1524: __typename alias1525: __typename alias1526: __typename alias1527: __typename alias1528: __typename alias1529: __typename alias1530: __typename alias1531: __typename alias1532: __typename alias1533: __typename alias1534: __typename alias1535: __typename alias1536: __typename alias1537: __typename alias1538: __typename alias1539: __typename alias1540: __typename alias1541: __typename alias1542: __typename alias1543: __typename alias1544: __typename alias1545: __typename alias1546: __typename alias1547: __typename alias1548: __typename alias1549: __typename alias1550: __typename alias1551: __typename alias1552: __typename alias1553: __typename alias1554: __typename alias1555: __typename alias1556: __typename alias1557: __typename alias1558: __typename alias1559: __typename alias1560: __typename alias1561: __typename alias1562: __typename alias1563: __typename alias1564: __typename alias1565: __typename alias1566: __typename alias1567: __typename alias1568: __typename alias1569: __typename alias1570: __typename alias1571: __typename alias1572: __typename alias1573: __typename alias1574: __typename alias1575: __typename alias1576: __typename alias1577: __typename alias1578: __typename alias1579: __typename alias1580: __typename alias1581: __typename alias1582: __typename alias1583: __typename alias1584: __typename alias1585: __typename alias1586: __typename alias1587: __typename alias1588: __typename alias1589: __typename alias1590: __typename alias1591: __typename alias1592: __typename alias1593: __typename alias1594: __typename alias1595: __typename alias1596: __typename alias1597: __typename alias1598: __typename alias1599: __typename alias1600: __typename alias1601: __typename alias1602: __typename alias1603: __typename alias1604: __typename alias1605: __typename alias1606: __typename alias1607: __typename alias1608: __typename alias1609: __typename alias1610: __typename alias1611: __typename alias1612: __typename alias1613: __typename alias1614: __typename alias1615: __typename alias1616: __typename alias1617: __typename alias1618: __typename alias1619: __typename alias1620: __typename alias1621: __typename alias1622: __typename alias1623: __typename alias1624: __typename alias1625: __typename alias1626: __typename alias1627: __typename alias1628: __typename alias1629: __typename alias1630: __typename alias1631: __typename alias1632: __typename alias1633: __typename alias1634: __typename alias1635: __typename alias1636: __typename alias1637: __typename alias1638: __typename alias1639: __typename alias1640: __typename alias1641: __typename alias1642: __typename alias1643: __typename alias1644: __typename alias1645: __typename alias1646: __typename alias1647: __typename alias1648: __typename alias1649: __typename alias1650: __typename alias1651: __typename alias1652: __typename alias1653: __typename alias1654: __typename alias1655: __typename alias1656: __typename alias1657: __typename alias1658: __typename alias1659: __typename alias1660: __typename alias1661: __typename alias1662: __typename alias1663: __typename alias1664: __typename alias1665: __typename alias1666: __typename alias1667: __typename alias1668: __typename alias1669: __typename alias1670: __typename alias1671: __typename alias1672: __typename alias1673: __typename alias1674: __typename alias1675: __typename alias1676: __typename alias1677: __typename alias1678: __typename alias1679: __typename alias1680: __typename alias1681: __typename alias1682: __typename alias1683: __typename alias1684: __typename alias1685: __typename alias1686: __typename alias1687: __typename alias1688: __typename alias1689: __typename alias1690: __typename alias1691: __typename alias1692: __typename alias1693: __typename alias1694: __typename alias1695: __typename alias1696: __typename alias1697: __typename alias1698: __typename alias1699: __typename alias1700: __typename alias1701: __typename alias1702: __typename alias1703: __typename alias1704: __typename alias1705: __typename alias1706: __typename alias1707: __typename alias1708: __typename alias1709: __typename alias1710: __typename alias1711: __typename alias1712: __typename alias1713: __typename alias1714: __typename alias1715: __typename alias1716: __typename alias1717: __typename alias1718: __typename alias1719: __typename alias1720: __typename alias1721: __typename alias1722: __typename alias1723: __typename alias1724: __typename alias1725: __typename alias1726: __typename alias1727: __typename alias1728: __typename alias1729: __typename alias1730: __typename alias1731: __typename alias1732: __typename alias1733: __typename alias1734: __typename alias1735: __typename alias1736: __typename alias1737: __typename alias1738: __typename alias1739: __typename alias1740: __typename alias1741: __typename alias1742: __typename alias1743: __typename alias1744: __typename alias1745: __typename alias1746: __typename alias1747: __typename alias1748: __typename alias1749: __typename alias1750: __typename alias1751: __typename alias1752: __typename alias1753: __typename alias1754: __typename alias1755: __typename alias1756: __typename alias1757: __typename alias1758: __typename alias1759: __typename alias1760: __typename alias1761: __typename alias1762: __typename alias1763: __typename alias1764: __typename alias1765: __typename alias1766: __typename alias1767: __typename alias1768: __typename alias1769: __typename alias1770: __typename alias1771: __typename alias1772: __typename alias1773: __typename alias1774: __typename alias1775: __typename alias1776: __typename alias1777: __typename alias1778: __typename alias1779: __typename alias1780: __typename alias1781: __typename alias1782: __typename alias1783: __typename alias1784: __typename alias1785: __typename alias1786: __typename alias1787: __typename alias1788: __typename alias1789: __typename alias1790: __typename alias1791: __typename alias1792: __typename alias1793: __typename alias1794: __typename alias1795: __typename alias1796: __typename alias1797: __typename alias1798: __typename alias1799: __typename alias1800: __typename alias1801: __typename alias1802: __typename alias1803: __typename alias1804: __typename alias1805: __typename alias1806: __typename alias1807: __typename alias1808: __typename alias1809: __typename alias1810: __typename alias1811: __typename alias1812: __typename alias1813: __typename alias1814: __typename alias1815: __typename alias1816: __typename alias1817: __typename alias1818: __typename alias1819: __typename alias1820: __typename alias1821: __typename alias1822: __typename alias1823: __typename alias1824: __typename alias1825: __typename alias1826: __typename alias1827: __typename alias1828: __typename alias1829: __typename alias1830: __typename alias1831: __typename alias1832: __typename alias1833: __typename alias1834: __typename alias1835: __typename alias1836: __typename alias1837: __typename alias1838: __typename alias1839: __typename alias1840: __typename alias1841: __typename alias1842: __typename alias1843: __typename alias1844: __typename alias1845: __typename alias1846: __typename alias1847: __typename alias1848: __typename alias1849: __typename alias1850: __typename alias1851: __typename alias1852: __typename alias1853: __typename alias1854: __typename alias1855: __typename alias1856: __typename alias1857: __typename alias1858: __typename alias1859: __typename alias1860: __typename alias1861: __typename alias1862: __typename alias1863: __typename alias1864: __typename alias1865: __typename alias1866: __typename alias1867: __typename alias1868: __typename alias1869: __typename alias1870: __typename alias1871: __typename alias1872: __typename alias1873: __typename alias1874: __typename alias1875: __typename alias1876: __typename alias1877: __typename alias1878: __typename alias1879: __typename alias1880: __typename alias1881: __typename alias1882: __typename alias1883: __typename alias1884: __typename alias1885: __typename alias1886: __typename alias1887: __typename alias1888: __typename alias1889: __typename alias1890: __typename alias1891: __typename alias1892: __typename alias1893: __typename alias1894: __typename alias1895: __typename alias1896: __typename alias1897: __typename alias1898: __typename alias1899: __typename alias1900: __typename alias1901: __typename alias1902: __typename alias1903: __typename alias1904: __typename alias1905: __typename alias1906: __typename alias1907: __typename alias1908: __typename alias1909: __typename alias1910: __typename alias1911: __typename alias1912: __typename alias1913: __typename alias1914: __typename alias1915: __typename alias1916: __typename alias1917: __typename alias1918: __typename alias1919: __typename alias1920: __typename alias1921: __typename alias1922: __typename alias1923: __typename alias1924: __typename alias1925: __typename alias1926: __typename alias1927: __typename alias1928: __typename alias1929: __typename alias1930: __typename alias1931: __typename alias1932: __typename alias1933: __typename alias1934: __typename alias1935: __typename alias1936: __typename alias1937: __typename alias1938: __typename alias1939: __typename alias1940: __typename alias1941: __typename alias1942: __typename alias1943: __typename alias1944: __typename alias1945: __typename alias1946: __typename alias1947: __typename alias1948: __typename alias1949: __typename alias1950: __typename alias1951: __typename alias1952: __typename alias1953: __typename alias1954: __typename alias1955: __typename alias1956: __typename alias1957: __typename alias1958: __typename alias1959: __typename alias1960: __typename alias1961: __typename alias1962: __typename alias1963: __typename alias1964: __typename alias1965: __typename alias1966: __typename alias1967: __typename alias1968: __typename alias1969: __typename alias1970: __typename alias1971: __typename alias1972: __typename alias1973: __typename alias1974: __typename alias1975: __typename alias1976: __typename alias1977: __typename alias1978: __typename alias1979: __typename alias1980: __typename alias1981: __typename alias1982: __typename alias1983: __typename alias1984: __typename alias1985: __typename alias1986: __typename alias1987: __typename alias1988: __typename alias1989: __typename alias1990: __typename alias1991: __typename alias1992: __typename alias1993: __typename alias1994: __typename alias1995: __typename alias1996: __typename alias1997: __typename alias1998: __typename alias1999: __typename alias2000: __typename alias2001: __typename alias2002: __typename alias2003: __typename alias2004: __typename alias2005: __typename alias2006: __typename alias2007: __typename alias2008: __typename alias2009: __typename alias2010: __typename alias2011: __typename alias2012: __typename alias2013: __typename alias2014: __typename alias2015: __typename alias2016: __typename alias2017: __typename alias2018: __typename alias2019: __typename alias2020: __typename alias2021: __typename alias2022: __typename alias2023: __typename alias2024: __typename alias2025: __typename alias2026: __typename alias2027: __typename alias2028: __typename alias2029: __typename alias2030: __typename alias2031: __typename alias2032: __typename alias2033: __typename alias2034: __typename alias2035: __typename alias2036: __typename alias2037: __typename alias2038: __typename alias2039: __typename alias2040: __typename alias2041: __typename alias2042: __typename alias2043: __typename alias2044: __typename alias2045: __typename alias2046: __typename alias2047: __typename }"
+ },
+ {
+ "type": "Compose",
+ "selectionSetIds": [
+ 0
+ ]
+ }
+ ]
+ }
+}
+```
+
+## QueryPlan Hash
+
+```text
+01246D7DB5ECDD14497D332C955C9446F5E6929D
+```
+
+## Fusion Graph
+
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -4150,6 +4157,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -4216,6 +4225,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -4239,6 +4250,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -4282,4 +4295,5 @@ input AddUserInput {
"The `Date` scalar represents an ISO-8601 compliant date type."
scalar Date
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_01.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_01.md
similarity index 93%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_01.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_01.md
index d8bb6b5a652..cdcc3204d64 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_01.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_01.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_01
+
+## UserRequest
+
+```graphql
query GetUser {
users {
name
@@ -11,10 +14,11 @@ query GetUser {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query GetUser { users { name reviews { body author { name } } } }",
"operation": "GetUser",
@@ -64,4 +68,5 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_02_Aliases.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_02_Aliases.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_02_Aliases.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_02_Aliases.md
index 0668e69924a..f9d3b1075c6 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_02_Aliases.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_02_Aliases.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_02_Aliases
+
+## UserRequest
+
+```graphql
query GetUser {
a: users {
name
@@ -20,10 +23,11 @@ query GetUser {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query GetUser { a: users { name reviews { body author { name } } } b: users { name reviews { body author { name } } } }",
"operation": "GetUser",
@@ -97,4 +101,5 @@ QueryPlan
"__fusion_exports__2": "User_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_03_Argument_Literals.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_03_Argument_Literals.md
similarity index 83%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_03_Argument_Literals.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_03_Argument_Literals.md
index fcc690f4a94..da84493e7dc 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_03_Argument_Literals.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_03_Argument_Literals.md
@@ -1,14 +1,18 @@
-UserRequest
----------------
+# Query_Plan_03_Argument_Literals
+
+## UserRequest
+
+```graphql
query GetUser {
userById(id: 1) {
id
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query GetUser { userById(id: 1) { id } }",
"operation": "GetUser",
@@ -30,4 +34,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_04_Argument_Variables.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_04_Argument_Variables.md
similarity index 87%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_04_Argument_Variables.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_04_Argument_Variables.md
index 58386d14502..42249bf2843 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_04_Argument_Variables.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_04_Argument_Variables.md
@@ -1,14 +1,18 @@
-UserRequest
----------------
+# Query_Plan_04_Argument_Variables
+
+## UserRequest
+
+```graphql
query TopProducts($first: Int!) {
topProducts(first: $first) {
id
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query TopProducts($first: Int!) { topProducts(first: $first) { id } }",
"operation": "TopProducts",
@@ -35,4 +39,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_05_TypeName_Field.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_05_TypeName_Field.md
similarity index 94%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_05_TypeName_Field.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_05_TypeName_Field.md
index 5b56dd2bfda..2316aa6741d 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_05_TypeName_Field.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_05_TypeName_Field.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_05_TypeName_Field
+
+## UserRequest
+
+```graphql
query TopProducts {
__typename
topProducts(first: 2) {
@@ -12,10 +15,11 @@ query TopProducts {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query TopProducts { __typename topProducts(first: 2) { __typename reviews { __typename author { __typename } } } }",
"operation": "TopProducts",
@@ -74,4 +78,5 @@ QueryPlan
"__fusion_exports__1": "Product_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_06_Introspection.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_06_Introspection.md
similarity index 87%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_06_Introspection.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_06_Introspection.md
index 096fe2b6bac..72d55d8875b 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_06_Introspection.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_06_Introspection.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_06_Introspection
+
+## UserRequest
+
+```graphql
query Introspect {
__schema {
types {
@@ -15,10 +18,11 @@ query Introspect {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Introspect { __schema { types { name kind fields { name type { name kind } } } } }",
"operation": "Introspect",
@@ -38,4 +42,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_07_Introspection_And_Fetch.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_07_Introspection_And_Fetch.md
similarity index 92%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_07_Introspection_And_Fetch.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_07_Introspection_And_Fetch.md
index 628f25abf99..635a2da2f13 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_07_Introspection_And_Fetch.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_07_Introspection_And_Fetch.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_07_Introspection_And_Fetch
+
+## UserRequest
+
+```graphql
query TopProducts($first: Int!) {
topProducts(first: $first) {
id
@@ -18,10 +21,11 @@ query TopProducts($first: Int!) {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query TopProducts($first: Int!) { topProducts(first: $first) { id } __schema { types { name kind fields { name type { name kind } } } } }",
"operation": "TopProducts",
@@ -57,4 +61,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_08_Single_Mutation.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_08_Single_Mutation.md
similarity index 89%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_08_Single_Mutation.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_08_Single_Mutation.md
index 2f9e5943a51..18316e782f1 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_08_Single_Mutation.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_08_Single_Mutation.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_08_Single_Mutation
+
+## UserRequest
+
+```graphql
mutation AddReview {
addReview(input: { body: "foo", authorId: 1, upc: 1 }) {
review {
@@ -10,10 +13,11 @@ mutation AddReview {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "mutation AddReview { addReview(input: { body: \u0022foo\u0022, authorId: 1, upc: 1 }) { review { body author { name } } } }",
"operation": "AddReview",
@@ -35,4 +39,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_09_Two_Mutation_Same_SubGraph.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_09_Two_Mutation_Same_SubGraph.md
similarity index 91%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_09_Two_Mutation_Same_SubGraph.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_09_Two_Mutation_Same_SubGraph.md
index 9055d4dd9b4..9756cbf9c16 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_09_Two_Mutation_Same_SubGraph.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_09_Two_Mutation_Same_SubGraph.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_09_Two_Mutation_Same_SubGraph
+
+## UserRequest
+
+```graphql
mutation AddReviews {
a: addReview(input: { body: "foo", authorId: 1, upc: 1 }) {
review {
@@ -18,10 +21,11 @@ mutation AddReviews {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "mutation AddReviews { a: addReview(input: { body: \u0022foo\u0022, authorId: 1, upc: 1 }) { review { body author { name } } } b: addReview(input: { body: \u0022foo\u0022, authorId: 1, upc: 1 }) { review { body author { name } } } }",
"operation": "AddReviews",
@@ -43,4 +47,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_10_Two_Mutation_Same_SubGraph.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_10_Two_Mutation_Same_SubGraph.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_10_Two_Mutation_Same_SubGraph.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_10_Two_Mutation_Same_SubGraph.md
index 02b406159fd..ebd1405b446 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_10_Two_Mutation_Same_SubGraph.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_10_Two_Mutation_Same_SubGraph.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_10_Two_Mutation_Same_SubGraph
+
+## UserRequest
+
+```graphql
mutation AddReviews {
a: addReview(input: { body: "foo", authorId: 1, upc: 1 }) {
review {
@@ -19,10 +22,11 @@ mutation AddReviews {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "mutation AddReviews { a: addReview(input: { body: \u0022foo\u0022, authorId: 1, upc: 1 }) { review { body author { birthdate } } } b: addReview(input: { body: \u0022foo\u0022, authorId: 1, upc: 1 }) { review { body author { id birthdate } } } }",
"operation": "AddReviews",
@@ -96,4 +100,5 @@ QueryPlan
"__fusion_exports__2": "User_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_11_Two_Mutation_Two_SubGraph.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_11_Two_Mutation_Two_SubGraph.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_11_Two_Mutation_Two_SubGraph.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_11_Two_Mutation_Two_SubGraph.md
index 68796e7d402..f8135f35d7c 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_11_Two_Mutation_Two_SubGraph.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_11_Two_Mutation_Two_SubGraph.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_11_Two_Mutation_Two_SubGraph
+
+## UserRequest
+
+```graphql
mutation AddReviewAndUser {
addReview(input: { body: "foo", authorId: 1, upc: 1 }) {
review {
@@ -19,10 +22,11 @@ mutation AddReviewAndUser {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "mutation AddReviewAndUser { addReview(input: { body: \u0022foo\u0022, authorId: 1, upc: 1 }) { review { body author { id birthdate } } } addUser(input: { name: \u0022foo\u0022, username: \u0022foo\u0022, birthdate: \u0022abc\u0022 }) { user { name reviews { body } } } }",
"operation": "AddReviewAndUser",
@@ -104,4 +108,5 @@ QueryPlan
"__fusion_exports__2": "User_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_12_Subscription_1.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_12_Subscription_1.md
similarity index 86%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_12_Subscription_1.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_12_Subscription_1.md
index 62b16d0e2a9..cd4937ae801 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_12_Subscription_1.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_12_Subscription_1.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_12_Subscription_1
+
+## UserRequest
+
+```graphql
subscription OnNewReview {
onNewReview {
body
@@ -8,10 +11,11 @@ subscription OnNewReview {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "subscription OnNewReview { onNewReview { body author { name } } }",
"operation": "OnNewReview",
@@ -35,4 +39,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_13_Subscription_2.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_13_Subscription_2.md
similarity index 93%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_13_Subscription_2.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_13_Subscription_2.md
index 5ab90e2501a..8ceb122fbfc 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_13_Subscription_2.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_13_Subscription_2.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_13_Subscription_2
+
+## UserRequest
+
+```graphql
subscription OnNewReview {
onNewReview {
body
@@ -9,10 +12,11 @@ subscription OnNewReview {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "subscription OnNewReview { onNewReview { body author { name birthdate } } }",
"operation": "OnNewReview",
@@ -64,4 +68,5 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_14_Node_Single_Fragment.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_14_Node_Single_Fragment.md
similarity index 93%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_14_Node_Single_Fragment.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_14_Node_Single_Fragment.md
index 24a113dd03a..b8ae59f58ed 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_14_Node_Single_Fragment.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_14_Node_Single_Fragment.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_14_Node_Single_Fragment
+
+## UserRequest
+
+```graphql
query FetchNode($id: ID!) {
node(id: $id) {
... on User {
@@ -7,10 +10,11 @@ query FetchNode($id: ID!) {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query FetchNode($id: ID!) { node(id: $id) { ... on User { id } } }",
"operation": "FetchNode",
@@ -61,4 +65,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_15_Node_Single_Fragment_Multiple_Subgraphs.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_15_Node_Single_Fragment_Multiple_Subgraphs.md
similarity index 94%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_15_Node_Single_Fragment_Multiple_Subgraphs.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_15_Node_Single_Fragment_Multiple_Subgraphs.md
index 94badca7c67..e5f3f8c7448 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_15_Node_Single_Fragment_Multiple_Subgraphs.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_15_Node_Single_Fragment_Multiple_Subgraphs.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_15_Node_Single_Fragment_Multiple_Subgraphs
+
+## UserRequest
+
+```graphql
query FetchNode($id: ID!) {
node(id: $id) {
... on User {
@@ -10,10 +13,11 @@ query FetchNode($id: ID!) {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query FetchNode($id: ID!) { node(id: $id) { ... on User { birthdate reviews { body } } } }",
"operation": "FetchNode",
@@ -87,4 +91,5 @@ QueryPlan
"__fusion_exports__1": "User_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_16_Two_Node_Fields_Aliased.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_16_Two_Node_Fields_Aliased.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_16_Two_Node_Fields_Aliased.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_16_Two_Node_Fields_Aliased.md
index 72fb4312223..1856a7d7671 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_16_Two_Node_Fields_Aliased.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_16_Two_Node_Fields_Aliased.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_16_Two_Node_Fields_Aliased
+
+## UserRequest
+
+```graphql
query FetchNode($a: ID!, $b: ID!) {
a: node(id: $a) {
... on User {
@@ -12,10 +15,11 @@ query FetchNode($a: ID!, $b: ID!) {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query FetchNode($a: ID!, $b: ID!) { a: node(id: $a) { ... on User { id } } b: node(id: $b) { ... on User { id } } }",
"operation": "FetchNode",
@@ -106,4 +110,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_17_Multi_Completion.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_17_Multi_Completion.md
similarity index 91%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_17_Multi_Completion.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_17_Multi_Completion.md
index 7f82461544d..3b39e20f221 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_17_Multi_Completion.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_17_Multi_Completion.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_17_Multi_Completion
+
+## UserRequest
+
+```graphql
query GetUser {
users {
birthdate
@@ -13,10 +16,11 @@ query GetUser {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query GetUser { users { birthdate } reviews { body } __schema { types { name } } }",
"operation": "GetUser",
@@ -53,4 +57,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_18_Node_Single_Fragment_Multiple_Subgraphs.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_18_Node_Single_Fragment_Multiple_Subgraphs.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_18_Node_Single_Fragment_Multiple_Subgraphs.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_18_Node_Single_Fragment_Multiple_Subgraphs.md
index b00ed7620cd..736614e4937 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_18_Node_Single_Fragment_Multiple_Subgraphs.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_18_Node_Single_Fragment_Multiple_Subgraphs.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_18_Node_Single_Fragment_Multiple_Subgraphs
+
+## UserRequest
+
+```graphql
query FetchNode($id: ID!) {
node(id: $id) {
... on User {
@@ -16,10 +19,11 @@ query FetchNode($id: ID!) {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query FetchNode($id: ID!) { node(id: $id) { ... on User { birthdate reviews { body } } ... on Review { body author { birthdate } } } }",
"operation": "FetchNode",
@@ -114,4 +118,5 @@ QueryPlan
"__fusion_exports__2": "User_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_19_Requires.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_19_Requires.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_19_Requires.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_19_Requires.md
index 61b913b5497..7c1f8076405 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_19_Requires.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_19_Requires.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_19_Requires
+
+## UserRequest
+
+```graphql
query Requires {
reviews {
body
@@ -16,10 +19,11 @@ query Requires {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Requires { reviews { body author { name birthdate } product { name deliveryEstimate(zip: \u002212345\u0022) { min max } } } }",
"operation": "Requires",
@@ -128,4 +132,5 @@ QueryPlan
"__fusion_exports__4": "Product_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_20_DeepQuery.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_20_DeepQuery.md
similarity index 97%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_20_DeepQuery.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_20_DeepQuery.md
index 2c4d8579317..6138d67d8da 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_20_DeepQuery.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_20_DeepQuery.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_20_DeepQuery
+
+## UserRequest
+
+```graphql
query GetUser {
users {
name
@@ -19,10 +22,11 @@ query GetUser {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query GetUser { users { name reviews { body author { name birthdate reviews { body author { name birthdate } } } } } }",
"operation": "GetUser",
@@ -122,4 +126,5 @@ QueryPlan
"__fusion_exports__3": "User_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_21_Field_Requirement_Not_In_Context.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_21_Field_Requirement_Not_In_Context.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_21_Field_Requirement_Not_In_Context.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_21_Field_Requirement_Not_In_Context.md
index ee5d97c300e..382bb9fe13b 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_21_Field_Requirement_Not_In_Context.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_21_Field_Requirement_Not_In_Context.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_21_Field_Requirement_Not_In_Context
+
+## UserRequest
+
+```graphql
query Requires {
reviews {
body
@@ -15,10 +18,11 @@ query Requires {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Requires { reviews { body author { name birthdate } product { deliveryEstimate(zip: \u002212345\u0022) { min max } } } }",
"operation": "Requires",
@@ -127,4 +131,5 @@ QueryPlan
"__fusion_exports__4": "Product_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_22_Interfaces.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_22_Interfaces.md
similarity index 87%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_22_Interfaces.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_22_Interfaces.md
index 56b2d54c6c4..59f13a70bc5 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_22_Interfaces.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_22_Interfaces.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_22_Interfaces
+
+## UserRequest
+
+```graphql
query Appointments {
appointments {
nodes {
@@ -9,10 +12,11 @@ query Appointments {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Appointments { appointments { nodes { patient { id } } } }",
"operation": "Appointments",
@@ -34,4 +38,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_23_Interfaces_Merge.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_23_Interfaces_Merge.md
similarity index 93%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_23_Interfaces_Merge.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_23_Interfaces_Merge.md
index bdcc80d0761..b633d868ef8 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_23_Interfaces_Merge.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_23_Interfaces_Merge.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_23_Interfaces_Merge
+
+## UserRequest
+
+```graphql
query Appointments {
appointments {
nodes {
@@ -12,10 +15,11 @@ query Appointments {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Appointments { appointments { nodes { patient { id ... on Patient1 { name } } } } }",
"operation": "Appointments",
@@ -65,4 +69,5 @@ QueryPlan
"__fusion_exports__1": "Patient1_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_24_Field_Requirement_And_Fields_In_Context.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_24_Field_Requirement_And_Fields_In_Context.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_24_Field_Requirement_And_Fields_In_Context.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_24_Field_Requirement_And_Fields_In_Context.md
index 2c395d3edd6..c7e15609167 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_24_Field_Requirement_And_Fields_In_Context.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_24_Field_Requirement_And_Fields_In_Context.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_24_Field_Requirement_And_Fields_In_Context
+
+## UserRequest
+
+```graphql
query Requires {
reviews {
body
@@ -17,10 +20,11 @@ query Requires {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Requires { reviews { body author { name birthdate } product { id name deliveryEstimate(zip: \u002212345\u0022) { min max } } } }",
"operation": "Requires",
@@ -129,4 +133,5 @@ QueryPlan
"__fusion_exports__4": "Product_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_25_Variables_Are_Passed_Through.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_25_Variables_Are_Passed_Through.md
similarity index 93%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_25_Variables_Are_Passed_Through.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_25_Variables_Are_Passed_Through.md
index 3f160f9ef35..9cd3f87af42 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_25_Variables_Are_Passed_Through.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_25_Variables_Are_Passed_Through.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_25_Variables_Are_Passed_Through
+
+## UserRequest
+
+```graphql
query Appointments($first: Int!) {
patientById(patientId: 1) {
name
@@ -10,10 +13,11 @@ query Appointments($first: Int!) {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Appointments($first: Int!) { patientById(patientId: 1) { name appointments(first: $first) { nodes { id } } } }",
"operation": "Appointments",
@@ -68,4 +72,5 @@ QueryPlan
"__fusion_exports__1": "Patient1_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_26_Ensure_No_Circular_Dependency_When_Requiring_Data.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_26_Ensure_No_Circular_Dependency_When_Requiring_Data.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_26_Ensure_No_Circular_Dependency_When_Requiring_Data.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_26_Ensure_No_Circular_Dependency_When_Requiring_Data.md
index e5bc60c12be..e37e95a8aab 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_26_Ensure_No_Circular_Dependency_When_Requiring_Data.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_26_Ensure_No_Circular_Dependency_When_Requiring_Data.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_26_Ensure_No_Circular_Dependency_When_Requiring_Data
+
+## UserRequest
+
+```graphql
query TopProducts {
topProducts(first: 5) {
weight
@@ -12,10 +15,11 @@ query TopProducts {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query TopProducts { topProducts(first: 5) { weight deliveryEstimate(zip: \u002212345\u0022) { min max } reviews { body } } }",
"operation": "TopProducts",
@@ -98,4 +102,5 @@ QueryPlan
"__fusion_exports__3": "Product_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_27_Multiple_Require_Steps_From_Same_Subgraph.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_27_Multiple_Require_Steps_From_Same_Subgraph.md
similarity index 95%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_27_Multiple_Require_Steps_From_Same_Subgraph.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_27_Multiple_Require_Steps_From_Same_Subgraph.md
index 98769d7a26b..b067bab7cff 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_27_Multiple_Require_Steps_From_Same_Subgraph.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_27_Multiple_Require_Steps_From_Same_Subgraph.md
@@ -1,5 +1,8 @@
-UserRequest
----------------
+# Query_Plan_27_Multiple_Require_Steps_From_Same_Subgraph
+
+## UserRequest
+
+```graphql
query Query {
authorById(id: "1") {
id
@@ -15,10 +18,11 @@ query Query {
}
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Query { authorById(id: \u00221\u0022) { id name bio books { id author { books { id } } } } }",
"operation": "Query",
@@ -118,4 +122,5 @@ QueryPlan
"__fusion_exports__3": "Author_id"
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_29_Simple_Root_List_Data.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_28_Simple_Root_Data.md
similarity index 88%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_29_Simple_Root_List_Data.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_28_Simple_Root_Data.md
index 1746330758a..d1dddf05f58 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_29_Simple_Root_List_Data.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_28_Simple_Root_Data.md
@@ -1,15 +1,19 @@
-UserRequest
----------------
+# Query_Plan_28_Simple_Root_Data
+
+## UserRequest
+
+```graphql
query Query {
data {
a
b
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Query { data { a b } }",
"operation": "Query",
@@ -42,4 +46,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_28_Simple_Root_Data.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_29_Simple_Root_List_Data.md
similarity index 87%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_28_Simple_Root_Data.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_29_Simple_Root_List_Data.md
index 1746330758a..9ba9142d3e7 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_28_Simple_Root_Data.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_29_Simple_Root_List_Data.md
@@ -1,15 +1,19 @@
-UserRequest
----------------
+# Query_Plan_29_Simple_Root_List_Data
+
+## UserRequest
+
+```graphql
query Query {
data {
a
b
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Query { data { a b } }",
"operation": "Query",
@@ -42,4 +46,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_30_Entity_Data.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_30_Entity_Data.md
similarity index 89%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_30_Entity_Data.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_30_Entity_Data.md
index 45a2a411d4f..47a1de12fe9 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_30_Entity_Data.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_30_Entity_Data.md
@@ -1,15 +1,19 @@
-UserRequest
----------------
+# Query_Plan_30_Entity_Data
+
+## UserRequest
+
+```graphql
query Query {
entity(id: 123) {
a
b
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Query { entity(id: 123) { a b } }",
"operation": "Query",
@@ -42,4 +46,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_31_Argument_No_Value_Specified_With_Selection_Set.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_31_Argument_No_Value_Specified_With_Selection_Set.md
similarity index 79%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_31_Argument_No_Value_Specified_With_Selection_Set.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_31_Argument_No_Value_Specified_With_Selection_Set.md
index 7c52d79f80f..d21b18e6299 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_31_Argument_No_Value_Specified_With_Selection_Set.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_31_Argument_No_Value_Specified_With_Selection_Set.md
@@ -1,14 +1,18 @@
-UserRequest
----------------
+# Query_Plan_31_Argument_No_Value_Specified_With_Selection_Set
+
+## UserRequest
+
+```graphql
query Test {
fieldWithEnumArg {
test
}
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Test { fieldWithEnumArg { test } }",
"operation": "Test",
@@ -30,4 +34,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_32_Argument_No_Value_Specified.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_32_Argument_No_Value_Specified.md
similarity index 80%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_32_Argument_No_Value_Specified.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_32_Argument_No_Value_Specified.md
index a0f58df65d2..50a5b68047c 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_32_Argument_No_Value_Specified.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_32_Argument_No_Value_Specified.md
@@ -1,12 +1,16 @@
-UserRequest
----------------
+# Query_Plan_32_Argument_No_Value_Specified
+
+## UserRequest
+
+```graphql
query Test {
fieldWithEnumArg
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Test { fieldWithEnumArg }",
"operation": "Test",
@@ -28,4 +32,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_33_Argument_Default_Value_Explicitly_Specified.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_33_Argument_Default_Value_Explicitly_Specified.md
similarity index 79%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_33_Argument_Default_Value_Explicitly_Specified.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_33_Argument_Default_Value_Explicitly_Specified.md
index f7f7268523d..652ef16eab0 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_33_Argument_Default_Value_Explicitly_Specified.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_33_Argument_Default_Value_Explicitly_Specified.md
@@ -1,12 +1,16 @@
-UserRequest
----------------
+# Query_Plan_33_Argument_Default_Value_Explicitly_Specified
+
+## UserRequest
+
+```graphql
query Test {
fieldWithEnumArg(arg: VALUE2)
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Test { fieldWithEnumArg(arg: VALUE2) }",
"operation": "Test",
@@ -28,4 +32,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_34_Argument_Not_Default_Value_Specified.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_34_Argument_Not_Default_Value_Specified.md
similarity index 80%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_34_Argument_Not_Default_Value_Specified.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_34_Argument_Not_Default_Value_Specified.md
index 894d16ca8f0..6b1cc8615c1 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_34_Argument_Not_Default_Value_Specified.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_34_Argument_Not_Default_Value_Specified.md
@@ -1,12 +1,16 @@
-UserRequest
----------------
+# Query_Plan_34_Argument_Not_Default_Value_Specified
+
+## UserRequest
+
+```graphql
query Test {
fieldWithEnumArg(arg: VALUE1)
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Test { fieldWithEnumArg(arg: VALUE1) }",
"operation": "Test",
@@ -28,4 +32,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_35_Argument_Value_Variable_Specified.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_35_Argument_Value_Variable_Specified.md
similarity index 85%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_35_Argument_Value_Variable_Specified.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_35_Argument_Value_Variable_Specified.md
index da47f564762..020b1045c0a 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_35_Argument_Value_Variable_Specified.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/RequestPlannerTests.Query_Plan_35_Argument_Value_Variable_Specified.md
@@ -1,12 +1,16 @@
-UserRequest
----------------
+# Query_Plan_35_Argument_Value_Variable_Specified
+
+## UserRequest
+
+```graphql
query Test($variable: TestEnum) {
fieldWithEnumArg(arg: $variable)
}
----------------
+```
-QueryPlan
----------------
+## QueryPlan
+
+```json
{
"document": "query Test($variable: TestEnum) { fieldWithEnumArg(arg: $variable) }",
"operation": "Test",
@@ -33,4 +37,5 @@ QueryPlan
]
}
}
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment.md
index 59aec45425f..b51cb13e14e 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Error_Union_With_Inline_Fragment
+
+## User Request
+
+```graphql
mutation Upload($input: UploadProductPictureInput!) {
uploadProductPicture(input: $input) {
boolean
@@ -11,10 +14,24 @@ mutation Upload($input: UploadProductPictureInput!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "uploadProductPicture": {
+ "boolean": true,
+ "errors": null
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "mutation Upload($input: UploadProductPictureInput!) { uploadProductPicture(input: $input) { boolean errors { __typename ... on ProductNotFoundError { productId } } } }",
"operation": "Upload",
@@ -41,27 +58,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
62AB3FC1A9F040C10377EAF01865D8D8CB406CB4
----------------
+```
-Result
----------------
-{
- "data": {
- "uploadProductPicture": {
- "boolean": true,
- "errors": null
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -74,6 +81,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -198,6 +207,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -232,6 +243,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -294,4 +307,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment_Errors_Not_Null.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment_Errors_Not_Null.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment_Errors_Not_Null.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment_Errors_Not_Null.md
index 2d01d809ef2..4903ded3668 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment_Errors_Not_Null.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_Inline_Fragment_Errors_Not_Null.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Error_Union_With_Inline_Fragment_Errors_Not_Null
+
+## User Request
+
+```graphql
mutation Upload($input: UploadProductPictureInput!) {
uploadProductPicture(input: $input) {
boolean
@@ -11,10 +14,29 @@ mutation Upload($input: UploadProductPictureInput!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "uploadProductPicture": {
+ "boolean": null,
+ "errors": [
+ {
+ "__typename": "ProductNotFoundError",
+ "productId": 0
+ }
+ ]
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "mutation Upload($input: UploadProductPictureInput!) { uploadProductPicture(input: $input) { boolean errors { __typename ... on ProductNotFoundError { productId } } } }",
"operation": "Upload",
@@ -41,32 +63,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
62AB3FC1A9F040C10377EAF01865D8D8CB406CB4
----------------
+```
-Result
----------------
-{
- "data": {
- "uploadProductPicture": {
- "boolean": null,
- "errors": [
- {
- "__typename": "ProductNotFoundError",
- "productId": 0
- }
- ]
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -79,6 +86,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -203,6 +212,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -237,6 +248,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -299,4 +312,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName.md
index f849dd58f91..7e3d9e348ae 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Error_Union_With_TypeName
+
+## User Request
+
+```graphql
mutation Upload($input: UploadProductPictureInput!) {
uploadProductPicture(input: $input) {
boolean
@@ -8,10 +11,24 @@ mutation Upload($input: UploadProductPictureInput!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "uploadProductPicture": {
+ "boolean": true,
+ "errors": null
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "mutation Upload($input: UploadProductPictureInput!) { uploadProductPicture(input: $input) { boolean errors { __typename } } }",
"operation": "Upload",
@@ -38,27 +55,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
56E8F115508796D7CB6FCA52CE2AFFCF458ED8E0
----------------
+```
-Result
----------------
-{
- "data": {
- "uploadProductPicture": {
- "boolean": true,
- "errors": null
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -71,6 +78,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -195,6 +204,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -229,6 +240,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -291,4 +304,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+
diff --git a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName_Errors_Not_Null.snap b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName_Errors_Not_Null.md
similarity index 96%
rename from src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName_Errors_Not_Null.snap
rename to src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName_Errors_Not_Null.md
index d29ce8651fc..92b2cd31cdd 100644
--- a/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName_Errors_Not_Null.snap
+++ b/src/HotChocolate/Fusion/test/Core.Tests/__snapshots__/UnionTests.Error_Union_With_TypeName_Errors_Not_Null.md
@@ -1,5 +1,8 @@
-User Request
----------------
+# Error_Union_With_TypeName_Errors_Not_Null
+
+## User Request
+
+```graphql
mutation Upload($input: UploadProductPictureInput!) {
uploadProductPicture(input: $input) {
boolean
@@ -8,10 +11,28 @@ mutation Upload($input: UploadProductPictureInput!) {
}
}
}
----------------
+```
+
+## Result
+
+```json
+{
+ "data": {
+ "uploadProductPicture": {
+ "boolean": null,
+ "errors": [
+ {
+ "__typename": "ProductNotFoundError"
+ }
+ ]
+ }
+ }
+}
+```
+
+## QueryPlan
-QueryPlan
----------------
+```json
{
"document": "mutation Upload($input: UploadProductPictureInput!) { uploadProductPicture(input: $input) { boolean errors { __typename } } }",
"operation": "Upload",
@@ -38,31 +59,17 @@ QueryPlan
]
}
}
----------------
+```
-QueryPlan Hash
----------------
+## QueryPlan Hash
+
+```text
56E8F115508796D7CB6FCA52CE2AFFCF458ED8E0
----------------
+```
-Result
----------------
-{
- "data": {
- "uploadProductPicture": {
- "boolean": null,
- "errors": [
- {
- "__typename": "ProductNotFoundError"
- }
- ]
- }
- }
-}
----------------
+## Fusion Graph
-Fusion Graph
----------------
+```graphql
schema
@fusion(version: 1)
@transport(subgraph: "Reviews2", location: "http:\/\/localhost:5000\/graphql", kind: "HTTP")
@@ -75,6 +82,8 @@ schema
}
type Query {
+ errorField: String
+ @resolver(subgraph: "Accounts", select: "{ errorField }")
productById(id: ID!): Product
@variable(subgraph: "Reviews2", name: "id", argument: "id")
@resolver(subgraph: "Reviews2", select: "{ productById(id: $id) }", arguments: [ { name: "id", type: "ID!" } ])
@@ -199,6 +208,8 @@ type Review implements Node
@source(subgraph: "Reviews2")
body: String!
@source(subgraph: "Reviews2")
+ errorField: String
+ @source(subgraph: "Reviews2")
id: ID!
@source(subgraph: "Reviews2")
product: Product!
@@ -233,6 +244,8 @@ type User implements Node
@resolver(subgraph: "Reviews2", select: "{ nodes(ids: $User_id) { ... on User { ... User } } }", arguments: [ { name: "User_id", type: "[ID!]!" } ], kind: "BATCH") {
birthdate: Date!
@source(subgraph: "Accounts")
+ errorField: String
+ @source(subgraph: "Accounts")
id: ID!
@source(subgraph: "Reviews2")
@source(subgraph: "Accounts")
@@ -295,4 +308,5 @@ scalar Date
"The `Upload` scalar type represents a file upload."
scalar Upload
----------------
+```
+