diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-05-08 19:35:16 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-05-08 19:35:16 +0200 |
commit | 8f9c43343e239b3f3fd28651ca508f3ee1e4562c (patch) | |
tree | 818676770db7e0cfc79804d7e0addd02e0dcccec /test/web | |
parent | b9da7d3219dae3f9654548dc61e22439e994b2a4 (diff) | |
parent | 3320c9b176d7665a9d99e235458e04ade1999afe (diff) | |
download | pleroma-8f9c43343e239b3f3fd28651ca508f3ee1e4562c.tar.gz pleroma-8f9c43343e239b3f3fd28651ca508f3ee1e4562c.zip |
Merge branch 'develop' of ssh.gitgud.io:lambadalambda/pleroma into develop
Diffstat (limited to 'test/web')
-rw-r--r-- | test/web/ostatus/ostatus_test.exs | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/test/web/ostatus/ostatus_test.exs b/test/web/ostatus/ostatus_test.exs index ff7afe808..39f299ab4 100644 --- a/test/web/ostatus/ostatus_test.exs +++ b/test/web/ostatus/ostatus_test.exs @@ -2,13 +2,13 @@ defmodule Pleroma.Web.OStatusTest do use Pleroma.DataCase alias Pleroma.Web.OStatus alias Pleroma.Web.XML - alias Pleroma.{Object, Repo, User} + alias Pleroma.{Object, Repo, User, Activity} import Pleroma.Factory test "don't insert create notes twice" do incoming = File.read!("test/fixtures/incoming_note_activity.xml") - {:ok, [_activity]} = OStatus.handle_incoming(incoming) - assert {:ok, [{:error, "duplicate activity"}]} == OStatus.handle_incoming(incoming) + {:ok, [activity]} = OStatus.handle_incoming(incoming) + assert {:ok, [activity]} == OStatus.handle_incoming(incoming) end test "handle incoming note - GS, Salmon" do @@ -80,10 +80,38 @@ defmodule Pleroma.Web.OStatusTest do assert activity.data["type"] == "Announce" assert activity.data["actor"] == "https://social.heldscal.la/user/23211" assert activity.data["object"] == retweeted_activity.data["object"]["id"] + assert "https://pleroma.soykaf.com/users/lain" in activity.data["to"] refute activity.local + + retweeted_activity = Repo.get(Activity, retweeted_activity.id) assert retweeted_activity.data["type"] == "Create" assert retweeted_activity.data["actor"] == "https://pleroma.soykaf.com/users/lain" refute retweeted_activity.local + assert retweeted_activity.data["object"]["announcement_count"] == 1 + end + + test "handle incoming retweets - GS, subscription - local message" do + incoming = File.read!("test/fixtures/share-gs-local.xml") + note_activity = insert(:note_activity) + user = User.get_cached_by_ap_id(note_activity.data["actor"]) + incoming = incoming + |> String.replace("LOCAL_ID", note_activity.data["object"]["id"]) + |> String.replace("LOCAL_USER", user.ap_id) + + {:ok, [[activity, retweeted_activity]]} = OStatus.handle_incoming(incoming) + + assert activity.data["type"] == "Announce" + assert activity.data["actor"] == "https://social.heldscal.la/user/23211" + assert activity.data["object"] == retweeted_activity.data["object"]["id"] + assert user.ap_id in activity.data["to"] + refute activity.local + + retweeted_activity = Repo.get(Activity, retweeted_activity.id) + assert note_activity.id == retweeted_activity.id + assert retweeted_activity.data["type"] == "Create" + assert retweeted_activity.data["actor"] == user.ap_id + assert retweeted_activity.local + assert retweeted_activity.data["object"]["announcement_count"] == 1 end test "handle incoming retweets - Mastodon, salmon" do |