Skip to content

Commit 41d7344

Browse files
committed
chore(cdp): Improve coverage
1 parent 07c2c6a commit 41d7344

File tree

3 files changed

+656
-0
lines changed

3 files changed

+656
-0
lines changed

src/models/signer/config.rs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,4 +692,46 @@ mod tests {
692692
"0x0000000000000000000000000000000000000000"
693693
);
694694
}
695+
696+
#[test]
697+
fn test_cdp_file_config_conversion_api_key_secret_error() {
698+
let cfg = CdpSignerFileConfig {
699+
api_key_id: "id".into(),
700+
api_key_secret: PlainOrEnvValue::Env {
701+
value: "NONEXISTENT_ENV_VAR".into(),
702+
},
703+
wallet_secret: PlainOrEnvValue::Plain {
704+
value: SecretString::new("wsecret"),
705+
},
706+
account_address: "0x0000000000000000000000000000000000000000".into(),
707+
};
708+
let res = CdpSignerConfig::try_from(cfg);
709+
assert!(res.is_err());
710+
let err = res.unwrap_err();
711+
assert!(matches!(err, ConfigFileError::InvalidFormat(_)));
712+
if let ConfigFileError::InvalidFormat(msg) = err {
713+
assert!(msg.contains("Failed to get API key secret"));
714+
}
715+
}
716+
717+
#[test]
718+
fn test_cdp_file_config_conversion_wallet_secret_error() {
719+
let cfg = CdpSignerFileConfig {
720+
api_key_id: "id".into(),
721+
api_key_secret: PlainOrEnvValue::Plain {
722+
value: SecretString::new("asecret"),
723+
},
724+
wallet_secret: PlainOrEnvValue::Env {
725+
value: "NONEXISTENT_ENV_VAR".into(),
726+
},
727+
account_address: "0x0000000000000000000000000000000000000000".into(),
728+
};
729+
let res = CdpSignerConfig::try_from(cfg);
730+
assert!(res.is_err());
731+
let err = res.unwrap_err();
732+
assert!(matches!(err, ConfigFileError::InvalidFormat(_)));
733+
if let ConfigFileError::InvalidFormat(msg) = err {
734+
assert!(msg.contains("Failed to get wallet secret"));
735+
}
736+
}
695737
}

src/models/signer/repository.rs

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)