Skip to content

Commit 8b7de89

Browse files
committed
Stop referencing the DL outside the registry and other tweaks
1 parent 54ec195 commit 8b7de89

File tree

5 files changed

+21
-18
lines changed

5 files changed

+21
-18
lines changed

src/test/groovy/graphql/execution/instrumentation/dataloader/BatchCompareDataFetchers.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,9 @@ private static List<List<Department>> getDepartmentsForShops(List<Shop> shops) {
100100

101101
public DataLoader<String, List<Department>> departmentsForShopDataLoader = DataLoaderFactory.newDataLoader(departmentsForShopsBatchLoader);
102102

103-
public DataFetcher<CompletableFuture<List<Department>>> departmentsForShopDataLoaderDataFetcher = environment -> {
103+
public DataFetcher<?> departmentsForShopDataLoaderDataFetcher = environment -> {
104104
Shop shop = environment.getSource();
105-
return departmentsForShopDataLoader.load(shop.getId());
105+
return environment.getDataLoader("departments").load(shop.getId());
106106
};
107107

108108
// Products
@@ -136,9 +136,9 @@ private static List<List<Product>> getProductsForDepartments(List<Department> de
136136

137137
public DataLoader<String, List<Product>> productsForDepartmentDataLoader = DataLoaderFactory.newDataLoader(productsForDepartmentsBatchLoader);
138138

139-
public DataFetcher<CompletableFuture<List<Product>>> productsForDepartmentDataLoaderDataFetcher = environment -> {
139+
public DataFetcher<?> productsForDepartmentDataLoaderDataFetcher = environment -> {
140140
Department department = environment.getSource();
141-
return productsForDepartmentDataLoader.load(department.getId());
141+
return environment.getDataLoader("products").load(department.getId());
142142
};
143143

144144
private <T> CompletableFuture<T> maybeAsyncWithSleep(Supplier<CompletableFuture<T>> supplier) {

src/test/groovy/graphql/execution/instrumentation/dataloader/DataLoaderTypeMismatchTest.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import graphql.schema.idl.SchemaGenerator
99
import graphql.schema.idl.SchemaParser
1010
import org.dataloader.BatchLoader
1111
import org.dataloader.DataLoader
12+
import org.dataloader.DataLoaderFactory
1213
import org.dataloader.DataLoaderRegistry
1314
import spock.lang.Specification
1415

@@ -36,7 +37,7 @@ class DataLoaderTypeMismatchTest extends Specification {
3637

3738
def typeDefinitionRegistry = new SchemaParser().parse(sdl)
3839

39-
def dataLoader = new DataLoader<Object, Object>(new BatchLoader<Object, Object>() {
40+
def dataLoader = DataLoaderFactory.newDataLoader(new BatchLoader<Object, Object>() {
4041
@Override
4142
CompletionStage<List<Object>> load(List<Object> keys) {
4243
return CompletableFuture.completedFuture([
@@ -50,7 +51,7 @@ class DataLoaderTypeMismatchTest extends Specification {
5051
def todosDef = new DataFetcher<CompletableFuture<Object>>() {
5152
@Override
5253
CompletableFuture<Object> get(DataFetchingEnvironment environment) {
53-
return dataLoader.load(environment)
54+
return environment.getDataLoader("getTodos").load(environment)
5455
}
5556
}
5657

src/test/groovy/graphql/execution/instrumentation/dataloader/Issue1178DataLoaderDispatchTest.groovy

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import graphql.schema.StaticDataFetcher
88
import graphql.schema.idl.RuntimeWiring
99
import org.dataloader.BatchLoader
1010
import org.dataloader.DataLoader
11+
import org.dataloader.DataLoaderFactory
1112
import org.dataloader.DataLoaderRegistry
1213
import spock.lang.Specification
1314

@@ -40,15 +41,15 @@ class Issue1178DataLoaderDispatchTest extends Specification {
4041

4142
def executor = Executors.newFixedThreadPool(5)
4243

43-
def dataLoader = new DataLoader<Object, Object>(new BatchLoader<Object, Object>() {
44+
def dataLoader = DataLoaderFactory.newDataLoader(new BatchLoader<Object, Object>() {
4445
@Override
4546
CompletionStage<List<Object>> load(List<Object> keys) {
4647
return CompletableFuture.supplyAsync({
4748
return keys.collect({ [id: 'r' + it] })
4849
}, executor)
4950
}
5051
})
51-
def dataLoader2 = new DataLoader<Object, Object>(new BatchLoader<Object, Object>() {
52+
def dataLoader2 = DataLoaderFactory.newDataLoader(new BatchLoader<Object, Object>() {
5253
@Override
5354
CompletionStage<List<Object>> load(List<Object> keys) {
5455
return CompletableFuture.supplyAsync({
@@ -61,8 +62,8 @@ class Issue1178DataLoaderDispatchTest extends Specification {
6162
dataLoaderRegistry.register("todo.related", dataLoader)
6263
dataLoaderRegistry.register("todo.related2", dataLoader2)
6364

64-
def relatedDf = new MyDataFetcher(dataLoader)
65-
def relatedDf2 = new MyDataFetcher(dataLoader2)
65+
def relatedDf = new MyDataFetcher("todo.related")
66+
def relatedDf2 = new MyDataFetcher("todo.related2")
6667

6768
def wiring = RuntimeWiring.newRuntimeWiring()
6869
.type(newTypeWiring("Query")
@@ -119,16 +120,16 @@ class Issue1178DataLoaderDispatchTest extends Specification {
119120

120121
static class MyDataFetcher implements DataFetcher<CompletableFuture<Object>> {
121122

122-
private final DataLoader dataLoader
123+
private final String name
123124

124-
MyDataFetcher(DataLoader dataLoader) {
125-
this.dataLoader = dataLoader
125+
MyDataFetcher(String name) {
126+
this.name = name
126127
}
127128

128129
@Override
129130
CompletableFuture<Object> get(DataFetchingEnvironment environment) {
130131
def todo = environment.source as Map
131-
return dataLoader.load(todo['id'])
132+
return environment.getDataLoader(name).load(todo['id'])
132133
}
133134
}
134135
}

src/test/groovy/graphql/execution/instrumentation/dataloader/PeopleCompaniesAndProductsDataLoaderTest.groovy

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import graphql.schema.DataFetchingEnvironment
1212
import graphql.schema.idl.RuntimeWiring
1313
import org.dataloader.BatchLoader
1414
import org.dataloader.DataLoader
15+
import org.dataloader.DataLoaderFactory
1516
import org.dataloader.DataLoaderRegistry
1617
import spock.lang.Specification
1718

@@ -168,8 +169,8 @@ class PeopleCompaniesAndProductsDataLoaderTest extends Specification {
168169

169170

170171
private DataLoaderRegistry buildRegistry() {
171-
DataLoader<Integer, Person> personDataLoader = new DataLoader<>(personBatchLoader)
172-
DataLoader<Integer, Company> companyDataLoader = new DataLoader<>(companyBatchLoader)
172+
DataLoader<Integer, Person> personDataLoader = DataLoaderFactory.newDataLoader(personBatchLoader)
173+
DataLoader<Integer, Company> companyDataLoader = DataLoaderFactory.newDataLoader(companyBatchLoader)
173174

174175
DataLoaderRegistry registry = new DataLoaderRegistry()
175176
registry.register("person", personDataLoader)

src/test/groovy/graphql/schema/DataFetchingEnvironmentImplTest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class DataFetchingEnvironmentImplTest extends Specification {
7373
dfe.getVariables() == variables
7474
dfe.getOperationDefinition() == operationDefinition
7575
dfe.getExecutionId() == executionId
76-
dfe.getDataLoader("dataLoader") == dataLoader
76+
dfe.getDataLoader("dataLoader") != null
7777
}
7878

7979
def "create environment from existing one will copy everything to new instance"() {
@@ -118,7 +118,7 @@ class DataFetchingEnvironmentImplTest extends Specification {
118118
dfe.getDocument() == dfeCopy.getDocument()
119119
dfe.getOperationDefinition() == dfeCopy.getOperationDefinition()
120120
dfe.getVariables() == dfeCopy.getVariables()
121-
dfe.getDataLoader("dataLoader") == dataLoader
121+
dfe.getDataLoader("dataLoader") != null
122122
dfe.getLocale() == dfeCopy.getLocale()
123123
dfe.getLocalContext() == dfeCopy.getLocalContext()
124124
}

0 commit comments

Comments
 (0)