use crate::{ file, sharry::{self, AliasID, FileID, ShareID, Uri}, test_util::mock_ids, }; pub struct MockClient; impl sharry::Client for MockClient { fn share_create( &self, uri: &Uri, alias_id: &AliasID, _: sharry::json::NewShareRequest, ) -> crate::Result { mock_ids::check_alias(uri, alias_id)?; Ok(true.into()) } fn share_notify(&self, uri: &Uri, alias_id: &AliasID, share_id: &ShareID) -> crate::Result<()> { mock_ids::check_alias(uri, alias_id)?; mock_ids::check_share(share_id)?; Ok(()) } fn file_create( &self, uri: &Uri, alias_id: &AliasID, share_id: &ShareID, _: &file::Checked, ) -> crate::Result { mock_ids::check_alias(uri, alias_id)?; mock_ids::check_share(share_id)?; Ok(true.into()) } fn file_patch( &self, uri: &Uri, alias_id: &AliasID, share_id: &ShareID, chunk: &file::Chunk, ) -> crate::Result<()> { mock_ids::check_alias(uri, alias_id)?; mock_ids::check_file(share_id, chunk.get_file_id())?; // TODO: `chunk` must align to a full MiB // Ok(()) todo!() } }