0.5.1-pre.002
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
// file: ks-lib/tests/external_metaplex_token_metadata_executor_api.rs
|
||||
// version: 2
|
||||
|
||||
//! Downstream-style compilation contract for the Metaplex Token Metadata executor.
|
||||
|
||||
#[test]
|
||||
fn external_consumers_inspect_metaplex_executor_capabilities_only_through_crate_root_exports() {
|
||||
let executor = ks_lib::ExMetadataMetaplexTokenMetadataExecutor;
|
||||
let program_id = ks_lib::MdProgramId(
|
||||
ks_program_ids::METADATA_METAPLEX_TOKEN_METADATA_PROGRAM_ID.to_string(),
|
||||
);
|
||||
assert_eq!(ks_lib::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES.len(), 35);
|
||||
assert_eq!(ks_lib::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES.len(), 15);
|
||||
for operation_code in ks_lib::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES {
|
||||
let capability = ks_lib::ExApiTypedInstructionExecutor::capability(
|
||||
&executor,
|
||||
&program_id,
|
||||
operation_code,
|
||||
);
|
||||
assert!(capability.is_supported());
|
||||
}
|
||||
for operation_code in ks_lib::EX_METAPLEX_TOKEN_METADATA_DEPRECATED_OPERATION_CODES {
|
||||
assert!(
|
||||
ks_lib::EX_METAPLEX_TOKEN_METADATA_SUPPORTED_OPERATION_CODES.contains(operation_code)
|
||||
);
|
||||
}
|
||||
let foreign_program_id = ks_lib::MdProgramId(ks_program_ids::SYSTEM_PROGRAM_ID.to_string());
|
||||
let foreign_capability = ks_lib::ExApiTypedInstructionExecutor::capability(
|
||||
&executor,
|
||||
&foreign_program_id,
|
||||
ks_lib::EX_METAPLEX_TOKEN_METADATA_CREATE_OPERATION,
|
||||
);
|
||||
assert!(!foreign_capability.is_supported());
|
||||
}
|
||||
Reference in New Issue
Block a user