29
29
import org .springframework .core .ParameterizedTypeReference ;
30
30
import org .springframework .graphql .ExecutionGraphQlRequest ;
31
31
import org .springframework .graphql .ExecutionGraphQlService ;
32
+ import org .springframework .graphql .GraphQlRequest ;
32
33
33
34
import static org .assertj .core .api .Assertions .assertThat ;
34
35
import static org .assertj .core .api .Assertions .assertThatThrownBy ;
@@ -197,13 +198,13 @@ void entityList() {
197
198
void nestedPath () {
198
199
199
200
String document = "{me {name, friends}}" ;
200
- getGraphQlService ().setDataAsJson (document ,
201
- "{" +
202
- " \" me \ " :{" +
203
- " \" name\" : \ " Luke Skywalker\" ,"
204
- + " \" friends\ " :[{\ " name\" : \ " Han Solo\ " }, {\ " name\" : \ " Leia Organa\ " }]" +
205
- " }" +
206
- "} " );
201
+ getGraphQlService ().setDataAsJson (document , """
202
+ {
203
+ "me ":{
204
+ " name": "Luke Skywalker",
205
+ " friends":[{"name": "Han Solo"}, {"name": "Leia Organa"}]
206
+ }
207
+ }"" " );
207
208
208
209
graphQlTester ().document (document ).execute ()
209
210
.path ("me" , me -> me
@@ -215,11 +216,12 @@ void nestedPath() {
215
216
@ Test
216
217
void operationNameAndVariables () {
217
218
218
- String document = "query HeroNameAndFriends($episode: Episode) {" +
219
- " hero(episode: $episode) {" +
220
- " name"
221
- + " }" +
222
- "}" ;
219
+ String document = """
220
+ query HeroNameAndFriends($episode: Episode) {
221
+ hero(episode: $episode) {
222
+ name
223
+ }
224
+ }""" ;
223
225
224
226
getGraphQlService ().setDataAsJson (document , "{\" hero\" : {\" name\" :\" R2-D2\" }}" );
225
227
@@ -242,36 +244,24 @@ void operationNameAndVariables() {
242
244
}
243
245
244
246
@ Test
245
- void operationNameAndVariablesAsMap () {
247
+ void variablesAsMap () {
246
248
247
- String document = "query HeroNameAndFriends($episode: Episode) {" +
248
- " hero(episode: $episode) {" +
249
- " name"
250
- + " }" +
251
- "}" ;
249
+ String document = """
250
+ query HeroNameAndFriends($episode: Episode) {
251
+ hero(episode: $episode) {
252
+ name
253
+ }
254
+ }""" ;
252
255
253
256
getGraphQlService ().setDataAsJson (document , "{\" hero\" : {\" name\" :\" R2-D2\" }}" );
254
257
255
- Map <String , Object > variableMap = new LinkedHashMap <>();
256
-
257
- variableMap .put ("episode" , Optional .of ("JEDI" ));
258
- variableMap .put ("foo" , Optional .of ("bar" ));
259
- variableMap .put ("keyOnly" , Optional .ofNullable (null ));
260
-
261
- GraphQlTester .Response response = graphQlTester ().document (document )
262
- .operationName ("HeroNameAndFriends" )
263
- .variable (variableMap )
264
- .execute ();
258
+ Map <String , Object > vars = Map .of (
259
+ "episode" , Optional .of ("JEDI" ), "foo" , Optional .of ("bar" ), "keyOnly" , Optional .empty ());
265
260
266
- response . path ( "hero" ). entity ( MovieCharacter . class ). isEqualTo ( MovieCharacter . create ( "R2-D2" ) );
261
+ graphQlTester (). document ( document ). variables ( vars ). execute ( );
267
262
268
- ExecutionGraphQlRequest request = getGraphQlService ().getGraphQlRequest ();
269
- assertThat (request .getDocument ()).contains (document );
270
- assertThat (request .getOperationName ()).isEqualTo ("HeroNameAndFriends" );
271
- assertThat (request .getVariables ()).hasSize (3 );
272
- assertThat (request .getVariables ()).containsEntry ("episode" , Optional .of ("JEDI" ));
273
- assertThat (request .getVariables ()).containsEntry ("foo" , Optional .of ("bar" ));
274
- assertThat (request .getVariables ()).containsEntry ("keyOnly" , Optional .ofNullable (null ));
263
+ GraphQlRequest request = getGraphQlService ().getGraphQlRequest ();
264
+ assertThat (request .getVariables ()).containsExactlyEntriesOf (vars );
275
265
}
276
266
277
267
@ Test
0 commit comments