22 lines
1.3 KiB
Rust
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);
|
|
}
|