diff options
Diffstat (limited to 'test')
16 files changed, 140 insertions, 31 deletions
| diff --git a/test/fixtures/mastodon-post-activity-nsfw.json b/test/fixtures/mastodon-post-activity-nsfw.json new file mode 100644 index 000000000..70729a1bd --- /dev/null +++ b/test/fixtures/mastodon-post-activity-nsfw.json @@ -0,0 +1,68 @@ +{ +    "@context": [ +        "https://www.w3.org/ns/activitystreams", +        "https://w3id.org/security/v1", +        { +            "Emoji": "toot:Emoji", +            "Hashtag": "as:Hashtag", +            "atomUri": "ostatus:atomUri", +            "conversation": "ostatus:conversation", +            "inReplyToAtomUri": "ostatus:inReplyToAtomUri", +            "manuallyApprovesFollowers": "as:manuallyApprovesFollowers", +            "movedTo": "as:movedTo", +            "ostatus": "http://ostatus.org#", +            "toot": "http://joinmastodon.org/ns#" +        } +    ], +    "actor": "http://mastodon.example.org/users/admin", +    "cc": [ +        "http://mastodon.example.org/users/admin/followers", +        "http://localtesting.pleroma.lol/users/lain" +    ], +    "id": "http://mastodon.example.org/users/admin/statuses/99512778738411822/activity", +    "nickname": "lain", +    "object": { +        "atomUri": "http://mastodon.example.org/users/admin/statuses/99512778738411822", +        "attachment": [], +        "attributedTo": "http://mastodon.example.org/users/admin", +        "cc": [ +            "http://mastodon.example.org/users/admin/followers", +            "http://localtesting.pleroma.lol/users/lain" +        ], +        "content": "<p><span class=\"h-card\"><a href=\"http://localtesting.pleroma.lol/users/lain\" class=\"u-url mention\">@<span>lain</span></a></span> #moo</p>", +        "conversation": "tag:mastodon.example.org,2018-02-12:objectId=20:objectType=Conversation", +        "id": "http://mastodon.example.org/users/admin/statuses/99512778738411822", +        "inReplyTo": null, +        "inReplyToAtomUri": null, +        "published": "2018-02-12T14:08:20Z", +        "summary": "cw", +        "tag": [ +            { +                "href": "http://localtesting.pleroma.lol/users/lain", +                "name": "@lain@localtesting.pleroma.lol", +                "type": "Mention" +            }, +            { +                "href": "http://mastodon.example.org/tags/nsfw", +                "name": "#NSFW", +                "type": "Hashtag" +            } +        ], +        "to": [ +            "https://www.w3.org/ns/activitystreams#Public" +        ], +        "type": "Note", +        "url": "http://mastodon.example.org/@admin/99512778738411822" +    }, +    "published": "2018-02-12T14:08:20Z", +    "signature": { +        "created": "2018-02-12T14:08:20Z", +        "creator": "http://mastodon.example.org/users/admin#main-key", +        "signatureValue": "rnNfcopkc6+Ju73P806popcfwrK9wGYHaJVG1/ZvrlEbWVDzaHjkXqj9Q3/xju5l8CSn9tvSgCCtPFqZsFQwn/pFIFUcw7ZWB2xi4bDm3NZ3S4XQ8JRaaX7og5hFxAhWkGhJhAkfxVnOg2hG+w2d/7d7vRVSC1vo5ip4erUaA/PkWusZvPIpxnRWoXaxJsFmVx0gJgjpJkYDyjaXUlp+jmaoseeZ4EPQUWqHLKJ59PRG0mg8j2xAjYH9nQaN14qMRmTGPxY8gfv/CUFcatA+8VJU9KEsJkDAwLVvglydNTLGrxpAJU78a2eaht0foV43XUIZGe3DKiJPgE+UOKGCJw==", +        "type": "RsaSignature2017" +    }, +    "to": [ +        "https://www.w3.org/ns/activitystreams#Public" +    ], +    "type": "Create" +} diff --git a/test/pleroma/notification_test.exs b/test/pleroma/notification_test.exs index 0e9630f28..a74fb7bc2 100644 --- a/test/pleroma/notification_test.exs +++ b/test/pleroma/notification_test.exs @@ -400,7 +400,7 @@ defmodule Pleroma.NotificationTest do        user = insert(:user, is_locked: true)        follower = insert(:user)        {:ok, _, _, _follow_activity} = CommonAPI.follow(follower, user) -      assert [notification] = Notification.for_user(user) +      assert [_notification] = Notification.for_user(user)        {:ok, _follower} = CommonAPI.reject_follow_request(follower, user)        assert [] = Notification.for_user(user)      end diff --git a/test/pleroma/web/activity_pub/activity_pub_test.exs b/test/pleroma/web/activity_pub/activity_pub_test.exs index 1a8a844ca..6ac883b23 100644 --- a/test/pleroma/web/activity_pub/activity_pub_test.exs +++ b/test/pleroma/web/activity_pub/activity_pub_test.exs @@ -505,22 +505,22 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do        # public        {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, :visibility, "public")) -      assert %{data: data, object: object} = Activity.get_by_ap_id_with_object(ap_id) +      assert %{data: _data, object: object} = Activity.get_by_ap_id_with_object(ap_id)        assert object.data["repliesCount"] == 1        # unlisted        {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, :visibility, "unlisted")) -      assert %{data: data, object: object} = Activity.get_by_ap_id_with_object(ap_id) +      assert %{data: _data, object: object} = Activity.get_by_ap_id_with_object(ap_id)        assert object.data["repliesCount"] == 2        # private        {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, :visibility, "private")) -      assert %{data: data, object: object} = Activity.get_by_ap_id_with_object(ap_id) +      assert %{data: _data, object: object} = Activity.get_by_ap_id_with_object(ap_id)        assert object.data["repliesCount"] == 2        # direct        {:ok, _} = CommonAPI.post(user2, Map.put(reply_data, :visibility, "direct")) -      assert %{data: data, object: object} = Activity.get_by_ap_id_with_object(ap_id) +      assert %{data: _data, object: object} = Activity.get_by_ap_id_with_object(ap_id)        assert object.data["repliesCount"] == 2      end    end @@ -752,6 +752,22 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do      refute repeat_activity in activities    end +  test "returns your own posts regardless of mute" do +    user = insert(:user) +    muted = insert(:user) + +    {:ok, muted_post} = CommonAPI.post(muted, %{status: "Im stupid"}) + +    {:ok, reply} = +      CommonAPI.post(user, %{status: "I'm muting you", in_reply_to_status_id: muted_post.id}) + +    {:ok, _} = User.mute(user, muted) + +    [activity] = ActivityPub.fetch_activities([], %{muting_user: user, skip_preload: true}) + +    assert activity.id == reply.id +  end +    test "doesn't return muted activities" do      activity_one = insert(:note_activity)      activity_two = insert(:note_activity) diff --git a/test/pleroma/web/activity_pub/mrf/reject_non_public_test.exs b/test/pleroma/web/activity_pub/mrf/reject_non_public_test.exs index 58b46b9a2..e08eb3ba6 100644 --- a/test/pleroma/web/activity_pub/mrf/reject_non_public_test.exs +++ b/test/pleroma/web/activity_pub/mrf/reject_non_public_test.exs @@ -21,7 +21,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.RejectNonPublicTest do          "type" => "Create"        } -      assert {:ok, message} = RejectNonPublic.filter(message) +      assert {:ok, _message} = RejectNonPublic.filter(message)      end      test "it's allowed when cc address contain public address" do @@ -34,7 +34,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.RejectNonPublicTest do          "type" => "Create"        } -      assert {:ok, message} = RejectNonPublic.filter(message) +      assert {:ok, _message} = RejectNonPublic.filter(message)      end    end @@ -50,7 +50,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.RejectNonPublicTest do        }        Pleroma.Config.put([:mrf_rejectnonpublic, :allow_followersonly], true) -      assert {:ok, message} = RejectNonPublic.filter(message) +      assert {:ok, _message} = RejectNonPublic.filter(message)      end      test "it's rejected when addrer of message in the follower addresses of user and it disabled in config" do @@ -80,7 +80,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.RejectNonPublicTest do        }        Pleroma.Config.put([:mrf_rejectnonpublic, :allow_direct], true) -      assert {:ok, message} = RejectNonPublic.filter(message) +      assert {:ok, _message} = RejectNonPublic.filter(message)      end      test "it's reject when direct messages aren't allow" do diff --git a/test/pleroma/web/activity_pub/mrf/tag_policy_test.exs b/test/pleroma/web/activity_pub/mrf/tag_policy_test.exs index 6ff71d640..ffc30ba62 100644 --- a/test/pleroma/web/activity_pub/mrf/tag_policy_test.exs +++ b/test/pleroma/web/activity_pub/mrf/tag_policy_test.exs @@ -29,7 +29,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.TagPolicyTest do        actor = insert(:user, tags: ["mrf_tag:disable-remote-subscription"])        follower = insert(:user, tags: ["mrf_tag:disable-remote-subscription"], local: true)        message = %{"object" => actor.ap_id, "type" => "Follow", "actor" => follower.ap_id} -      assert {:ok, message} = TagPolicy.filter(message) +      assert {:ok, _message} = TagPolicy.filter(message)      end    end diff --git a/test/pleroma/web/activity_pub/transmogrifier/announce_handling_test.exs b/test/pleroma/web/activity_pub/transmogrifier/announce_handling_test.exs index e895636b5..54335acdb 100644 --- a/test/pleroma/web/activity_pub/transmogrifier/announce_handling_test.exs +++ b/test/pleroma/web/activity_pub/transmogrifier/announce_handling_test.exs @@ -144,7 +144,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.AnnounceHandlingTest do      _user = insert(:user, local: false, ap_id: data["actor"]) -    assert {:error, e} = Transmogrifier.handle_incoming(data) +    assert {:error, _e} = Transmogrifier.handle_incoming(data)    end    test "it does not clobber the addressing on announce activities" do diff --git a/test/pleroma/web/activity_pub/transmogrifier_test.exs b/test/pleroma/web/activity_pub/transmogrifier_test.exs index 561674f01..e39af1dfc 100644 --- a/test/pleroma/web/activity_pub/transmogrifier_test.exs +++ b/test/pleroma/web/activity_pub/transmogrifier_test.exs @@ -101,7 +101,7 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        {:ok, returned_activity} = Transmogrifier.handle_incoming(data)        returned_object = Object.normalize(returned_activity, false) -      assert activity = +      assert %Activity{} =                 Activity.get_create_by_object_ap_id(                   "https://mstdn.io/users/mayuutann/statuses/99568293732299394"                 ) @@ -206,6 +206,16 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do        assert user.note_count == 1      end +    test "it works for incoming notices without the sensitive property but an nsfw hashtag" do +      data = File.read!("test/fixtures/mastodon-post-activity-nsfw.json") |> Poison.decode!() + +      {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) + +      object_data = Object.normalize(data["object"], false).data + +      assert object_data["sensitive"] == true +    end +      test "it works for incoming notices with hashtags" do        data = File.read!("test/fixtures/mastodon-post-activity-hashtag.json") |> Poison.decode!() diff --git a/test/pleroma/web/common_api_test.exs b/test/pleroma/web/common_api_test.exs index f5d09f396..c5b90ad84 100644 --- a/test/pleroma/web/common_api_test.exs +++ b/test/pleroma/web/common_api_test.exs @@ -95,6 +95,20 @@ defmodule Pleroma.Web.CommonAPITest do    describe "posting chat messages" do      setup do: clear_config([:instance, :chat_limit]) +    test "it posts a self-chat" do +      author = insert(:user) +      recipient = author + +      {:ok, activity} = +        CommonAPI.post_chat_message( +          author, +          recipient, +          "remember to buy milk when milk truk arive" +        ) + +      assert activity.data["type"] == "Create" +    end +      test "it posts a chat message without content but with an attachment" do        author = insert(:user)        recipient = insert(:user) @@ -622,7 +636,7 @@ defmodule Pleroma.Web.CommonAPITest do        assert {:error, "The status is over the character limit"} =                 CommonAPI.post(user, %{status: "foobar"}) -      assert {:ok, activity} = CommonAPI.post(user, %{status: "12345"}) +      assert {:ok, _activity} = CommonAPI.post(user, %{status: "12345"})      end      test "it can handle activities that expire" do diff --git a/test/pleroma/web/fed_sockets/fed_registry_test.exs b/test/pleroma/web/fed_sockets/fed_registry_test.exs index 19ac874d6..73aaced46 100644 --- a/test/pleroma/web/fed_sockets/fed_registry_test.exs +++ b/test/pleroma/web/fed_sockets/fed_registry_test.exs @@ -52,7 +52,7 @@ defmodule Pleroma.Web.FedSockets.FedRegistryTest do      end      test "will be ignored" do -      assert {:ok, %SocketInfo{origin: origin, pid: pid_one}} = +      assert {:ok, %SocketInfo{origin: origin, pid: _pid_one}} =                 FedRegistry.get_fed_socket(@good_domain_origin)        assert origin == "good.domain:80" @@ -63,7 +63,7 @@ defmodule Pleroma.Web.FedSockets.FedRegistryTest do      test "the newer process will be closed" do        pid_two = build_test_socket(@good_domain) -      assert {:ok, %SocketInfo{origin: origin, pid: pid_one}} = +      assert {:ok, %SocketInfo{origin: origin, pid: _pid_one}} =                 FedRegistry.get_fed_socket(@good_domain_origin)        assert origin == "good.domain:80" diff --git a/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs index 7336fa8de..dcc0c81ec 100644 --- a/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/account_controller_test.exs @@ -32,7 +32,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do      test "works by nickname" do        user = insert(:user) -      assert %{"id" => user_id} = +      assert %{"id" => _user_id} =                 build_conn()                 |> get("/api/v1/accounts/#{user.nickname}")                 |> json_response_and_validate_schema(200) @@ -43,7 +43,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do        user = insert(:user, nickname: "user@example.com", local: false) -      assert %{"id" => user_id} = +      assert %{"id" => _user_id} =                 build_conn()                 |> get("/api/v1/accounts/#{user.nickname}")                 |> json_response_and_validate_schema(200) @@ -1429,10 +1429,10 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do      test "returns lists to which the account belongs" do        %{user: user, conn: conn} = oauth_access(["read:lists"])        other_user = insert(:user) -      assert {:ok, %Pleroma.List{id: list_id} = list} = Pleroma.List.create("Test List", user) +      assert {:ok, %Pleroma.List{id: _list_id} = list} = Pleroma.List.create("Test List", user)        {:ok, %{following: _following}} = Pleroma.List.follow(list, other_user) -      assert [%{"id" => list_id, "title" => "Test List"}] = +      assert [%{"id" => _list_id, "title" => "Test List"}] =                 conn                 |> get("/api/v1/accounts/#{other_user.id}/lists")                 |> json_response_and_validate_schema(200) diff --git a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs index 61359214a..436608e51 100644 --- a/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/status_controller_test.exs @@ -937,7 +937,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do          |> get("/api/v1/statuses/#{reblog_activity1.id}")        assert %{ -               "reblog" => %{"id" => id, "reblogged" => false, "reblogs_count" => 2}, +               "reblog" => %{"id" => _id, "reblogged" => false, "reblogs_count" => 2},                 "reblogged" => false,                 "favourited" => false,                 "bookmarked" => false diff --git a/test/pleroma/web/o_auth/o_auth_controller_test.exs b/test/pleroma/web/o_auth/o_auth_controller_test.exs index 1200126b8..a00df8cc7 100644 --- a/test/pleroma/web/o_auth/o_auth_controller_test.exs +++ b/test/pleroma/web/o_auth/o_auth_controller_test.exs @@ -77,7 +77,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do            }          ) -      assert response = html_response(conn, 302) +      assert html_response(conn, 302)        redirect_query = URI.parse(redirected_to(conn)).query        assert %{"state" => state_param} = URI.decode_query(redirect_query) @@ -119,7 +119,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do            }          ) -      assert response = html_response(conn, 302) +      assert html_response(conn, 302)        assert redirected_to(conn) =~ ~r/#{redirect_uri}\?code=.+/      end @@ -182,7 +182,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do            }          ) -      assert response = html_response(conn, 302) +      assert html_response(conn, 302)        assert redirected_to(conn) == app.redirect_uris        assert get_flash(conn, :error) == "Failed to authenticate: (error description)."      end @@ -238,7 +238,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do            }          ) -      assert response = html_response(conn, 302) +      assert html_response(conn, 302)        assert redirected_to(conn) =~ ~r/#{redirect_uri}\?code=.+/      end @@ -268,7 +268,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do            }          ) -      assert response = html_response(conn, 401) +      assert html_response(conn, 401)      end      test "with invalid params, POST /oauth/register?op=register renders registration_details page", @@ -336,7 +336,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do            }          ) -      assert response = html_response(conn, 302) +      assert html_response(conn, 302)        assert redirected_to(conn) =~ ~r/#{redirect_uri}\?code=.+/      end @@ -367,7 +367,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do            }          ) -      assert response = html_response(conn, 401) +      assert html_response(conn, 401)      end      test "with invalid params, POST /oauth/register?op=connect renders registration_details page", diff --git a/test/pleroma/web/pleroma_api/controllers/emoji_pack_controller_test.exs b/test/pleroma/web/pleroma_api/controllers/emoji_pack_controller_test.exs index 386ad8634..3445f0ca0 100644 --- a/test/pleroma/web/pleroma_api/controllers/emoji_pack_controller_test.exs +++ b/test/pleroma/web/pleroma_api/controllers/emoji_pack_controller_test.exs @@ -569,7 +569,7 @@ defmodule Pleroma.Web.PleromaAPI.EmojiPackControllerTest do      test "for pack name with special chars", %{conn: conn} do        assert %{ -               "files" => files, +               "files" => _files,                 "files_count" => 1,                 "pack" => %{                   "can-download" => true, diff --git a/test/pleroma/web/pleroma_api/controllers/mascot_controller_test.exs b/test/pleroma/web/pleroma_api/controllers/mascot_controller_test.exs index d6be92869..289119d45 100644 --- a/test/pleroma/web/pleroma_api/controllers/mascot_controller_test.exs +++ b/test/pleroma/web/pleroma_api/controllers/mascot_controller_test.exs @@ -34,7 +34,7 @@ defmodule Pleroma.Web.PleromaAPI.MascotControllerTest do        |> put_req_header("content-type", "multipart/form-data")        |> put("/api/v1/pleroma/mascot", %{"file" => file}) -    assert %{"id" => _, "type" => image} = json_response_and_validate_schema(conn, 200) +    assert %{"id" => _, "type" => _image} = json_response_and_validate_schema(conn, 200)    end    test "mascot retrieving" do diff --git a/test/support/channel_case.ex b/test/support/channel_case.ex index d63a0f06b..114184a9f 100644 --- a/test/support/channel_case.ex +++ b/test/support/channel_case.ex @@ -22,7 +22,7 @@ defmodule Pleroma.Web.ChannelCase do    using do      quote do        # Import conveniences for testing with channels -      use Phoenix.ChannelTest +      import Phoenix.ChannelTest        use Pleroma.Tests.Helpers        # The default endpoint for testing diff --git a/test/support/conn_case.ex b/test/support/conn_case.ex index 7ef681258..9316a82e4 100644 --- a/test/support/conn_case.ex +++ b/test/support/conn_case.ex @@ -22,7 +22,8 @@ defmodule Pleroma.Web.ConnCase do    using do      quote do        # Import conveniences for testing with connections -      use Phoenix.ConnTest +      import Plug.Conn +      import Phoenix.ConnTest        use Pleroma.Tests.Helpers        import Pleroma.Web.Router.Helpers | 
