diff options
-rw-r--r-- | src/backend/backend.rs | 18 | ||||
-rw-r--r-- | src/backend/payload.rs | 4 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/backend/backend.rs b/src/backend/backend.rs index c398c97..0485e33 100644 --- a/src/backend/backend.rs +++ b/src/backend/backend.rs @@ -58,3 +58,21 @@ impl IpfsEmbedBackend { .map(|_| block.cid().clone()) } } + +#[cfg(test)] +mod tests { + use super::*; + use crate::backend::Payload; + + #[tokio::test] + async fn test_roundtrip_payload() { + let backend = IpfsEmbedBackend::new_in_memory(1024).await.unwrap(); + let cid = backend.write_payload(&Payload::now_from_text(String::from("test"))).await.unwrap(); + + let payload = backend.ipfs().fetch(&cid, backend.ipfs().peers()).await.unwrap(); + let payload = payload.decode::<libipld::cbor::DagCborCodec, crate::backend::Payload>().unwrap(); + + assert_eq!(payload.content(), "test".as_bytes()) + + } +} diff --git a/src/backend/payload.rs b/src/backend/payload.rs index 856fcda..695ff96 100644 --- a/src/backend/payload.rs +++ b/src/backend/payload.rs @@ -34,5 +34,9 @@ impl Payload { self.timestamp = ts; self } + + pub fn content(&self) -> &Vec<u8> { + &self.content + } } |