2026-07-17 06:03:20 +02:00
|
|
|
use testing_framework_app::AppScenarioBuilderExt;
|
2026-04-10 10:03:25 +02:00
|
|
|
use testing_framework_core::scenario::ScenarioBuilder;
|
|
|
|
|
|
2026-07-17 06:03:20 +02:00
|
|
|
use crate::{KvEnv, KvExistingClusterApp, KvTopology};
|
2026-04-10 10:03:25 +02:00
|
|
|
|
|
|
|
|
pub type KvScenarioBuilder = ScenarioBuilder<KvEnv>;
|
|
|
|
|
|
|
|
|
|
pub trait KvBuilderExt: Sized {
|
|
|
|
|
fn deployment_with(f: impl FnOnce(KvTopology) -> KvTopology) -> Self;
|
2026-07-17 06:03:20 +02:00
|
|
|
|
|
|
|
|
fn with_existing_kvstore_app(app: KvExistingClusterApp) -> Self;
|
2026-04-10 10:03:25 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl KvBuilderExt for KvScenarioBuilder {
|
|
|
|
|
fn deployment_with(f: impl FnOnce(KvTopology) -> KvTopology) -> Self {
|
|
|
|
|
KvScenarioBuilder::with_deployment(f(KvTopology::new(3)))
|
|
|
|
|
}
|
2026-07-17 06:03:20 +02:00
|
|
|
|
|
|
|
|
fn with_existing_kvstore_app(app: KvExistingClusterApp) -> Self {
|
|
|
|
|
KvScenarioBuilder::with_deployment(app.topology()).with_app(app)
|
|
|
|
|
}
|
2026-04-10 10:03:25 +02:00
|
|
|
}
|