mod generator;
mod spu_client;
mod mock_sc;
mod test_runner;
pub(crate) use generator::TestGenerator;
pub(crate) use test_runner::SpuTestRunner;
pub(crate) use spu_client::SpuServer;
use std::sync::Arc;
use futures::Future;
use fluvio_socket::FlvSocketError;
use fluvio_controlplane_metadata::partition::ReplicaKey;
pub trait SpuTest: Sized {
type ResponseFuture: Send + Future<Output = Result<(), FlvSocketError>>;
fn env_configuration(&self) -> TestGenerator;
fn followers(&self) -> usize;
fn replicas(&self) -> Vec<ReplicaKey> {
vec![]
}
fn main_test(&self, runner: Arc<SpuTestRunner<Self>>) -> Self::ResponseFuture;
}