@@ -572,4 +572,62 @@ mod tests {
572572 let converted_data = converted_back. raw_key . borrow ( ) ;
573573 assert_eq ! ( * original_data, * converted_data) ;
574574 }
575+
576+ #[ test]
577+ fn test_cdp_config_storage_conversion ( ) {
578+ use crate :: models:: SecretString ;
579+
580+ let domain_config = CdpSignerConfig {
581+ api_key_id : "test-api-key-id" . to_string ( ) ,
582+ api_key_secret : SecretString :: new ( "test-api-secret" ) ,
583+ wallet_secret : SecretString :: new ( "test-wallet-secret" ) ,
584+ account_address : "0x1234567890123456789012345678901234567890" . to_string ( ) ,
585+ } ;
586+
587+ let storage_config = CdpSignerConfigStorage :: from ( domain_config. clone ( ) ) ;
588+ let converted_back = CdpSignerConfig :: from ( storage_config) ;
589+
590+ assert_eq ! ( domain_config. api_key_id, converted_back. api_key_id) ;
591+ assert_eq ! (
592+ domain_config. account_address,
593+ converted_back. account_address
594+ ) ;
595+ assert_eq ! (
596+ domain_config. api_key_secret. to_str( ) ,
597+ converted_back. api_key_secret. to_str( )
598+ ) ;
599+ assert_eq ! (
600+ domain_config. wallet_secret. to_str( ) ,
601+ converted_back. wallet_secret. to_str( )
602+ ) ;
603+ }
604+
605+ #[ test]
606+ fn test_signer_config_storage_get_cdp ( ) {
607+ use crate :: models:: SecretString ;
608+
609+ let cdp_storage = CdpSignerConfigStorage {
610+ api_key_id : "test-id" . to_string ( ) ,
611+ api_key_secret : SecretString :: new ( "secret" ) ,
612+ wallet_secret : SecretString :: new ( "wallet-secret" ) ,
613+ account_address : "0x1234567890123456789012345678901234567890" . to_string ( ) ,
614+ } ;
615+
616+ let config_storage = SignerConfigStorage :: Cdp ( cdp_storage) ;
617+ let retrieved_cdp = config_storage. get_cdp ( ) ;
618+ assert ! ( retrieved_cdp. is_some( ) ) ;
619+ assert_eq ! ( retrieved_cdp. unwrap( ) . api_key_id, "test-id" ) ;
620+ }
621+
622+ #[ test]
623+ fn test_signer_config_storage_get_cdp_from_non_cdp ( ) {
624+ let aws_storage = AwsKmsSignerConfigStorage {
625+ region : Some ( "us-east-1" . to_string ( ) ) ,
626+ key_id : "test-key" . to_string ( ) ,
627+ } ;
628+
629+ let config_storage = SignerConfigStorage :: AwsKms ( aws_storage) ;
630+ let retrieved_cdp = config_storage. get_cdp ( ) ;
631+ assert ! ( retrieved_cdp. is_none( ) ) ;
632+ }
575633}
0 commit comments