diff options
| author | Maksim Pechnikov <parallel588@gmail.com> | 2019-08-24 17:41:53 +0300 | 
|---|---|---|
| committer | Maksim Pechnikov <parallel588@gmail.com> | 2019-08-24 17:41:53 +0300 | 
| commit | 654d291b6d151bc372bca849ce0b42f723e2bd94 (patch) | |
| tree | 5df43e9a594bc4948d111c50943f83b9679130af /test | |
| parent | 6062017493bd8c8749fcbe590121d20ef94df44f (diff) | |
| download | pleroma-654d291b6d151bc372bca849ce0b42f723e2bd94.tar.gz pleroma-654d291b6d151bc372bca849ce0b42f723e2bd94.zip | |
update tests
Diffstat (limited to 'test')
| -rw-r--r-- | test/web/activity_pub/relay_test.exs | 36 | 
1 files changed, 35 insertions, 1 deletions
| diff --git a/test/web/activity_pub/relay_test.exs b/test/web/activity_pub/relay_test.exs index aeef91cda..4f7d592a6 100644 --- a/test/web/activity_pub/relay_test.exs +++ b/test/web/activity_pub/relay_test.exs @@ -11,6 +11,7 @@ defmodule Pleroma.Web.ActivityPub.RelayTest do    alias Pleroma.Web.ActivityPub.Relay    import Pleroma.Factory +  import Mock    test "gets an actor for the relay" do      user = Relay.get_actor() @@ -56,6 +57,8 @@ defmodule Pleroma.Web.ActivityPub.RelayTest do    end    describe "publish/1" do +    clear_config([:instance, :federating]) +      test "returns error when activity not `Create` type" do        activity = insert(:like_activity)        assert Relay.publish(activity) == {:error, "Not implemented"} @@ -66,13 +69,44 @@ defmodule Pleroma.Web.ActivityPub.RelayTest do        assert Relay.publish(activity) == {:error, false}      end -    test "returns announce activity" do +    test "returns error when object is unknown" do +      activity = +        insert(:note_activity, +          data: %{ +            "type" => "Create", +            "object" => "http://mastodon.example.org/eee/99541947525187367" +          } +        ) + +      assert Relay.publish(activity) == {:error, nil} +    end + +    test_with_mock "returns announce activity and publish to federate", +                   Pleroma.Web.Federator, +                   [:passthrough], +                   [] do +      Pleroma.Config.put([:instance, :federating], true) +      service_actor = Relay.get_actor() +      note = insert(:note_activity) +      assert {:ok, %Activity{} = activity, %Object{} = obj} = Relay.publish(note) +      assert activity.data["type"] == "Announce" +      assert activity.data["actor"] == service_actor.ap_id +      assert activity.data["object"] == obj.data["id"] +      assert called(Pleroma.Web.Federator.publish(activity, 5)) +    end + +    test_with_mock "returns announce activity and not publish to federate", +                   Pleroma.Web.Federator, +                   [:passthrough], +                   [] do +      Pleroma.Config.put([:instance, :federating], false)        service_actor = Relay.get_actor()        note = insert(:note_activity)        assert {:ok, %Activity{} = activity, %Object{} = obj} = Relay.publish(note)        assert activity.data["type"] == "Announce"        assert activity.data["actor"] == service_actor.ap_id        assert activity.data["object"] == obj.data["id"] +      refute called(Pleroma.Web.Federator.publish(activity, 5))      end    end  end | 
