@@ -82,6 +82,12 @@ mod tests {
82
82
}
83
83
}
84
84
85
+ #[ cfg( feature = "postgres" ) ]
86
+ const BACKEND : & str = "postgres" ;
87
+
88
+ #[ cfg( feature = "sqlite" ) ]
89
+ const BACKEND : & str = "sqlite" ;
90
+
85
91
#[ cfg( feature = "postgres" ) ]
86
92
const MIGRATION : & [ & str ] = & [
87
93
"CREATE SCHEMA infer_test;" ,
@@ -151,7 +157,9 @@ mod tests {
151
157
print ( & conn, None , & mut out) . unwrap ( ) ;
152
158
153
159
let s = String :: from_utf8 ( out) . unwrap ( ) ;
154
- insta:: assert_snapshot!( & s) ;
160
+ insta:: with_settings!( { snapshot_suffix => BACKEND } , {
161
+ insta:: assert_snapshot!( "infer_schema" , & s) ;
162
+ } ) ;
155
163
}
156
164
157
165
#[ test]
@@ -311,41 +319,45 @@ mod tests {
311
319
std:: thread:: sleep ( std:: time:: Duration :: from_secs ( 1 ) ) ;
312
320
313
321
let query = "{\" query\" : \" { Users { id name } } \" }" ;
314
- let mut r = client
315
- . post ( & format ! ( "http://{}/graphql" , listen_url) )
316
- . body ( query)
317
- . header (
318
- reqwest:: header:: CONTENT_TYPE ,
319
- reqwest:: header:: HeaderValue :: from_static ( "application/json" ) ,
320
- )
321
- . send ( )
322
- . unwrap ( ) ;
323
- insta:: assert_json_snapshot!( r. json:: <serde_json:: Value >( ) . unwrap( ) ) ;
324
-
325
322
let mutation = r#"{"query":"mutation CreateUser {\n CreateUser(NewUser: {name: \"Max\"}) {\n id\n name\n }\n}","variables":null,"operationName":"CreateUser"}"# ;
326
- let mut r = client
327
- . post ( & format ! ( "http://{}/graphql" , listen_url) )
328
- . body ( mutation)
329
- . header (
330
- reqwest:: header:: CONTENT_TYPE ,
331
- reqwest:: header:: HeaderValue :: from_static ( "application/json" ) ,
332
- )
333
- . send ( )
334
- . unwrap ( ) ;
335
- insta:: assert_json_snapshot!( r. json:: <serde_json:: Value >( ) . unwrap( ) ) ;
323
+ let t1 = request_test ( & client, & listen_url, query, "round_trip_test__query_1" ) ;
324
+ let t2 = request_test ( & client, & listen_url, mutation, "round_trip_test__mutation" ) ;
325
+ let t3 = request_test ( & client, & listen_url, query, "round_trip_test__query_2" ) ;
326
+
327
+ child. kill ( ) . unwrap ( ) ;
328
+ child. wait ( ) . unwrap ( ) ;
329
+
330
+ t1. unwrap ( ) ;
331
+ t2. unwrap ( ) ;
332
+ t3. unwrap ( ) ;
333
+ }
334
+
335
+ fn request_test (
336
+ client : & reqwest:: Client ,
337
+ listen_url : & str ,
338
+ body : & ' static str ,
339
+ snapshot_name : & ' static str ,
340
+ ) -> Result < ( ) , String > {
341
+ fn error_mapper < T : std:: fmt:: Debug > ( e : T ) -> String {
342
+ format ! ( "{:?}" , e)
343
+ }
336
344
337
345
let mut r = client
338
346
. post ( & format ! ( "http://{}/graphql" , listen_url) )
339
- . body ( query )
347
+ . body ( body )
340
348
. header (
341
349
reqwest:: header:: CONTENT_TYPE ,
342
350
reqwest:: header:: HeaderValue :: from_static ( "application/json" ) ,
343
351
)
344
352
. send ( )
345
- . unwrap ( ) ;
346
- insta:: assert_json_snapshot!( r. json:: <serde_json:: Value >( ) . unwrap( ) ) ;
347
-
348
- child. kill ( ) . unwrap ( ) ;
349
- child. wait ( ) . unwrap ( ) ;
353
+ . map_err ( error_mapper) ?;
354
+ let r = r. json :: < serde_json:: Value > ( ) . map_err ( error_mapper) ?;
355
+ std:: panic:: catch_unwind ( || {
356
+ insta:: with_settings!( { snapshot_suffix => "" } , {
357
+ insta:: assert_json_snapshot!( snapshot_name, r)
358
+ } )
359
+ } )
360
+ . map_err ( error_mapper) ?;
361
+ Ok ( ( ) )
350
362
}
351
363
}
0 commit comments