v0.4.7-pre.009
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
<!-- file: kb-pipeline-demo-scenarios/CHANGELOG.md -->
|
||||
<!-- version: 9 -->
|
||||
<!-- version: 10 -->
|
||||
|
||||
## 0.4.7-pre.009-fix-001
|
||||
|
||||
- ajout de l’inventaire Metaplex Devnet simulation et de son test de couverture.
|
||||
|
||||
|
||||
# CHANGELOG — kb-pipeline-demo-scenarios
|
||||
|
||||
|
||||
@@ -209,3 +209,14 @@ fn load_metaplex_matrix(
|
||||
```
|
||||
|
||||
Une validation réseau ne peut passer à `confirmed` que lorsque toutes les preuves déclarées sont présentes. Les statuts `not_run` et `unavailable` n’acceptent aucune preuve observée.
|
||||
|
||||
## Inventaire Metaplex Devnet
|
||||
|
||||
```rust
|
||||
let scenarios = kb_pipeline_demo_scenarios::metaplex_token_metadata_devnet_scenarios();
|
||||
assert!(scenarios.iter().all(|scenario| {
|
||||
scenario.mode == kb_pipeline_demo_scenarios::MetaplexTokenMetadataScenarioMode::NetworkSimulation
|
||||
}));
|
||||
```
|
||||
|
||||
Cet inventaire prépare les tests et campagnes Devnet simulation-first. Il ne constitue pas à lui seul une validation réseau réussie.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-pipeline-demo-scenarios/src/lib.rs
|
||||
// version: 6
|
||||
// version: 7
|
||||
|
||||
#![forbid(unsafe_code)]
|
||||
#![deny(unreachable_pub)]
|
||||
@@ -73,6 +73,8 @@ pub use self::solana_metaplex_token_metadata_scenarios::MetaplexTokenMetadataAss
|
||||
pub use self::solana_metaplex_token_metadata_scenarios::MetaplexTokenMetadataScenario;
|
||||
/// Execution mode accepted by one Metaplex scenario.
|
||||
pub use self::solana_metaplex_token_metadata_scenarios::MetaplexTokenMetadataScenarioMode;
|
||||
/// Returns the ordered Metaplex Devnet simulation scenario inventory.
|
||||
pub use self::solana_metaplex_token_metadata_scenarios::metaplex_token_metadata_devnet_scenarios;
|
||||
/// Returns the complete ordered synthetic Metaplex scenario inventory.
|
||||
pub use self::solana_metaplex_token_metadata_scenarios::metaplex_token_metadata_synthetic_scenarios;
|
||||
/// Maximum evidence entries accepted by one Metaplex validation scenario.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: kb-pipeline-demo-scenarios/src/solana_metaplex_token_metadata_scenarios.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! Deterministic Metaplex Token Metadata scenario inventory for tests and Devnet campaigns.
|
||||
|
||||
@@ -120,6 +120,19 @@ pub fn metaplex_token_metadata_synthetic_scenarios()
|
||||
];
|
||||
}
|
||||
|
||||
/// Returns the ordered Metaplex scenarios intended for opt-in Devnet simulation.
|
||||
pub fn metaplex_token_metadata_devnet_scenarios()
|
||||
-> std::vec::Vec<crate::MetaplexTokenMetadataScenario> {
|
||||
return crate::metaplex_token_metadata_synthetic_scenarios()
|
||||
.into_iter()
|
||||
.map(|mut scenario| {
|
||||
scenario.id = format!("{}_devnet_simulation", scenario.id);
|
||||
scenario.mode = crate::MetaplexTokenMetadataScenarioMode::NetworkSimulation;
|
||||
return scenario;
|
||||
})
|
||||
.collect::<std::vec::Vec<crate::MetaplexTokenMetadataScenario>>();
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
#[test]
|
||||
@@ -148,6 +161,22 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn devnet_inventory_mirrors_every_asset_family_as_network_simulation() {
|
||||
let synthetic = crate::metaplex_token_metadata_synthetic_scenarios();
|
||||
let devnet = crate::metaplex_token_metadata_devnet_scenarios();
|
||||
assert_eq!(devnet.len(), synthetic.len());
|
||||
assert!(devnet.iter().all(|scenario| return scenario.mode
|
||||
== crate::MetaplexTokenMetadataScenarioMode::NetworkSimulation));
|
||||
assert!(devnet.iter().all(|scenario| return scenario.id.ends_with("_devnet_simulation")));
|
||||
let families = devnet
|
||||
.iter()
|
||||
.map(|scenario| return scenario.asset_family)
|
||||
.collect::<std::collections::BTreeSet<crate::MetaplexTokenMetadataAssetFamily>>(
|
||||
);
|
||||
assert_eq!(families.len(), 5);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn programmable_and_collection_requirements_are_declared_only_where_needed() {
|
||||
let scenarios = crate::metaplex_token_metadata_synthetic_scenarios();
|
||||
|
||||
Reference in New Issue
Block a user