Files
khadhroony-solana-project/crates/ksp-app-wallet-desk/unit_tests/wallet_security.rs
2026-08-21 15:22:42 +02:00

29 lines
1.1 KiB
Rust

// file: crates/ksp-app-wallet-desk/unit_tests/wallet_security.rs
// version: 2
#[test]
fn password_rotation_request_is_deserializable_without_copy_contracts() {
fn assert_deserializable<T>(_marker: std::marker::PhantomData<T>)
where
T: serde::de::DeserializeOwned,
{
return;
}
assert_deserializable(std::marker::PhantomData::<crate::WalletPasswordRotationRequestDto>);
}
#[test]
fn view_security_status_is_serializable_and_contains_no_password_field() {
fn assert_serializable<T>(_marker: std::marker::PhantomData<T>)
where
T: serde::Serialize,
{
return;
}
assert_serializable(std::marker::PhantomData::<crate::WalletViewSecurityStatusDto>);
let source = include_str!("../src/wallet_security.rs");
let status = source.split("pub(crate) struct WalletViewSecurityStatusDto").nth(1).unwrap_or_default().split("}\n").next().unwrap_or_default();
let fields = status.lines().filter(|line| return line.trim_start().starts_with("pub(crate) ")).collect::<std::vec::Vec<_>>().join("\n");
assert!(!fields.contains("password"));
}