use crate::error::ClientError;
use crate::transport::HolochainTransport;
use crate::types::{ConnectConfig, ConnectionStatus};
use std::future::Future;
use std::pin::Pin;
#[derive(Clone, Debug)]
pub struct MockTransport;
impl MockTransport {
pub fn new() -> Self {
Self
}
}
impl HolochainTransport for MockTransport {
fn call_zome(
&self,
role_name: &str,
zome_name: &str,
fn_name: &str,
_payload: Vec<u8>,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, ClientError>>>> {
let _info = format!("{}.{}.{}", role_name, zome_name, fn_name);
Box::pin(async move { Err(ClientError::NotConnected) })
}
fn status(&self) -> ConnectionStatus {
ConnectionStatus::Disconnected
}
fn connect(
&self,
_config: ConnectConfig,
) -> Pin<Box<dyn Future<Output = Result<(), ClientError>>>> {
Box::pin(async { Ok(()) })
}
fn disconnect(&self) {}
}