Files
khadhroony-solana-project/crates/ksp-onchain-transport-lib/unit_tests/rpc_common.rs

22 lines
1.3 KiB
Rust

// file: crates/ksp-onchain-transport-lib/unit_tests/rpc_common.rs
// version: 2
#[test]
fn shared_context_configs_preserve_commitment_and_min_context_slot() {
let commitment = crate::SolanaCommitmentConfig::new(std::option::Option::Some(crate::SolanaCommitment::Finalized));
assert_eq!(commitment.to_json_value(), serde_json::json!({"commitment":"finalized"}));
let context = crate::SolanaContextConfig::new(std::option::Option::Some(crate::SolanaCommitment::Confirmed), std::option::Option::Some(42));
assert_eq!(context.to_json_value(), serde_json::json!({"commitment":"confirmed","minContextSlot":42}));
}
#[test]
fn rpc_context_preserves_nullable_api_version() {
let with_version = crate::SolanaRpcContext::decode_wire("fixture", serde_json::json!({"slot":10,"apiVersion":"4.2.1"})).expect("context must decode");
assert_eq!(with_version.slot(), 10);
assert_eq!(with_version.api_version(), std::option::Option::Some("4.2.1"));
let response = crate::SolanaRpcResponse::new(with_version, 7_u64);
assert_eq!(response.value(), &7_u64);
let without_version = crate::SolanaRpcContext::decode_wire("fixture", serde_json::json!({"slot":11})).expect("context must decode");
assert_eq!(without_version.api_version(), std::option::Option::None);
}