@@ -132,7 +132,7 @@ impl CertificateHandler for CertificateHandlerHTTPClient {
132
132
Ok ( response) => match response. status ( ) {
133
133
StatusCode :: CREATED => Ok ( ( ) ) ,
134
134
StatusCode :: BAD_REQUEST => Err ( CertificateHandlerError :: RemoteServerLogical (
135
- "bad request" . to_string ( ) ,
135
+ format ! ( "bad request: {}" , response . text ( ) . await . unwrap_or_default ( ) ) ,
136
136
) ) ,
137
137
_ => Err ( CertificateHandlerError :: RemoteServerTechnical (
138
138
response. text ( ) . await . unwrap_or_default ( ) ,
@@ -156,7 +156,7 @@ impl CertificateHandler for CertificateHandlerHTTPClient {
156
156
Ok ( response) => match response. status ( ) {
157
157
StatusCode :: CREATED => Ok ( ( ) ) ,
158
158
StatusCode :: BAD_REQUEST => Err ( CertificateHandlerError :: RemoteServerLogical (
159
- "bad request" . to_string ( ) ,
159
+ format ! ( "bad request: {}" , response . text ( ) . await . unwrap_or_default ( ) ) ,
160
160
) ) ,
161
161
StatusCode :: CONFLICT => Err ( CertificateHandlerError :: RemoteServerLogical (
162
162
"already registered single signatures" . to_string ( ) ,
@@ -262,6 +262,7 @@ impl CertificateHandler for DumbCertificateHandler {
262
262
mod tests {
263
263
use super :: * ;
264
264
use httpmock:: prelude:: * ;
265
+ use mithril_common:: entities:: ClientError ;
265
266
use serde_json:: json;
266
267
use std:: path:: { Path , PathBuf } ;
267
268
@@ -386,12 +387,21 @@ mod tests {
386
387
let ( server, config) = setup_test ( ) ;
387
388
let _snapshots_mock = server. mock ( |when, then| {
388
389
when. method ( POST ) . path ( "/register-signer" ) ;
389
- then. status ( 400 ) ;
390
+ then. status ( 400 ) . body (
391
+ serde_json:: to_vec ( & ClientError :: new (
392
+ "error" . to_string ( ) ,
393
+ "an error" . to_string ( ) ,
394
+ ) )
395
+ . unwrap ( ) ,
396
+ ) ;
390
397
} ) ;
391
398
let certificate_handler = CertificateHandlerHTTPClient :: new ( config. aggregator_endpoint ) ;
392
399
let register_signer = certificate_handler. register_signer ( single_signer) . await ;
393
400
assert_eq ! (
394
- CertificateHandlerError :: RemoteServerLogical ( "bad request" . to_string( ) ) . to_string( ) ,
401
+ CertificateHandlerError :: RemoteServerLogical (
402
+ "bad request: {\" label\" :\" error\" ,\" message\" :\" an error\" }" . to_string( )
403
+ )
404
+ . to_string( ) ,
395
405
register_signer. unwrap_err( ) . to_string( )
396
406
) ;
397
407
}
@@ -435,14 +445,23 @@ mod tests {
435
445
let ( server, config) = setup_test ( ) ;
436
446
let _snapshots_mock = server. mock ( |when, then| {
437
447
when. method ( POST ) . path ( "/register-signatures" ) ;
438
- then. status ( 400 ) ;
448
+ then. status ( 400 ) . body (
449
+ serde_json:: to_vec ( & ClientError :: new (
450
+ "error" . to_string ( ) ,
451
+ "an error" . to_string ( ) ,
452
+ ) )
453
+ . unwrap ( ) ,
454
+ ) ;
439
455
} ) ;
440
456
let certificate_handler = CertificateHandlerHTTPClient :: new ( config. aggregator_endpoint ) ;
441
457
let register_signatures = certificate_handler
442
458
. register_signatures ( & single_signatures)
443
459
. await ;
444
460
assert_eq ! (
445
- CertificateHandlerError :: RemoteServerLogical ( "bad request" . to_string( ) ) . to_string( ) ,
461
+ CertificateHandlerError :: RemoteServerLogical (
462
+ "bad request: {\" label\" :\" error\" ,\" message\" :\" an error\" }" . to_string( )
463
+ )
464
+ . to_string( ) ,
446
465
register_signatures. unwrap_err( ) . to_string( )
447
466
) ;
448
467
}
0 commit comments