@@ -160,7 +160,6 @@ mod tests {
160
160
161
161
use super :: elastic_api_handlers;
162
162
use super :: model:: ElasticsearchError ;
163
- use crate :: elasticsearch_api:: model:: MultiSearchResponse ;
164
163
use crate :: elasticsearch_api:: rest_handler:: es_compat_cluster_info_handler;
165
164
use crate :: rest:: recover_fn;
166
165
use crate :: BuildInfo ;
@@ -224,12 +223,17 @@ mod tests {
224
223
assert_eq ! ( resp. status( ) , 200 ) ;
225
224
assert ! ( resp. headers( ) . get( "x-elastic-product" ) . is_none( ) , ) ;
226
225
let string_body = String :: from_utf8 ( resp. body ( ) . to_vec ( ) ) . unwrap ( ) ;
227
- let es_msearch_response: MultiSearchResponse = serde_json:: from_str ( & string_body) . unwrap ( ) ;
228
- assert_eq ! ( es_msearch_response. responses. len( ) , 2 ) ;
229
- for response in es_msearch_response. responses {
230
- assert_eq ! ( response. status, 200 ) ;
231
- assert_eq ! ( response. error, None ) ;
232
- assert ! ( response. response. is_some( ) )
226
+ let es_msearch_response: serde_json:: Value = serde_json:: from_str ( & string_body) . unwrap ( ) ;
227
+ let responses = es_msearch_response
228
+ . get ( "responses" )
229
+ . unwrap ( )
230
+ . as_array ( )
231
+ . unwrap ( ) ;
232
+ assert_eq ! ( responses. len( ) , 2 ) ;
233
+ for response in responses {
234
+ assert_eq ! ( response. get( "status" ) . unwrap( ) . as_u64( ) . unwrap( ) , 200 ) ;
235
+ assert_eq ! ( response. get( "error" ) , None ) ;
236
+ response. get ( "hits" ) . unwrap ( ) ;
233
237
}
234
238
}
235
239
@@ -279,15 +283,20 @@ mod tests {
279
283
. reply ( & es_search_api_handler)
280
284
. await ;
281
285
assert_eq ! ( resp. status( ) , 200 ) ;
282
- let es_msearch_response: MultiSearchResponse = serde_json:: from_slice ( resp. body ( ) ) . unwrap ( ) ;
283
- assert_eq ! ( es_msearch_response. responses. len( ) , 2 ) ;
284
- assert_eq ! ( es_msearch_response. responses[ 0 ] . status, 200 ) ;
285
- assert ! ( es_msearch_response. responses[ 0 ] . error. is_none( ) ) ;
286
- assert_eq ! ( es_msearch_response. responses[ 1 ] . status, 500 ) ;
287
- assert ! ( es_msearch_response. responses[ 1 ] . response. is_none( ) ) ;
288
- let error_cause = es_msearch_response. responses [ 1 ] . error . as_ref ( ) . unwrap ( ) ;
286
+ let es_msearch_response: serde_json:: Value = serde_json:: from_slice ( resp. body ( ) ) . unwrap ( ) ;
287
+ let responses = es_msearch_response
288
+ . get ( "responses" )
289
+ . unwrap ( )
290
+ . as_array ( )
291
+ . unwrap ( ) ;
292
+ assert_eq ! ( responses. len( ) , 2 ) ;
293
+ assert_eq ! ( responses[ 0 ] . get( "status" ) . unwrap( ) . as_u64( ) . unwrap( ) , 200 ) ;
294
+ assert_eq ! ( responses[ 0 ] . get( "error" ) , None ) ;
295
+ assert_eq ! ( responses[ 1 ] . get( "status" ) . unwrap( ) . as_u64( ) . unwrap( ) , 500 ) ;
296
+ assert_eq ! ( responses[ 1 ] . get( "hits" ) , None ) ;
297
+ let error_cause = responses[ 1 ] . get ( "error" ) . unwrap ( ) ;
289
298
assert_eq ! (
290
- error_cause. reason. as_ref ( ) . unwrap( ) ,
299
+ error_cause. get ( " reason" ) . unwrap ( ) . as_str ( ) . unwrap( ) ,
291
300
"internal error: `something bad happened`"
292
301
) ;
293
302
}
0 commit comments