]> Untitled Git - lemmy.git/blobdiff - crates/apub/src/protocol/collections/mod.rs
Cache & Optimize Woodpecker CI (#3450)
[lemmy.git] / crates / apub / src / protocol / collections / mod.rs
index 646abbebaf3fdb76736eca113be3828d9f0f637a..2362a998aaa4a94736564451bfafc4d3bc4c706f 100644 (file)
@@ -1,4 +1,41 @@
+pub(crate) mod empty_outbox;
+pub(crate) mod group_featured;
 pub(crate) mod group_followers;
 pub(crate) mod group_moderators;
 pub(crate) mod group_outbox;
-pub(crate) mod person_outbox;
+
+#[cfg(test)]
+mod tests {
+  #![allow(clippy::unwrap_used)]
+  #![allow(clippy::indexing_slicing)]
+
+  use crate::protocol::{
+    collections::{
+      empty_outbox::EmptyOutbox,
+      group_featured::GroupFeatured,
+      group_followers::GroupFollowers,
+      group_moderators::GroupModerators,
+      group_outbox::GroupOutbox,
+    },
+    tests::{test_json, test_parse_lemmy_item},
+  };
+
+  #[test]
+  fn test_parse_lemmy_collections() {
+    test_parse_lemmy_item::<GroupFollowers>("assets/lemmy/collections/group_followers.json")
+      .unwrap();
+    let outbox =
+      test_parse_lemmy_item::<GroupOutbox>("assets/lemmy/collections/group_outbox.json").unwrap();
+    assert_eq!(outbox.ordered_items.len() as i32, outbox.total_items);
+    test_parse_lemmy_item::<GroupFeatured>("assets/lemmy/collections/group_featured_posts.json")
+      .unwrap();
+    test_parse_lemmy_item::<GroupModerators>("assets/lemmy/collections/group_moderators.json")
+      .unwrap();
+    test_parse_lemmy_item::<EmptyOutbox>("assets/lemmy/collections/person_outbox.json").unwrap();
+  }
+
+  #[test]
+  fn test_parse_mastodon_collections() {
+    test_json::<GroupFeatured>("assets/mastodon/collections/featured.json").unwrap();
+  }
+}