Files
khadhroony-bot3/ks-pipeline/tests/external_metadata_solana_program_pipeline_api.rs
2026-08-09 19:34:08 +02:00

32 lines
1.4 KiB
Rust

// file: ks-pipeline/tests/external_metadata_solana_program_pipeline_api.rs
// version: 3
//! External-only coverage for the public Solana Program Metadata pipeline contract.
#[test]
fn external_consumers_use_only_public_program_metadata_pipeline_exports() {
let account = ks_lib::MdPubkey(solana_pubkey::Pubkey::new_from_array([7_u8; 32]).to_string());
let request = ks_pipeline::SolanaProgramMetadataStatefulReadRequest {
query_role: "rpc".to_string(),
account: account.clone(),
expected_state: ks_pipeline::SolanaProgramMetadataExpectedAccountState::Any,
min_context_slot: std::option::Option::None,
max_data_bytes: ks_pipeline::MAX_SOLANA_PROGRAM_METADATA_STATEFUL_ACCOUNT_BYTES,
};
assert!(request.validate().is_ok());
let postcondition = ks_pipeline::SolanaProgramMetadataPostcondition {
code: "metadata.solana_program_metadata.external_api".to_string(),
account,
status: ks_pipeline::SolanaProgramMetadataPostconditionStatus::NotApplicable,
diagnostic: "external API coverage".to_string(),
};
assert_eq!(
ks_pipeline::summarize_solana_program_metadata_postconditions(&[postcondition]),
ks_pipeline::SolanaProgramMetadataPostconditionStatus::NotApplicable
);
const {
assert!(ks_pipeline::MAX_SOLANA_PROGRAM_METADATA_EXECUTION_SIGNERS > 0);
assert!(ks_pipeline::MAX_SOLANA_PROGRAM_METADATA_PREFLIGHT_ACCOUNTS > 0);
}
}