// 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); } }