@@ -47,13 +47,7 @@ class EntitiesClientApiGenTest {
4747 }
4848 """ .trimIndent()
4949
50- val codeGenResult = CodeGen (
51- CodeGenConfig (
52- schemas = setOf (schema),
53- packageName = basePackageName,
54- generateClientApi = true
55- )
56- ).generate()
50+ val codeGenResult = codeGen(schema)
5751
5852 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
5953 assertThat(projections[0 ].typeSpec.name).isEqualTo(" EntitiesProjectionRoot" )
@@ -69,7 +63,7 @@ class EntitiesClientApiGenTest {
6963 assertThat(representation.typeSpec.fieldSpecs).extracting(" name" )
7064 .containsExactlyInAnyOrder(" __typename" , " movieId" )
7165
72- assertCompilesJava( codeGenResult.javaSources() )
66+ codeGenResult.assertCompile( )
7367 }
7468
7569 @Test
@@ -91,13 +85,7 @@ class EntitiesClientApiGenTest {
9185 }
9286 """ .trimIndent()
9387
94- val codeGenResult = CodeGen (
95- CodeGenConfig (
96- schemas = setOf (schema),
97- packageName = basePackageName,
98- generateClientApi = true
99- )
100- ).generate()
88+ val codeGenResult = codeGen(schema)
10189
10290 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
10391 assertThat(projections[0 ].typeSpec.name).isEqualTo(" EntitiesProjectionRoot" )
@@ -111,7 +99,7 @@ class EntitiesClientApiGenTest {
11199 assertThat(representation.typeSpec.fieldSpecs).extracting(" name" )
112100 .containsExactlyInAnyOrder(" __typename" , " movieId" )
113101
114- assertCompilesJava( codeGenResult.javaSources() )
102+ codeGenResult.assertCompile( )
115103 }
116104
117105 @Test
@@ -137,13 +125,7 @@ class EntitiesClientApiGenTest {
137125 }
138126 """ .trimIndent()
139127
140- val codeGenResult = CodeGen (
141- CodeGenConfig (
142- schemas = setOf (schema),
143- packageName = basePackageName,
144- generateClientApi = true
145- )
146- ).generate()
128+ val codeGenResult = codeGen(schema)
147129
148130 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
149131 assertThat(projections[0 ].typeSpec.name).isEqualTo(" EntitiesProjectionRoot" )
@@ -153,15 +135,15 @@ class EntitiesClientApiGenTest {
153135 assertThat(projections[3 ].typeSpec.name).isEqualTo(" EntitiesMovieKey_Actor_ActorProjection" )
154136
155137 val representations = codeGenResult.javaDataTypes.filter { " Representation" in it.typeSpec.name }
156- assertThat(representations.size).isEqualTo (2 )
138+ assertThat(representations).hasSize (2 )
157139 assertThat(representations[0 ].typeSpec.name).isEqualTo(" MovieRepresentation" )
158140 assertThat(representations[0 ].typeSpec.fieldSpecs).extracting(" name" )
159141 .containsExactlyInAnyOrder(" __typename" , " actor" )
160142 assertThat(representations[1 ].typeSpec.name).isEqualTo(" IActorRepresentation" )
161143 assertThat(representations[1 ].typeSpec.fieldSpecs).extracting(" name" )
162144 .containsExactlyInAnyOrder(" __typename" , " name" )
163145
164- assertCompilesJava( codeGenResult.javaSources() )
146+ codeGenResult.assertCompile( )
165147 }
166148
167149 @Test
@@ -182,13 +164,7 @@ class EntitiesClientApiGenTest {
182164 }
183165 """ .trimIndent()
184166
185- val codeGenResult = CodeGen (
186- CodeGenConfig (
187- schemas = setOf (schema),
188- packageName = basePackageName,
189- generateClientApi = true
190- )
191- ).generate()
167+ val codeGenResult = codeGen(schema)
192168
193169 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
194170 assertThat(projections[0 ].typeSpec.name).isEqualTo(" EntitiesProjectionRoot" )
@@ -197,15 +173,15 @@ class EntitiesClientApiGenTest {
197173 assertThat(projections[2 ].typeSpec.name).isEqualTo(" EntitiesMovieKey_ActorsProjection" )
198174
199175 val representations = codeGenResult.javaDataTypes.filter { " Representation" in it.typeSpec.name }
200- assertThat(representations.size).isEqualTo (2 )
176+ assertThat(representations).hasSize (2 )
201177 assertThat(representations[0 ].typeSpec.name).isEqualTo(" MovieRepresentation" )
202178 assertThat(representations[0 ].typeSpec.fieldSpecs).extracting(" name" )
203179 .containsExactlyInAnyOrder(" __typename" , " movieId" , " actors" )
204180 assertThat(representations[0 ].typeSpec.fieldSpecs[1 ]).extracting(" type" )
205181 .toString()
206182 .contains(" java.util.List<com.netflix.graphql.dgs.codegen.tests.generated.client.ActorRepresentation>" )
207183
208- assertCompilesJava( codeGenResult.javaSources() )
184+ codeGenResult.assertCompile( )
209185 }
210186
211187 @Test
@@ -233,13 +209,7 @@ class EntitiesClientApiGenTest {
233209
234210 """ .trimIndent()
235211
236- val codeGenResult = CodeGen (
237- CodeGenConfig (
238- schemas = setOf (schema),
239- packageName = basePackageName,
240- generateClientApi = true
241- )
242- ).generate()
212+ val codeGenResult = codeGen(schema)
243213
244214 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
245215 assertThat(projections[0 ].typeSpec.name).isEqualTo(" EntitiesProjectionRoot" )
@@ -253,7 +223,7 @@ class EntitiesClientApiGenTest {
253223 assertThat(projections[6 ].typeSpec.name).isEqualTo(" EntitiesMovieCastKey_ActorProjection" )
254224
255225 val representations = codeGenResult.javaDataTypes.filter { " Representation" in it.typeSpec.name }
256- assertThat(representations.size).isEqualTo (3 )
226+ assertThat(representations).hasSize (3 )
257227 assertThat(representations[0 ].typeSpec.name).isEqualTo(" MovieRepresentation" )
258228 assertThat(representations[0 ].typeSpec.fieldSpecs).extracting(" name" )
259229 .containsExactlyInAnyOrder(" __typename" , " movieId" , " actor" )
@@ -264,7 +234,7 @@ class EntitiesClientApiGenTest {
264234 assertThat(representations[2 ].typeSpec.fieldSpecs).extracting(" name" )
265235 .containsExactlyInAnyOrder(" __typename" , " movie" , " actor" )
266236
267- assertCompilesJava( codeGenResult.javaSources() )
237+ codeGenResult.assertCompile( )
268238 }
269239
270240 @Test
@@ -287,13 +257,7 @@ class EntitiesClientApiGenTest {
287257
288258 """ .trimIndent()
289259
290- val codeGenResult = CodeGen (
291- CodeGenConfig (
292- schemas = setOf (schema),
293- packageName = basePackageName,
294- generateClientApi = true
295- )
296- ).generate()
260+ val codeGenResult = codeGen(schema)
297261
298262 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
299263 assertThat(projections[0 ].typeSpec.name).isEqualTo(" EntitiesProjectionRoot" )
@@ -304,15 +268,15 @@ class EntitiesClientApiGenTest {
304268 assertThat(projections[3 ].typeSpec.name).isEqualTo(" EntitiesMovieActorKeyProjection" )
305269
306270 val representations = codeGenResult.javaDataTypes.filter { " Representation" in it.typeSpec.name }
307- assertThat(representations.size).isEqualTo (2 )
271+ assertThat(representations).hasSize (2 )
308272 assertThat(representations[0 ].typeSpec.name).isEqualTo(" MovieRepresentation" )
309273 assertThat(representations[0 ].typeSpec.fieldSpecs).extracting(" name" )
310274 .containsExactlyInAnyOrder(" __typename" , " movieId" )
311275 assertThat(representations[1 ].typeSpec.name).isEqualTo(" MovieActorRepresentation" )
312276 assertThat(representations[1 ].typeSpec.fieldSpecs).extracting(" name" )
313277 .containsExactlyInAnyOrder(" __typename" , " name" )
314278
315- assertCompilesJava( codeGenResult.javaSources() )
279+ codeGenResult.assertCompile( )
316280 }
317281
318282 @Test
@@ -334,13 +298,7 @@ class EntitiesClientApiGenTest {
334298 }
335299 """ .trimIndent()
336300
337- val codeGenResult = CodeGen (
338- CodeGenConfig (
339- schemas = setOf (schema),
340- packageName = basePackageName,
341- generateClientApi = true
342- )
343- ).generate()
301+ val codeGenResult = codeGen(schema)
344302
345303 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
346304 assertThat(projections[0 ].typeSpec.name).isEqualTo(" EntitiesProjectionRoot" )
@@ -349,15 +307,15 @@ class EntitiesClientApiGenTest {
349307 assertThat(projections[2 ].typeSpec.name).isEqualTo(" EntitiesMovieKey_ActorProjection" )
350308
351309 val representations = codeGenResult.javaDataTypes.filter { " Representation" in it.typeSpec.name }
352- assertThat(representations.size).isEqualTo (2 )
310+ assertThat(representations).hasSize (2 )
353311 assertThat(representations[0 ].typeSpec.name).isEqualTo(" MovieRepresentation" )
354312 assertThat(representations[0 ].typeSpec.fieldSpecs).extracting(" name" )
355313 .containsExactlyInAnyOrder(" __typename" , " movieId" , " actor" )
356314 assertThat(representations[1 ].typeSpec.name).isEqualTo(" PersonRepresentation" )
357315 assertThat(representations[1 ].typeSpec.fieldSpecs).extracting(" name" )
358316 .containsExactlyInAnyOrder(" __typename" , " name" , " age" )
359317
360- assertCompilesJava( codeGenResult.javaSources() )
318+ codeGenResult.assertCompile( )
361319 }
362320
363321 @Test
@@ -381,13 +339,7 @@ class EntitiesClientApiGenTest {
381339 }
382340 """ .trimIndent()
383341
384- val codeGenResult = CodeGen (
385- CodeGenConfig (
386- schemas = setOf (schema),
387- packageName = basePackageName,
388- generateClientApi = true
389- )
390- ).generate()
342+ val codeGenResult = codeGen(schema)
391343
392344 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
393345 assertThat(projections[0 ].typeSpec.name).isEqualTo(" EntitiesProjectionRoot" )
@@ -396,12 +348,13 @@ class EntitiesClientApiGenTest {
396348 assertThat(projections[2 ].typeSpec.name).isEqualTo(" EntitiesMovieKey_GenreProjection" )
397349
398350 val representations = codeGenResult.javaDataTypes.filter { " Representation" in it.typeSpec.name }
399- assertThat(representations.size).isEqualTo (2 )
351+ assertThat(representations).hasSize (2 )
400352 assertThat(representations[0 ].typeSpec.name).isEqualTo(" MovieRepresentation" )
401353 assertThat(representations[0 ].typeSpec.fieldSpecs).extracting(" name" )
402354 .containsExactlyInAnyOrder(" __typename" , " id" , " genre" )
355+ assertThat(representations[1 ].typeSpec.name).isEqualTo(" MovieGenreRepresentation" )
403356
404- assertCompilesJava( codeGenResult.javaSources() )
357+ codeGenResult.assertCompile( )
405358 }
406359
407360 @Test
@@ -436,13 +389,7 @@ class EntitiesClientApiGenTest {
436389 }
437390 """ .trimIndent()
438391
439- val codeGenResult = CodeGen (
440- CodeGenConfig (
441- schemas = setOf (schema),
442- packageName = basePackageName,
443- generateClientApi = true
444- )
445- ).generate()
392+ val codeGenResult = codeGen(schema)
446393
447394 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
448395 assertThat(projections[0 ].typeSpec.name).isEqualTo(" EntitiesProjectionRoot" )
@@ -482,11 +429,11 @@ class EntitiesClientApiGenTest {
482429 assertThat(representations.first { it.typeSpec.name == " LocationRepresentation" }.typeSpec.fieldSpecs)
483430 .extracting(" name" ).containsExactlyInAnyOrder(" __typename" , " id" )
484431
485- assertCompilesJava( codeGenResult.javaSources() )
432+ codeGenResult.assertCompile( )
486433 }
487434
488435 @Test
489- fun testScalarsInEntities () {
436+ fun `Entities can have scalar fields` () {
490437 val schema = """
491438 type Query {
492439 movieCountry: MovieCountry
@@ -500,19 +447,14 @@ class EntitiesClientApiGenTest {
500447
501448 """ .trimIndent()
502449
503- val codeGenResult = CodeGen (
504- CodeGenConfig (
505- schemas = setOf (schema),
506- packageName = basePackageName,
507- generateClientApi = true ,
508- typeMapping = mapOf (" Long" to " java.lang.Long" )
509- )
510- ).generate()
450+ val codeGenResult = codeGen(schema)
451+
511452 val representations = codeGenResult.javaDataTypes.filter { " Representation" in it.typeSpec.name }
512- assertThat(representations.size).isEqualTo (1 )
453+ assertThat(representations).hasSize (1 )
513454 val projections = codeGenResult.clientProjections
514- assertThat(projections.size).isEqualTo(3 )
515- assertCompilesJava(codeGenResult.javaSources())
455+ assertThat(projections).hasSize(3 )
456+
457+ codeGenResult.assertCompile()
516458 }
517459
518460 @Test
@@ -545,6 +487,8 @@ class EntitiesClientApiGenTest {
545487
546488 val projections = codeGenResult.clientProjections.filter { " Entities" in it.typeSpec.name }
547489 assertThat(projections).isEmpty()
490+
491+ codeGenResult.assertCompile()
548492 }
549493
550494 @Test
@@ -564,15 +508,9 @@ class EntitiesClientApiGenTest {
564508 }
565509 """ .trimIndent()
566510
567- val codeGenResult = CodeGen (
568- CodeGenConfig (
569- schemas = setOf (schema),
570- packageName = basePackageName,
571- generateClientApi = true
572- )
573- ).generate()
511+ val codeGenResult = codeGen(schema)
574512 // then
575- val testClassLoader = assertCompilesJava( codeGenResult).toClassLoader()
513+ val testClassLoader = codeGenResult.assertCompile( ).toClassLoader()
576514 // assert projection classes
577515 val (entityRootProjectionClass, entitiesFooKeyProjectionClass, entitiesFooKey_BarFieldProjectionClass, entitiesFooKey_MBarFieldProjection) =
578516 arrayOf(
@@ -618,4 +556,18 @@ class EntitiesClientApiGenTest {
618556 .describedAs(" method: $name " ).isNotNull.returns(returnClass) { it.returnType }
619557 }
620558 }
559+
560+ companion object {
561+ fun codeGen (schema : String ): CodeGenResult {
562+ return CodeGen (
563+ CodeGenConfig (
564+ schemas = setOf (schema),
565+ packageName = basePackageName,
566+ generateClientApi = true ,
567+ language = Language .JAVA
568+ )
569+ ).generate()
570+ }
571+ fun CodeGenResult.assertCompile () = assertCompilesJava(this )
572+ }
621573}
0 commit comments