diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-07-14 17:25:29 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-07-14 17:25:29 +0200 |
commit | 2d7a24b336c87716f7e85ec51040230b69173b2b (patch) | |
tree | 93d6f725f6c77555651a5f055f72b9afd0835d5a | |
parent | baa5711de8a13c75a4d406a76d49e3dec124a6b0 (diff) |
Add roundtrip test
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-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 + } } |