v0.3.10-pre.002
This commit is contained in:
26
crates/ksp-raw-transaction-lib/tests/security_hardening.rs
Normal file
26
crates/ksp-raw-transaction-lib/tests/security_hardening.rs
Normal file
@@ -0,0 +1,26 @@
|
||||
// file: crates/ksp-raw-transaction-lib/tests/security_hardening.rs
|
||||
// version: 1
|
||||
|
||||
#[test]
|
||||
fn pre_002_signature_errors_never_echo_hostile_input() {
|
||||
let hostile = format!("{}0", "A".repeat(63));
|
||||
let result = ksp_raw_transaction_lib::parse_raw_transaction_signature(hostile.as_str());
|
||||
assert!(result.is_err());
|
||||
if let std::result::Result::Err(error) = result {
|
||||
assert_eq!(error.code(), ksp_raw_transaction_lib::ERROR_CODE_RAW_TRANSACTION_SIGNATURE_INVALID);
|
||||
assert!(!std::format!("{error:?}").contains(hostile.as_str()));
|
||||
assert!(!error.to_string().contains(hostile.as_str()));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_002_public_error_codes_are_stable_and_domain_scoped() {
|
||||
assert_eq!(ksp_raw_transaction_lib::ERROR_CODE_RAW_TRANSACTION_CANONICALIZATION_INVALID.domain(), "raw_transaction");
|
||||
assert_eq!(ksp_raw_transaction_lib::ERROR_CODE_RAW_TRANSACTION_CANONICALIZATION_INVALID.code(), "canonicalization_invalid");
|
||||
assert_eq!(ksp_raw_transaction_lib::ERROR_CODE_RAW_TRANSACTION_MATERIAL_INVALID.domain(), "raw_transaction");
|
||||
assert_eq!(ksp_raw_transaction_lib::ERROR_CODE_RAW_TRANSACTION_MATERIAL_INVALID.code(), "material_invalid");
|
||||
assert_eq!(ksp_raw_transaction_lib::ERROR_CODE_RAW_TRANSACTION_SIGNATURE_INVALID.domain(), "raw_transaction");
|
||||
assert_eq!(ksp_raw_transaction_lib::ERROR_CODE_RAW_TRANSACTION_SIGNATURE_INVALID.code(), "signature_invalid");
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user