shrupl/src/test_util/mock_client.rs

58 lines
1.2 KiB
Rust
Raw Normal View History

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<ShareID> {
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<FileID> {
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!()
}
}