summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-07-14 17:25:29 +0200
committerMatthias Beyer <mail@beyermatthias.de>2021-07-14 17:25:29 +0200
commit2d7a24b336c87716f7e85ec51040230b69173b2b (patch)
tree93d6f725f6c77555651a5f055f72b9afd0835d5a
parentbaa5711de8a13c75a4d406a76d49e3dec124a6b0 (diff)
Add roundtrip test
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--src/backend/backend.rs18
-rw-r--r--src/backend/payload.rs4
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
+ }
}