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