]> Untitled Git - lemmy.git/blob - crates/apub/src/protocol/collections/mod.rs
Cache & Optimize Woodpecker CI (#3450)
[lemmy.git] / crates / apub / src / protocol / collections / mod.rs
1 pub(crate) mod empty_outbox;
2 pub(crate) mod group_featured;
3 pub(crate) mod group_followers;
4 pub(crate) mod group_moderators;
5 pub(crate) mod group_outbox;
6
7 #[cfg(test)]
8 mod tests {
9   #![allow(clippy::unwrap_used)]
10   #![allow(clippy::indexing_slicing)]
11
12   use crate::protocol::{
13     collections::{
14       empty_outbox::EmptyOutbox,
15       group_featured::GroupFeatured,
16       group_followers::GroupFollowers,
17       group_moderators::GroupModerators,
18       group_outbox::GroupOutbox,
19     },
20     tests::{test_json, test_parse_lemmy_item},
21   };
22
23   #[test]
24   fn test_parse_lemmy_collections() {
25     test_parse_lemmy_item::<GroupFollowers>("assets/lemmy/collections/group_followers.json")
26       .unwrap();
27     let outbox =
28       test_parse_lemmy_item::<GroupOutbox>("assets/lemmy/collections/group_outbox.json").unwrap();
29     assert_eq!(outbox.ordered_items.len() as i32, outbox.total_items);
30     test_parse_lemmy_item::<GroupFeatured>("assets/lemmy/collections/group_featured_posts.json")
31       .unwrap();
32     test_parse_lemmy_item::<GroupModerators>("assets/lemmy/collections/group_moderators.json")
33       .unwrap();
34     test_parse_lemmy_item::<EmptyOutbox>("assets/lemmy/collections/person_outbox.json").unwrap();
35   }
36
37   #[test]
38   fn test_parse_mastodon_collections() {
39     test_json::<GroupFeatured>("assets/mastodon/collections/featured.json").unwrap();
40   }
41 }