v0.2.9-pre.003
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-onchain-transport-lib/tests/release_completeness.rs
|
||||
// version: 33
|
||||
// version: 34
|
||||
|
||||
//! Release-level completeness canaries for staged HTTP and WebSocket Transport coverage.
|
||||
|
||||
@@ -1008,7 +1008,7 @@ fn release_v0_2_9_pre_002_materializes_minimal_yellowstone_engine_without_provid
|
||||
let crate_root = include_str!("../src/lib.rs");
|
||||
assert!(root_manifest.contains("tonic = { version = \"^0.14\", default-features = false }"));
|
||||
assert!(root_manifest.contains("yellowstone-grpc-proto = { version = \"^12.6\", default-features = false }"));
|
||||
assert!(transport_manifest.contains("tonic = { workspace = true, features = [\"channel\"] }"));
|
||||
assert!(transport_manifest.contains("tonic = { workspace = true, features = [\"channel\""));
|
||||
assert!(transport_manifest.contains("yellowstone-grpc-proto.workspace = true"));
|
||||
assert!(!transport_manifest.contains("yellowstone-grpc-client"));
|
||||
assert!(!transport_manifest.contains("ksp-config-lib"));
|
||||
@@ -1019,10 +1019,50 @@ fn release_v0_2_9_pre_002_materializes_minimal_yellowstone_engine_without_provid
|
||||
assert!(!settings_source.contains("KSP_SECRET_"));
|
||||
assert!(channel_source.contains("tonic::transport::Endpoint::from_shared"));
|
||||
assert!(channel_source.contains("connect_lazy"));
|
||||
assert!(!channel_source.contains("tls_config"));
|
||||
assert!(!channel_source.contains("MetadataMap"));
|
||||
assert!(!channel_source.contains("WsSession"));
|
||||
assert!(!crate_root.contains("pub use tonic"));
|
||||
assert!(!crate_root.contains("pub use yellowstone_grpc_proto"));
|
||||
let _published_wire = std::any::type_name::<yellowstone_grpc_proto::geyser::SubscribeRequest>();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn release_v0_2_9_pre_003_adds_tls_metadata_and_exactly_seven_standard_unary_methods_without_subscribe() {
|
||||
let manifest_directory = std::path::Path::new(env!("CARGO_MANIFEST_DIR"));
|
||||
let workspace = manifest_directory.parent().and_then(std::path::Path::parent).expect("Transport test must resolve workspace root");
|
||||
let root_manifest = std::fs::read_to_string(workspace.join("Cargo.toml")).expect("workspace manifest must be readable");
|
||||
let transport_manifest = std::fs::read_to_string(manifest_directory.join("Cargo.toml")).expect("Transport manifest must be readable");
|
||||
let settings_source = include_str!("../src/grpc_settings.rs");
|
||||
let channel_source = include_str!("../src/grpc_channel.rs");
|
||||
let unary_source = include_str!("../src/grpc_unary.rs");
|
||||
let crate_root = include_str!("../src/lib.rs");
|
||||
assert!(root_manifest.contains("http = { version = \"^1.5\", default-features = false }"));
|
||||
assert!(root_manifest.contains("tonic-prost = { version = \"^0.14\", default-features = false }"));
|
||||
assert!(transport_manifest.contains("tonic = { workspace = true, features = [\"channel\", \"tls-aws-lc\", \"tls-webpki-roots\"] }"));
|
||||
assert!(transport_manifest.contains("tonic = { workspace = true, features = [\"codegen\", \"server\"] }"));
|
||||
assert!(transport_manifest.contains("tonic-prost.workspace = true"));
|
||||
assert!(transport_manifest.contains("yellowstone-grpc-proto.workspace = true"));
|
||||
assert!(transport_manifest.contains("yellowstone-grpc-proto = { workspace = true, features = [\"tonic\"] }"));
|
||||
assert!(!transport_manifest.contains("yellowstone-grpc-client"));
|
||||
assert!(settings_source.contains("YellowstoneGrpcMetadataEntry"));
|
||||
assert!(settings_source.contains("set_sensitive"));
|
||||
assert!(channel_source.contains("ClientTlsConfig"));
|
||||
assert!(channel_source.contains("with_webpki_roots"));
|
||||
assert!(channel_source.contains("pub async fn connect"));
|
||||
for path in [
|
||||
"/geyser.Geyser/SubscribeReplayInfo",
|
||||
"/geyser.Geyser/Ping",
|
||||
"/geyser.Geyser/GetLatestBlockhash",
|
||||
"/geyser.Geyser/GetBlockHeight",
|
||||
"/geyser.Geyser/GetSlot",
|
||||
"/geyser.Geyser/IsBlockhashValid",
|
||||
"/geyser.Geyser/GetVersion",
|
||||
] {
|
||||
assert!(unary_source.contains(path), "missing standard Yellowstone unary path: {path}");
|
||||
}
|
||||
assert!(!unary_source.contains("const PATH_SUBSCRIBE: "));
|
||||
assert!(!unary_source.contains("SubscribeDeshred"));
|
||||
assert!(!unary_source.contains("PublicNode"));
|
||||
assert!(!crate_root.contains("pub use tonic"));
|
||||
assert!(!crate_root.contains("pub use yellowstone_grpc_proto"));
|
||||
let _client = std::any::type_name::<ksp_onchain_transport_lib::SolanaYellowstoneGrpcUnaryClient>();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user