Add "Connection" support method to GraphQlSetup
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -47,8 +47,7 @@ public class ConnectionFieldTypeVisitorTests {
|
||||
|
||||
Mono<ExecutionGraphQlResponse> 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<ExecutionGraphQlResponse> 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<ExecutionGraphQlResponse> 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)));
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
package org.springframework.graphql;
|
||||
|
||||
public interface TestExecutionGraphQlService {
|
||||
}
|
||||
Reference in New Issue
Block a user