#![allow(dead_code)]
mod mock_node_builder;
mod mock_rpc;
mod mock_rpc_service;
mod snapshot;
mod stream;
pub use mock_node_builder::*;
pub use mock_rpc::*;
pub use mock_rpc_service::*;
pub use snapshot::*;
use d_engine_core::{MockTypeConfig, Raft, node_config};
use d_engine_proto::server::cluster::NodeMeta;
use tokio::sync::watch;
use crate::Node;
pub fn mock_node(
db_path: &str,
shutdown_signal: watch::Receiver<()>,
peers_meta_option: Option<Vec<NodeMeta>>,
) -> Node<MockTypeConfig> {
let mut node_config = node_config(db_path);
if let Some(peers_meta) = peers_meta_option {
node_config.cluster.initial_cluster = peers_meta;
}
MockBuilder::new(shutdown_signal).with_node_config(node_config).build_node()
}
pub fn mock_raft(
db_path: &str,
shutdown_signal: watch::Receiver<()>,
peers_meta_option: Option<Vec<NodeMeta>>,
) -> Raft<MockTypeConfig> {
let mut node_config = node_config(db_path);
if let Some(peers_meta) = peers_meta_option {
node_config.cluster.initial_cluster = peers_meta;
}
MockBuilder::new(shutdown_signal).with_node_config(node_config).build_raft()
}