v0.1.1-pre.003
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
// file: crates/ksp-core-lib/tests/public_api.rs
|
||||
// version: 2
|
||||
// version: 3
|
||||
|
||||
//! Integration tests for the public `ksp-core-lib` error contract.
|
||||
//! Integration tests for the public `ksp-core-lib` contracts.
|
||||
|
||||
ksp_core_lib::declare_program_id!(TEST_PRGID_SYSTEM, TEST_PRGIDPK_SYSTEM, "11111111111111111111111111111111");
|
||||
|
||||
fn public_result() -> ksp_core_lib::Result<()> {
|
||||
let error = ksp_core_lib::Error::new(ksp_core_lib::ErrorCode::new("consumer", "failed"), "consumer failure").with_context("operation", "public_api");
|
||||
@@ -22,3 +24,42 @@ fn error_contract_is_consumable_from_crate_root() {
|
||||
assert_eq!(std::string::ToString::to_string(&error), "consumer.failed: consumer failure");
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn program_id_contract_is_consumable_from_crate_root() {
|
||||
assert_eq!(TEST_PRGID_SYSTEM, ksp_core_lib::PRGID_SOLANA_SYSTEM);
|
||||
assert_eq!(TEST_PRGIDPK_SYSTEM, ksp_core_lib::PRGIDPK_SOLANA_SYSTEM);
|
||||
assert_eq!(ksp_core_lib::entries().len(), 18);
|
||||
assert_eq!(ksp_core_lib::native_program_ids().count(), 18);
|
||||
let system = ksp_core_lib::find_program_id(ksp_core_lib::PRGID_SOLANA_SYSTEM);
|
||||
let system = match system {
|
||||
std::option::Option::Some(entry) => entry,
|
||||
std::option::Option::None => return,
|
||||
};
|
||||
assert_eq!(system.code(), "solana.system");
|
||||
assert_eq!(system.domain(), "solana");
|
||||
assert_eq!(system.family(), "runtime");
|
||||
assert_eq!(system.protocol(), "solana");
|
||||
assert_eq!(system.pubkey(), ksp_core_lib::PRGIDPK_SOLANA_SYSTEM);
|
||||
return;
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn program_id_registry_supports_public_taxonomy_filters() {
|
||||
let loader_count = ksp_core_lib::program_ids_by_family("loader").count();
|
||||
let precompile_count = ksp_core_lib::program_ids_by_family("precompile").count();
|
||||
let bpf_v2_count = ksp_core_lib::program_ids(
|
||||
ksp_core_lib::ProgramIdFilter::new()
|
||||
.with_domain("solana")
|
||||
.with_family("loader")
|
||||
.with_protocol("solana")
|
||||
.with_subfamily("bpf")
|
||||
.with_program_version("v2")
|
||||
.with_kind(ksp_core_lib::ProgramIdKind::Loader),
|
||||
)
|
||||
.count();
|
||||
assert_eq!(loader_count, 5);
|
||||
assert_eq!(precompile_count, 3);
|
||||
assert_eq!(bpf_v2_count, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user