diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/method/annotation/support/SchemaMappingPaginationTests.java b/spring-graphql/src/test/java/org/springframework/graphql/data/method/annotation/support/SchemaMappingPaginationTests.java index 2dd31410..305e94db 100644 --- a/spring-graphql/src/test/java/org/springframework/graphql/data/method/annotation/support/SchemaMappingPaginationTests.java +++ b/spring-graphql/src/test/java/org/springframework/graphql/data/method/annotation/support/SchemaMappingPaginationTests.java @@ -32,12 +32,10 @@ import org.springframework.graphql.GraphQlSetup; import org.springframework.graphql.ResponseHelper; import org.springframework.graphql.TestExecutionRequest; import org.springframework.graphql.data.method.annotation.QueryMapping; -import org.springframework.graphql.data.pagination.ConnectionFieldTypeVisitor; import org.springframework.graphql.data.pagination.CursorStrategy; import org.springframework.graphql.data.query.ScrollPositionCursorStrategy; import org.springframework.graphql.data.query.ScrollSubrange; import org.springframework.graphql.data.query.WindowConnectionAdapter; -import org.springframework.graphql.execution.ConnectionTypeDefinitionConfigurer; import org.springframework.stereotype.Controller; /** @@ -83,9 +81,9 @@ public class SchemaMappingPaginationTests { configurer.setApplicationContext(context); configurer.afterPropertiesSet(); - GraphQlSetup setup = GraphQlSetup.schemaResource(BookSource.paginationSchema).runtimeWiring(configurer); - setup.typeDefinitionConfigurer(new ConnectionTypeDefinitionConfigurer()); - setup.typeVisitor(ConnectionFieldTypeVisitor.create(List.of(new WindowConnectionAdapter(cursorStrategy)))); + GraphQlSetup setup = GraphQlSetup.schemaResource(BookSource.paginationSchema) + .runtimeWiring(configurer) + .connectionSupport(new WindowConnectionAdapter(cursorStrategy)); return setup.toGraphQlService(); } diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/pagination/ConnectionFieldTypeVisitorTests.java b/spring-graphql/src/test/java/org/springframework/graphql/data/pagination/ConnectionFieldTypeVisitorTests.java index a98f6864..7d38753d 100644 --- a/spring-graphql/src/test/java/org/springframework/graphql/data/pagination/ConnectionFieldTypeVisitorTests.java +++ b/spring-graphql/src/test/java/org/springframework/graphql/data/pagination/ConnectionFieldTypeVisitorTests.java @@ -47,8 +47,7 @@ public class ConnectionFieldTypeVisitorTests { Mono response = GraphQlSetup.schemaResource(BookSource.paginationSchema) .dataFetcher("Query", "books", env -> BookSource.books()) - .typeDefinitionConfigurer(new ConnectionTypeDefinitionConfigurer()) - .typeVisitor(ConnectionFieldTypeVisitor.create(List.of(adapter))) + .connectionSupport(adapter) .toGraphQlService() .execute(TestExecutionRequest.forDocument(BookSource.booksConnectionQuery(null))); @@ -77,8 +76,7 @@ public class ConnectionFieldTypeVisitorTests { Mono response = GraphQlSetup.schemaResource(BookSource.paginationSchema) .dataFetcher("Query", "books", new PropertyDataFetcher<>("books")) - .typeDefinitionConfigurer(new ConnectionTypeDefinitionConfigurer()) - .typeVisitor(ConnectionFieldTypeVisitor.create(List.of(new ListConnectionAdapter()))) + .connectionSupport(new ListConnectionAdapter()) .toGraphQlService() .execute(TestExecutionRequest.forDocument(BookSource.booksConnectionQuery(null))); @@ -90,8 +88,7 @@ public class ConnectionFieldTypeVisitorTests { Mono response = GraphQlSetup.schemaResource(BookSource.paginationSchema) .dataFetcher("Query", "books", environment -> null) - .typeDefinitionConfigurer(new ConnectionTypeDefinitionConfigurer()) - .typeVisitor(ConnectionFieldTypeVisitor.create(List.of(new ListConnectionAdapter()))) + .connectionSupport(new ListConnectionAdapter()) .toGraphQlService() .execute(TestExecutionRequest.forDocument(BookSource.booksConnectionQuery(null))); diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/query/QuerydslDataFetcherTests.java b/spring-graphql/src/test/java/org/springframework/graphql/data/query/QuerydslDataFetcherTests.java index b5eda1fc..f05271b8 100644 --- a/spring-graphql/src/test/java/org/springframework/graphql/data/query/QuerydslDataFetcherTests.java +++ b/spring-graphql/src/test/java/org/springframework/graphql/data/query/QuerydslDataFetcherTests.java @@ -363,8 +363,7 @@ class QuerydslDataFetcherTests { private static GraphQlSetup paginationSetup(ScrollPositionCursorStrategy cursorStrategy) { return GraphQlSetup.schemaResource(BookSource.paginationSchema) - .typeDefinitionConfigurer(new ConnectionTypeDefinitionConfigurer()) - .typeVisitor(ConnectionFieldTypeVisitor.create(List.of(new WindowConnectionAdapter(cursorStrategy)))); + .connectionSupport(new WindowConnectionAdapter(cursorStrategy)); } private static RuntimeWiringConfigurer createRuntimeWiringConfigurer( diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/QueryByExampleDataFetcherJpaTests.java b/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/QueryByExampleDataFetcherJpaTests.java index 7818269d..692eba2f 100644 --- a/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/QueryByExampleDataFetcherJpaTests.java +++ b/spring-graphql/src/test/java/org/springframework/graphql/data/query/jpa/QueryByExampleDataFetcherJpaTests.java @@ -250,8 +250,7 @@ class QueryByExampleDataFetcherJpaTests { private static GraphQlSetup paginationSetup(ScrollPositionCursorStrategy cursorStrategy) { return GraphQlSetup.schemaResource(BookSource.paginationSchema) - .typeDefinitionConfigurer(new ConnectionTypeDefinitionConfigurer()) - .typeVisitor(ConnectionFieldTypeVisitor.create(List.of(new WindowConnectionAdapter(cursorStrategy)))); + .connectionSupport(new WindowConnectionAdapter(cursorStrategy)); } private static RuntimeWiringConfigurer createRuntimeWiringConfigurer(QueryByExampleExecutor executor) { diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/query/mongo/QueryByExampleDataFetcherMongoDbTests.java b/spring-graphql/src/test/java/org/springframework/graphql/data/query/mongo/QueryByExampleDataFetcherMongoDbTests.java index e3f61629..03b752d3 100644 --- a/spring-graphql/src/test/java/org/springframework/graphql/data/query/mongo/QueryByExampleDataFetcherMongoDbTests.java +++ b/spring-graphql/src/test/java/org/springframework/graphql/data/query/mongo/QueryByExampleDataFetcherMongoDbTests.java @@ -228,8 +228,7 @@ class QueryByExampleDataFetcherMongoDbTests { private static GraphQlSetup paginationSetup(ScrollPositionCursorStrategy cursorStrategy) { return GraphQlSetup.schemaResource(BookSource.paginationSchema) - .typeDefinitionConfigurer(new ConnectionTypeDefinitionConfigurer()) - .typeVisitor(ConnectionFieldTypeVisitor.create(List.of(new WindowConnectionAdapter(cursorStrategy)))); + .connectionSupport(new WindowConnectionAdapter(cursorStrategy)); } private static RuntimeWiringConfigurer createRuntimeWiringConfigurer(QueryByExampleExecutor executor) { diff --git a/spring-graphql/src/test/java/org/springframework/graphql/data/query/mongo/QueryByExampleDataFetcherReactiveMongoDbTests.java b/spring-graphql/src/test/java/org/springframework/graphql/data/query/mongo/QueryByExampleDataFetcherReactiveMongoDbTests.java index bce58a83..b1df9302 100644 --- a/spring-graphql/src/test/java/org/springframework/graphql/data/query/mongo/QueryByExampleDataFetcherReactiveMongoDbTests.java +++ b/spring-graphql/src/test/java/org/springframework/graphql/data/query/mongo/QueryByExampleDataFetcherReactiveMongoDbTests.java @@ -201,8 +201,7 @@ class QueryByExampleDataFetcherReactiveMongoDbTests { private static GraphQlSetup paginationSetup(ScrollPositionCursorStrategy cursorStrategy) { return GraphQlSetup.schemaResource(BookSource.paginationSchema) - .typeDefinitionConfigurer(new ConnectionTypeDefinitionConfigurer()) - .typeVisitor(ConnectionFieldTypeVisitor.create(List.of(new WindowConnectionAdapter(cursorStrategy)))); + .connectionSupport(new WindowConnectionAdapter(cursorStrategy)); } private static RuntimeWiringConfigurer createRuntimeWiringConfigurer(ReactiveQueryByExampleExecutor executor) { diff --git a/spring-graphql/src/testFixtures/java/org/springframework/graphql/GraphQlSetup.java b/spring-graphql/src/testFixtures/java/org/springframework/graphql/GraphQlSetup.java index 98e4fc55..06ca4ba1 100644 --- a/spring-graphql/src/testFixtures/java/org/springframework/graphql/GraphQlSetup.java +++ b/spring-graphql/src/testFixtures/java/org/springframework/graphql/GraphQlSetup.java @@ -30,6 +30,9 @@ import org.springframework.context.ApplicationContext; import org.springframework.core.io.ByteArrayResource; import org.springframework.core.io.Resource; import org.springframework.graphql.data.method.annotation.support.AnnotatedControllerConfigurer; +import org.springframework.graphql.data.pagination.ConnectionAdapter; +import org.springframework.graphql.data.pagination.ConnectionFieldTypeVisitor; +import org.springframework.graphql.execution.ConnectionTypeDefinitionConfigurer; import org.springframework.graphql.execution.DataFetcherExceptionResolver; import org.springframework.graphql.execution.DataLoaderRegistrar; import org.springframework.graphql.execution.DefaultExecutionGraphQlService; @@ -98,6 +101,12 @@ public class GraphQlSetup implements GraphQlServiceSetup { return runtimeWiring(configurer); } + public GraphQlSetup connectionSupport(ConnectionAdapter connectionAdapter) { + typeDefinitionConfigurer(new ConnectionTypeDefinitionConfigurer()); + typeVisitor(ConnectionFieldTypeVisitor.create(List.of(connectionAdapter))); + return this; + } + public GraphQlSetup exceptionResolver(DataFetcherExceptionResolver... resolvers) { this.graphQlSourceBuilder.exceptionResolvers(Arrays.asList(resolvers)); return this; diff --git a/spring-graphql/src/testFixtures/java/org/springframework/graphql/TestExecutionGraphQlService.java b/spring-graphql/src/testFixtures/java/org/springframework/graphql/TestExecutionGraphQlService.java new file mode 100644 index 00000000..6b0c80a4 --- /dev/null +++ b/spring-graphql/src/testFixtures/java/org/springframework/graphql/TestExecutionGraphQlService.java @@ -0,0 +1,4 @@ +package org.springframework.graphql; + +public interface TestExecutionGraphQlService { +}