58 lines
1.2 KiB
Rust
58 lines
1.2 KiB
Rust
|
|
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!()
|
||
|
|
}
|
||
|
|
}
|