1 use serde::{Deserialize, Serialize};
2 use strum_macros::Display;
6 pub mod create_or_update;
11 #[derive(Clone, Debug, Display, Deserialize, Serialize, PartialEq, Eq)]
12 pub enum CreateOrUpdateType {
19 #![allow(clippy::unwrap_used)]
20 #![allow(clippy::indexing_slicing)]
22 use crate::protocol::{
24 community::announce::AnnounceActivity,
25 create_or_update::{note::CreateOrUpdateNote, page::CreateOrUpdatePage},
26 deletion::delete::Delete,
27 following::{follow::Follow, undo_follow::UndoFollow},
28 voting::{undo_vote::UndoVote, vote::Vote},
34 fn test_parse_smithereen_activities() {
35 test_json::<CreateOrUpdateNote>("assets/smithereen/activities/create_note.json").unwrap();
39 fn test_parse_pleroma_activities() {
40 test_json::<CreateOrUpdateNote>("assets/pleroma/activities/create_note.json").unwrap();
41 test_json::<Delete>("assets/pleroma/activities/delete.json").unwrap();
42 test_json::<Follow>("assets/pleroma/activities/follow.json").unwrap();
46 fn test_parse_mastodon_activities() {
47 test_json::<CreateOrUpdateNote>("assets/mastodon/activities/create_note.json").unwrap();
48 test_json::<Delete>("assets/mastodon/activities/delete.json").unwrap();
49 test_json::<Follow>("assets/mastodon/activities/follow.json").unwrap();
50 test_json::<UndoFollow>("assets/mastodon/activities/undo_follow.json").unwrap();
51 test_json::<Vote>("assets/mastodon/activities/like_page.json").unwrap();
52 test_json::<UndoVote>("assets/mastodon/activities/undo_like_page.json").unwrap();
56 fn test_parse_lotide_activities() {
57 test_json::<Follow>("assets/lotide/activities/follow.json").unwrap();
58 test_json::<CreateOrUpdatePage>("assets/lotide/activities/create_page.json").unwrap();
59 test_json::<CreateOrUpdatePage>("assets/lotide/activities/create_page_image.json").unwrap();
60 test_json::<CreateOrUpdateNote>("assets/lotide/activities/create_note_reply.json").unwrap();
64 fn test_parse_friendica_activities() {
65 test_json::<CreateOrUpdatePage>("assets/friendica/activities/create_page_1.json").unwrap();
66 test_json::<CreateOrUpdatePage>("assets/friendica/activities/create_page_2.json").unwrap();
67 test_json::<CreateOrUpdateNote>("assets/friendica/activities/create_note.json").unwrap();
68 test_json::<CreateOrUpdateNote>("assets/friendica/activities/update_note.json").unwrap();
69 test_json::<Delete>("assets/friendica/activities/delete.json").unwrap();
70 test_json::<Vote>("assets/friendica/activities/like_page.json").unwrap();
71 test_json::<Vote>("assets/friendica/activities/dislike_page.json").unwrap();
72 test_json::<UndoVote>("assets/friendica/activities/undo_dislike_page.json").unwrap();
76 fn test_parse_gnusocial_activities() {
77 test_json::<CreateOrUpdatePage>("assets/gnusocial/activities/create_page.json").unwrap();
78 test_json::<CreateOrUpdateNote>("assets/gnusocial/activities/create_note.json").unwrap();
79 test_json::<Vote>("assets/gnusocial/activities/like_note.json").unwrap();
83 fn test_parse_peertube_activities() {
84 test_json::<AnnounceActivity>("assets/peertube/activities/announce_video.json").unwrap();