v0.3.14-pre.003
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-onchain-transport-lib/tests/public_api.rs
|
||||
// version: 52
|
||||
// version: 53
|
||||
|
||||
//! Integration tests for the public `ksp-onchain-transport-lib` consumer contract.
|
||||
|
||||
@@ -569,6 +569,17 @@ fn public_v0_2_7_pre_004_physical_websocket_session_contract_is_available_from_c
|
||||
assert_eq!(ksp_onchain_transport_lib::ERROR_CODE_WS_SESSION_CLOSED.code(), "ws_session_closed");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn public_v0_3_14_pre_003_websocket_snapshot_source_is_available_from_crate_root() {
|
||||
let _physical = ksp_onchain_transport_lib::WsSession::snapshot_source;
|
||||
let _standard = ksp_onchain_transport_lib::SolanaStandardWsSession::snapshot_source;
|
||||
let _helius = ksp_onchain_transport_lib::HeliusLaserStreamWsSession::snapshot_source;
|
||||
let _current = ksp_onchain_transport_lib::WsSessionSnapshotSource::current;
|
||||
let _wait = ksp_onchain_transport_lib::WsSessionSnapshotSource::wait_for_change;
|
||||
assert!(std::any::type_name::<ksp_onchain_transport_lib::WsSessionSnapshotSource>().ends_with("WsSessionSnapshotSource"));
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn public_v0_2_7_pre_005_bounded_websocket_close_contract_is_available_from_crate_root() {
|
||||
let _close = ksp_onchain_transport_lib::WsSession::close;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-onchain-transport-lib/tests/release_completeness.rs
|
||||
// version: 44
|
||||
// version: 45
|
||||
|
||||
//! Release-level completeness canaries for staged HTTP and WebSocket Transport coverage.
|
||||
|
||||
@@ -1354,3 +1354,23 @@ fn release_v0_3_13_pre_002_yellowstone_subscribe_identity_remains_opaque_and_dep
|
||||
assert!(!root.contains("pub use yellowstone_grpc_proto"));
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn release_v0_3_14_pre_003_ws_snapshot_source_reuses_actor_watch_without_second_runtime() {
|
||||
let session_source = include_str!("../src/ws_session.rs");
|
||||
let facade_source = include_str!("../src/ws_protocol_session.rs");
|
||||
let session_tests = include_str!("../unit_tests/ws_session.rs");
|
||||
assert!(session_source.contains("pub struct WsSessionSnapshotSource"));
|
||||
assert!(session_source.contains("self.snapshot_rx.clone()"));
|
||||
assert!(facade_source.matches("pub fn snapshot_source").count() >= 2);
|
||||
for required in [
|
||||
"v0_3_14_pre_003_snapshot_source_tracks_latest_value_without_owning_runtime",
|
||||
"websocket_reconnect_resubscribes_in_local_id_order_and_remaps_remote_ids",
|
||||
"websocket_notification_queue_overflow_fails_only_slow_subscription_and_cleans_remote_binding",
|
||||
] {
|
||||
assert!(session_tests.contains(required), "missing pre.003 WebSocket continuity test: {required}");
|
||||
}
|
||||
assert!(!session_source.contains("WsSessionSnapshotSource {\n socket:"));
|
||||
assert!(!facade_source.contains("tokio_tungstenite::connect_async"));
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user