v0.2.3-pre.008
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-onchain-transport-lib/tests/release_completeness.rs
|
||||
// version: 12
|
||||
// version: 13
|
||||
|
||||
//! Release-level completeness canaries for the `0.2.1` HTTP foundation contract.
|
||||
|
||||
@@ -400,3 +400,33 @@ fn release_pre_007_completes_all_v0_2_3_transaction_wrappers_with_exact_safety_c
|
||||
assert_eq!(simulations.len(), 1);
|
||||
assert_eq!(reads.len() + writes.len() + simulations.len(), 11);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn release_pre_008_ksp_transport_007_retro_audit_covers_all_typed_current_methods() {
|
||||
let mut audited = std::vec::Vec::<&str>::new();
|
||||
for descriptor in ksp_onchain_transport_lib::current_http_rpc_methods() {
|
||||
if matches!(
|
||||
descriptor.coverage_release(),
|
||||
ksp_onchain_transport_lib::HttpRpcCoverageRelease::V0_2_1
|
||||
| ksp_onchain_transport_lib::HttpRpcCoverageRelease::V0_2_2
|
||||
| ksp_onchain_transport_lib::HttpRpcCoverageRelease::V0_2_3
|
||||
) {
|
||||
audited.push(descriptor.method());
|
||||
assert_eq!(descriptor.runtime_status(), ksp_onchain_transport_lib::RpcRuntimeStatus::Supported);
|
||||
match descriptor.operation_kind() {
|
||||
ksp_onchain_transport_lib::RpcOperationKind::Read | ksp_onchain_transport_lib::RpcOperationKind::Simulation => {
|
||||
assert_eq!(descriptor.transport_retry_class(), ksp_onchain_transport_lib::TransportRetryClass::RetrySafe);
|
||||
},
|
||||
ksp_onchain_transport_lib::RpcOperationKind::WriteSubmission => {
|
||||
assert_eq!(descriptor.transport_retry_class(), ksp_onchain_transport_lib::TransportRetryClass::NeverAfterDispatch);
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
audited.sort_unstable();
|
||||
assert_eq!(audited.len(), 37);
|
||||
assert_eq!(audited.first(), std::option::Option::Some(&"getAccountInfo"));
|
||||
assert_eq!(audited.last(), std::option::Option::Some(&"simulateTransaction"));
|
||||
let get_transaction = ksp_onchain_transport_lib::find_http_rpc_method("getTransaction").expect("getTransaction descriptor must exist");
|
||||
assert!(get_transaction.request_form_status().has_deprecated_legacy());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user