5
5
6
6
use std:: ops:: ControlFlow ;
7
7
8
- use crate :: { checkpoint:: CheckpointService , Object , RouterRequest , RouterResponse } ;
8
+ use crate :: { checkpoint:: CheckpointService , RouterRequest , RouterResponse } ;
9
9
use moka:: sync:: Cache ;
10
10
use serde:: Deserialize ;
11
- use serde_json_bytes:: json;
11
+ use serde_json_bytes:: { json, Value } ;
12
12
use sha2:: { Digest , Sha256 } ;
13
13
use tower:: { BoxError , Layer , Service } ;
14
14
@@ -98,11 +98,11 @@ where
98
98
. unwrap( ) ,
99
99
} ] ;
100
100
let res = RouterResponse :: builder ( )
101
- . data ( Default :: default ( ) )
101
+ . data ( Value :: default ( ) )
102
102
. errors ( errors)
103
- . extensions ( Object :: new ( ) )
104
103
. context ( req. context )
105
- . build ( ) ;
104
+ . build ( )
105
+ . expect ( "response is valid" ) ;
106
106
107
107
Ok ( ControlFlow :: Break ( res) )
108
108
}
@@ -126,7 +126,7 @@ mod apq_tests {
126
126
use crate :: { plugin:: utils:: test:: MockRouterService , Context , ResponseBody } ;
127
127
use serde_json_bytes:: json;
128
128
use std:: borrow:: Cow ;
129
- use std:: sync :: Arc ;
129
+ use std:: collections :: HashMap ;
130
130
use tower:: ServiceExt ;
131
131
132
132
#[ tokio:: test]
@@ -168,7 +168,9 @@ mod apq_tests {
168
168
169
169
assert ! ( body. query. is_some( ) ) ;
170
170
171
- Ok ( RouterResponse :: fake_builder ( ) . build ( ) )
171
+ Ok ( RouterResponse :: fake_builder ( )
172
+ . build ( )
173
+ . expect ( "expecting valid request" ) )
172
174
} ) ;
173
175
mock_service
174
176
// the last one should have the right APQ header and the full query string
@@ -193,33 +195,38 @@ mod apq_tests {
193
195
hash. as_slice( )
194
196
) ) ;
195
197
196
- Ok ( RouterResponse :: fake_builder ( ) . build ( ) )
198
+ Ok ( RouterResponse :: fake_builder ( )
199
+ . build ( )
200
+ . expect ( "expecting valid request" ) )
197
201
} ) ;
198
202
199
203
let mock = mock_service. build ( ) ;
200
204
201
205
let mut service_stack = APQLayer :: default ( ) . layer ( mock) ;
202
206
203
- let extensions = vec ! [ (
204
- "persistedQuery" ,
207
+ let extensions = HashMap :: from ( [ (
208
+ "persistedQuery" . to_string ( ) ,
205
209
json ! ( {
206
210
"version" : 1 ,
207
211
"sha256Hash" : "ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b38"
208
212
} ) ,
209
- ) ] ;
213
+ ) ] ) ;
210
214
211
215
let hash_only = RouterRequest :: fake_builder ( )
212
216
. extensions ( extensions. clone ( ) )
213
- . build ( ) ;
217
+ . build ( )
218
+ . expect ( "expecting valid request" ) ;
214
219
215
220
let second_hash_only = RouterRequest :: fake_builder ( )
216
221
. extensions ( extensions. clone ( ) )
217
- . build ( ) ;
222
+ . build ( )
223
+ . expect ( "expecting valid request" ) ;
218
224
219
225
let with_query = RouterRequest :: fake_builder ( )
220
226
. extensions ( extensions)
221
227
. query ( "{__typename}" . to_string ( ) )
222
- . build ( ) ;
228
+ . build ( )
229
+ . expect ( "expecting valid request" ) ;
223
230
224
231
let services = service_stack. ready ( ) . await . unwrap ( ) ;
225
232
let apq_error = services. call ( hash_only) . await . unwrap ( ) ;
@@ -274,7 +281,9 @@ mod apq_tests {
274
281
275
282
assert ! ( body. query. is_some( ) ) ;
276
283
277
- Ok ( RouterResponse :: fake_builder ( ) . build ( ) )
284
+ Ok ( RouterResponse :: fake_builder ( )
285
+ . build ( )
286
+ . expect ( "expecting valid request" ) )
278
287
} ) ;
279
288
mock_service_builder
280
289
// the second last one should have the right APQ header and the full query string
@@ -300,42 +309,44 @@ mod apq_tests {
300
309
hash. as_slice( )
301
310
) ) ;
302
311
303
- Ok ( RouterResponse :: fake_builder ( ) . build ( ) )
312
+ Ok ( RouterResponse :: fake_builder ( )
313
+ . build ( )
314
+ . expect ( "expecting valid request" ) )
304
315
} ) ;
305
316
306
317
let mock_service = mock_service_builder. build ( ) ;
307
318
308
319
let mut service_stack = APQLayer :: default ( ) . layer ( mock_service) ;
309
320
310
- let extensions = vec ! [ (
311
- "persistedQuery" ,
321
+ let extensions = HashMap :: from ( [ (
322
+ "persistedQuery" . to_string ( ) ,
312
323
json ! ( {
313
324
"version" : 1 ,
314
325
"sha256Hash" : "ecf4edb46db40b5132295c0291d62fb65d6759a9eedfa4d5d612dd5ec54a6b36"
315
326
} ) ,
316
- ) ] ;
327
+ ) ] ) ;
317
328
318
329
let request_builder = RouterRequest :: fake_builder ( ) . extensions ( extensions. clone ( ) ) ;
319
330
320
331
let hash_only = request_builder
321
- . variables ( Arc :: new ( vec ! [ ] . into_iter ( ) . collect ( ) ) )
322
332
. context ( Context :: new ( ) )
323
- . build ( ) ;
333
+ . build ( )
334
+ . expect ( "expecting valid request" ) ;
324
335
325
336
let request_builder = RouterRequest :: fake_builder ( ) . extensions ( extensions. clone ( ) ) ;
326
337
327
338
let second_hash_only = request_builder
328
- . variables ( Arc :: new ( vec ! [ ] . into_iter ( ) . collect ( ) ) )
329
339
. context ( Context :: new ( ) )
330
- . build ( ) ;
340
+ . build ( )
341
+ . expect ( "expecting valid request" ) ;
331
342
332
343
let request_builder = RouterRequest :: fake_builder ( ) . extensions ( extensions) ;
333
344
334
345
let with_query = request_builder
335
346
. query ( "{__typename}" . to_string ( ) )
336
- . variables ( Arc :: new ( vec ! [ ] . into_iter ( ) . collect ( ) ) )
337
347
. context ( Context :: new ( ) )
338
- . build ( ) ;
348
+ . build ( )
349
+ . expect ( "expecting valid request" ) ;
339
350
340
351
let services = service_stack. ready ( ) . await . unwrap ( ) ;
341
352
// This apq call will miss the APQ cache
0 commit comments