diff options
| author | feld <feld@feld.me> | 2019-10-14 19:40:40 +0000 |
|---|---|---|
| committer | feld <feld@feld.me> | 2019-10-14 19:40:40 +0000 |
| commit | 3b1bc079af8fb6e467a9114de0d32e2de59a7fab (patch) | |
| tree | 098012ed8206f9ed41fdf80944f6eaba7f40be40 /test/web/activity_pub | |
| parent | e0da0d4f9e669b34afe975e39ae21a558bf4c25c (diff) | |
| parent | a97b642289659a5fccb5943c54caa1ecdce5fd2f (diff) | |
| download | pleroma-3b1bc079af8fb6e467a9114de0d32e2de59a7fab.tar.gz pleroma-3b1bc079af8fb6e467a9114de0d32e2de59a7fab.zip | |
Merge branch 'exclude-visibilities-for-timelines' into 'develop'
Mastodon API: Add `exclude_visibilities` parameter to the timeline and notification endpoints
See merge request pleroma/pleroma!1818
Diffstat (limited to 'test/web/activity_pub')
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index c9f2a92e7..3a5a2f984 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -87,6 +87,66 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do end end + describe "fetching excluded by visibility" do + test "it excludes by the appropriate visibility" do + user = insert(:user) + + {:ok, public_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "public"}) + + {:ok, direct_activity} = CommonAPI.post(user, %{"status" => ".", "visibility" => "direct"}) + + {:ok, unlisted_activity} = + CommonAPI.post(user, %{"status" => ".", "visibility" => "unlisted"}) + + {:ok, private_activity} = + CommonAPI.post(user, %{"status" => ".", "visibility" => "private"}) + + activities = + ActivityPub.fetch_activities([], %{ + "exclude_visibilities" => "direct", + "actor_id" => user.ap_id + }) + + assert public_activity in activities + assert unlisted_activity in activities + assert private_activity in activities + refute direct_activity in activities + + activities = + ActivityPub.fetch_activities([], %{ + "exclude_visibilities" => "unlisted", + "actor_id" => user.ap_id + }) + + assert public_activity in activities + refute unlisted_activity in activities + assert private_activity in activities + assert direct_activity in activities + + activities = + ActivityPub.fetch_activities([], %{ + "exclude_visibilities" => "private", + "actor_id" => user.ap_id + }) + + assert public_activity in activities + assert unlisted_activity in activities + refute private_activity in activities + assert direct_activity in activities + + activities = + ActivityPub.fetch_activities([], %{ + "exclude_visibilities" => "public", + "actor_id" => user.ap_id + }) + + refute public_activity in activities + assert unlisted_activity in activities + assert private_activity in activities + assert direct_activity in activities + end + end + describe "building a user from his ap id" do test "it returns a user" do user_id = "http://mastodon.example.org/users/admin" |
