shrupl/src/test_util/mock_client.rs

59 lines
1.1 KiB
Rust
Raw Normal View History

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