Files
khadhroony-solana-project/crates/ksp-app-raw-transaction-ingest-desk/unit_tests/route_monitoring.rs

44 lines
2.1 KiB
Rust

// file: crates/ksp-app-raw-transaction-ingest-desk/unit_tests/route_monitoring.rs
// version: 1
#[test]
fn pre_010_source_gap_and_repair_codes_are_exact_and_source_neutral() {
assert_eq!(super::source_state_code(ksp_worker_raw_transaction_ingest_lib::RawTransactionIngestSourceState::Active), "active");
assert_eq!(super::source_state_code(ksp_worker_raw_transaction_ingest_lib::RawTransactionIngestSourceState::Reconnecting), "reconnecting");
assert_eq!(super::gap_state_code(ksp_worker_raw_transaction_ingest_lib::RawTransactionIngestGapState::Repairing), "repairing");
assert_eq!(super::gap_reason_code(ksp_worker_raw_transaction_ingest_lib::RawTransactionIngestGapReason::SourceFailure), "source_failure");
assert_eq!(
super::repair_method_code(ksp_worker_raw_transaction_ingest_lib::RawTransactionIngestRepairMethod::TransactionHydration),
"transaction_hydration"
);
}
#[test]
fn pre_010_slot_projection_uses_decimal_text_for_javascript_safe_exactness() {
assert_eq!(super::slot_text(std::option::Option::Some(u64::MAX)), std::option::Option::Some(u64::MAX.to_string()));
assert_eq!(super::slot_text(std::option::Option::None), std::option::Option::None);
}
#[test]
fn pre_010_bounded_cardinality_projection_rejects_only_unrepresentable_values() {
let zero = super::usize_to_u32(0, "zero");
assert!(matches!(zero, std::result::Result::Ok(0)));
let maximum = usize::try_from(u32::MAX);
assert!(maximum.is_ok());
if let std::result::Result::Ok(maximum) = maximum {
let converted = super::usize_to_u32(maximum, "maximum");
assert!(matches!(converted, std::result::Result::Ok(u32::MAX)));
}
if usize::BITS > u32::BITS {
let overflow_value = usize::try_from(u64::from(u32::MAX) + 1);
assert!(overflow_value.is_ok());
if let std::result::Result::Ok(overflow_value) = overflow_value {
let overflow = super::usize_to_u32(overflow_value, "overflow");
assert!(overflow.is_err());
if let std::result::Result::Err(error) = overflow {
assert_eq!(error.code(), crate::ERROR_CODE_APP_STATE_INVALID);
}
}
}
}