@@ -510,9 +510,73 @@ pub fn validator_exit_defaults() {
510
510
} ) ;
511
511
}
512
512
513
+ #[ test]
514
+ pub fn validator_exit_exit_epoch_and_presign_flags ( ) {
515
+ CommandLineTest :: validators_exit ( )
516
+ . flag (
517
+ "--validators" ,
518
+ Some ( & format ! ( "{},{}" , EXAMPLE_PUBKEY_0 , EXAMPLE_PUBKEY_1 ) ) ,
519
+ )
520
+ . flag ( "--vc-token" , Some ( "./token.json" ) )
521
+ . flag ( "--exit-epoch" , Some ( "1234567" ) )
522
+ . flag ( "--presign" , None )
523
+ . assert_success ( |config| {
524
+ let expected = ExitConfig {
525
+ vc_url : SensitiveUrl :: parse ( "http://localhost:5062" ) . unwrap ( ) ,
526
+ vc_token_path : PathBuf :: from ( "./token.json" ) ,
527
+ validators_to_exit : vec ! [
528
+ PublicKeyBytes :: from_str( EXAMPLE_PUBKEY_0 ) . unwrap( ) ,
529
+ PublicKeyBytes :: from_str( EXAMPLE_PUBKEY_1 ) . unwrap( ) ,
530
+ ] ,
531
+ beacon_url : None ,
532
+ exit_epoch : Some ( Epoch :: new ( 1234567 ) ) ,
533
+ presign : true ,
534
+ } ;
535
+ assert_eq ! ( expected, config) ;
536
+ } ) ;
537
+ }
538
+
513
539
#[ test]
514
540
pub fn validator_exit_missing_validator_flag ( ) {
515
541
CommandLineTest :: validators_exit ( )
516
542
. flag ( "--vc-token" , Some ( "./token.json" ) )
517
543
. assert_failed ( ) ;
518
544
}
545
+
546
+ #[ test]
547
+ pub fn validator_exit_using_beacon_and_presign_flags ( ) {
548
+ CommandLineTest :: validators_exit ( )
549
+ . flag ( "--vc-token" , Some ( "./token.json" ) )
550
+ . flag (
551
+ "--validators" ,
552
+ Some ( & format ! ( "{},{}" , EXAMPLE_PUBKEY_0 , EXAMPLE_PUBKEY_1 ) ) ,
553
+ )
554
+ . flag ( "--beacon-node" , Some ( "http://localhost:1001" ) )
555
+ . flag ( "--presign" , None )
556
+ . assert_failed ( ) ;
557
+ }
558
+
559
+ #[ test]
560
+ pub fn validator_exit_using_beacon_and_exit_epoch_flags ( ) {
561
+ CommandLineTest :: validators_exit ( )
562
+ . flag ( "--vc-token" , Some ( "./token.json" ) )
563
+ . flag (
564
+ "--validators" ,
565
+ Some ( & format ! ( "{},{}" , EXAMPLE_PUBKEY_0 , EXAMPLE_PUBKEY_1 ) ) ,
566
+ )
567
+ . flag ( "--beacon-node" , Some ( "http://localhost:1001" ) )
568
+ . flag ( "--exit-epoch" , Some ( "1234567" ) )
569
+ . assert_failed ( ) ;
570
+ }
571
+
572
+ #[ test]
573
+ pub fn validator_exit_exit_epoch_flag_requires_presign_flag ( ) {
574
+ CommandLineTest :: validators_exit ( )
575
+ . flag ( "--vc-token" , Some ( "./token.json" ) )
576
+ . flag (
577
+ "--validators" ,
578
+ Some ( & format ! ( "{},{}" , EXAMPLE_PUBKEY_0 , EXAMPLE_PUBKEY_1 ) ) ,
579
+ )
580
+ . flag ( "--exit-epoch" , Some ( "1234567" ) )
581
+ . assert_failed ( ) ;
582
+ }
0 commit comments