diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/activity_test.exs | 26 | ||||
| -rw-r--r-- | test/fixtures/sound.mp3 | bin | 0 -> 521 bytes | |||
| -rw-r--r-- | test/formatter_test.exs | 9 | ||||
| -rw-r--r-- | test/keys_test.exs | 20 | ||||
| -rw-r--r-- | test/object/fetcher_test.exs | 19 | ||||
| -rw-r--r-- | test/user_test.exs | 17 | ||||
| -rw-r--r-- | test/web/activity_pub/activity_pub_test.exs | 2 | ||||
| -rw-r--r-- | test/web/activity_pub/mrf/simple_policy_test.exs | 101 | ||||
| -rw-r--r-- | test/web/activity_pub/views/user_view_test.exs | 13 | ||||
| -rw-r--r-- | test/web/admin_api/admin_api_controller_test.exs | 4 | ||||
| -rw-r--r-- | test/web/fallback_test.exs | 52 | ||||
| -rw-r--r-- | test/web/mastodon_api/account_view_test.exs | 6 | ||||
| -rw-r--r-- | test/web/mastodon_api/mastodon_api_controller_test.exs | 66 | ||||
| -rw-r--r-- | test/web/mongooseim/mongoose_im_controller_test.exs | 59 | ||||
| -rw-r--r-- | test/web/oauth/token_test.exs | 13 | ||||
| -rw-r--r-- | test/web/rich_media/helpers_test.exs | 40 | ||||
| -rw-r--r-- | test/web/salmon/salmon_test.exs | 19 | ||||
| -rw-r--r-- | test/web/web_finger/web_finger_test.exs | 15 | 
18 files changed, 436 insertions, 45 deletions
| diff --git a/test/activity_test.exs b/test/activity_test.exs index 7e91d534b..15c95502a 100644 --- a/test/activity_test.exs +++ b/test/activity_test.exs @@ -6,6 +6,7 @@ defmodule Pleroma.ActivityTest do    use Pleroma.DataCase    alias Pleroma.Activity    alias Pleroma.Bookmark +  alias Pleroma.ThreadMute    import Pleroma.Factory    test "returns an activity by it's AP id" do @@ -47,6 +48,31 @@ defmodule Pleroma.ActivityTest do      assert queried_activity.bookmark == bookmark3    end +  test "setting thread_muted?" do +    activity = insert(:note_activity) +    user = insert(:user) +    annoyed_user = insert(:user) +    {:ok, _} = ThreadMute.add_mute(annoyed_user.id, activity.data["context"]) + +    activity_with_unset_thread_muted_field = +      Ecto.Query.from(Activity) +      |> Repo.one() + +    activity_for_user = +      Ecto.Query.from(Activity) +      |> Activity.with_set_thread_muted_field(user) +      |> Repo.one() + +    activity_for_annoyed_user = +      Ecto.Query.from(Activity) +      |> Activity.with_set_thread_muted_field(annoyed_user) +      |> Repo.one() + +    assert activity_with_unset_thread_muted_field.thread_muted? == nil +    assert activity_for_user.thread_muted? == false +    assert activity_for_annoyed_user.thread_muted? == true +  end +    describe "getting a bookmark" do      test "when association is loaded" do        user = insert(:user) diff --git a/test/fixtures/sound.mp3 b/test/fixtures/sound.mp3Binary files differ new file mode 100644 index 000000000..9f0f661a3 --- /dev/null +++ b/test/fixtures/sound.mp3 diff --git a/test/formatter_test.exs b/test/formatter_test.exs index 5e7011160..47b91b121 100644 --- a/test/formatter_test.exs +++ b/test/formatter_test.exs @@ -206,6 +206,15 @@ defmodule Pleroma.FormatterTest do        assert mentions == []        assert expected_text == text      end + +    test "given the 'safe_mention' option, it will keep text after newlines" do +      user = insert(:user) +      text = " @#{user.nickname}\n hey dude\n\nhow are you doing?" + +      {expected_text, _, _} = Formatter.linkify(text, safe_mention: true) + +      assert expected_text =~ "how are you doing?" +    end    end    describe ".parse_tags" do diff --git a/test/keys_test.exs b/test/keys_test.exs new file mode 100644 index 000000000..776fdea6f --- /dev/null +++ b/test/keys_test.exs @@ -0,0 +1,20 @@ +defmodule Pleroma.KeysTest do +  use Pleroma.DataCase + +  alias Pleroma.Keys + +  test "generates an RSA private key pem" do +    {:ok, key} = Keys.generate_rsa_pem() + +    assert is_binary(key) +    assert Regex.match?(~r/RSA/, key) +  end + +  test "returns a public and private key from a pem" do +    pem = File.read!("test/fixtures/private_key.pem") +    {:ok, private, public} = Keys.keys_from_pem(pem) + +    assert elem(private, 0) == :RSAPrivateKey +    assert elem(public, 0) == :RSAPublicKey +  end +end diff --git a/test/object/fetcher_test.exs b/test/object/fetcher_test.exs index 72f616782..d604fd5f5 100644 --- a/test/object/fetcher_test.exs +++ b/test/object/fetcher_test.exs @@ -87,4 +87,23 @@ defmodule Pleroma.Object.FetcherTest do          )      end    end + +  describe "pruning" do +    test "it can refetch pruned objects" do +      object_id = "http://mastodon.example.org/@admin/99541947525187367" + +      {:ok, object} = Fetcher.fetch_object_from_id(object_id) + +      assert object + +      {:ok, _object} = Object.prune(object) + +      refute Object.get_by_ap_id(object_id) + +      {:ok, %Object{} = object_two} = Fetcher.fetch_object_from_id(object_id) + +      assert object.data["id"] == object_two.data["id"] +      assert object.id != object_two.id +    end +  end  end diff --git a/test/user_test.exs b/test/user_test.exs index 10e463ff8..019f2b56d 100644 --- a/test/user_test.exs +++ b/test/user_test.exs @@ -902,7 +902,7 @@ defmodule Pleroma.UserTest do        assert [activity] == ActivityPub.fetch_public_activities(%{}) |> Repo.preload(:bookmark) -      assert [activity] == +      assert [%{activity | thread_muted?: CommonAPI.thread_muted?(user2, activity)}] ==                 ActivityPub.fetch_activities([user2.ap_id | user2.following], %{"user" => user2})        {:ok, _user} = User.deactivate(user) @@ -1251,4 +1251,19 @@ defmodule Pleroma.UserTest do        refute user.info.confirmation_token      end    end + +  describe "ensure_keys_present" do +    test "it creates keys for a user and stores them in info" do +      user = insert(:user) +      refute is_binary(user.info.keys) +      {:ok, user} = User.ensure_keys_present(user) +      assert is_binary(user.info.keys) +    end + +    test "it doesn't create keys if there already are some" do +      user = insert(:user, %{info: %{keys: "xxx"}}) +      {:ok, user} = User.ensure_keys_present(user) +      assert user.info.keys == "xxx" +    end +  end  end diff --git a/test/web/activity_pub/activity_pub_test.exs b/test/web/activity_pub/activity_pub_test.exs index 11fd3d244..5d0d5a40e 100644 --- a/test/web/activity_pub/activity_pub_test.exs +++ b/test/web/activity_pub/activity_pub_test.exs @@ -1005,7 +1005,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubTest do    describe "update" do      test "it creates an update activity with the new user data" do        user = insert(:user) -      {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) +      {:ok, user} = User.ensure_keys_present(user)        user_data = Pleroma.Web.ActivityPub.UserView.render("user.json", %{user: user})        {:ok, update} = diff --git a/test/web/activity_pub/mrf/simple_policy_test.exs b/test/web/activity_pub/mrf/simple_policy_test.exs index 1e0511975..3d1f26e60 100644 --- a/test/web/activity_pub/mrf/simple_policy_test.exs +++ b/test/web/activity_pub/mrf/simple_policy_test.exs @@ -15,8 +15,11 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do        media_removal: [],        media_nsfw: [],        federated_timeline_removal: [], +      report_removal: [],        reject: [], -      accept: [] +      accept: [], +      avatar_removal: [], +      banner_removal: []      )      on_exit(fn -> @@ -85,6 +88,33 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do      }    end +  describe "when :report_removal" do +    test "is empty" do +      Config.put([:mrf_simple, :report_removal], []) +      report_message = build_report_message() +      local_message = build_local_message() + +      assert SimplePolicy.filter(report_message) == {:ok, report_message} +      assert SimplePolicy.filter(local_message) == {:ok, local_message} +    end + +    test "has a matching host" do +      Config.put([:mrf_simple, :report_removal], ["remote.instance"]) +      report_message = build_report_message() +      local_message = build_local_message() + +      assert SimplePolicy.filter(report_message) == {:reject, nil} +      assert SimplePolicy.filter(local_message) == {:ok, local_message} +    end +  end + +  defp build_report_message do +    %{ +      "actor" => "https://remote.instance/users/bob", +      "type" => "Flag" +    } +  end +    describe "when :federated_timeline_removal" do      test "is empty" do        Config.put([:mrf_simple, :federated_timeline_removal], []) @@ -178,6 +208,60 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do      end    end +  describe "when :avatar_removal" do +    test "is empty" do +      Config.put([:mrf_simple, :avatar_removal], []) + +      remote_user = build_remote_user() + +      assert SimplePolicy.filter(remote_user) == {:ok, remote_user} +    end + +    test "is not empty but it doesn't have a matching host" do +      Config.put([:mrf_simple, :avatar_removal], ["non.matching.remote"]) + +      remote_user = build_remote_user() + +      assert SimplePolicy.filter(remote_user) == {:ok, remote_user} +    end + +    test "has a matching host" do +      Config.put([:mrf_simple, :avatar_removal], ["remote.instance"]) + +      remote_user = build_remote_user() +      {:ok, filtered} = SimplePolicy.filter(remote_user) + +      refute filtered["icon"] +    end +  end + +  describe "when :banner_removal" do +    test "is empty" do +      Config.put([:mrf_simple, :banner_removal], []) + +      remote_user = build_remote_user() + +      assert SimplePolicy.filter(remote_user) == {:ok, remote_user} +    end + +    test "is not empty but it doesn't have a matching host" do +      Config.put([:mrf_simple, :banner_removal], ["non.matching.remote"]) + +      remote_user = build_remote_user() + +      assert SimplePolicy.filter(remote_user) == {:ok, remote_user} +    end + +    test "has a matching host" do +      Config.put([:mrf_simple, :banner_removal], ["remote.instance"]) + +      remote_user = build_remote_user() +      {:ok, filtered} = SimplePolicy.filter(remote_user) + +      refute filtered["image"] +    end +  end +    defp build_local_message do      %{        "actor" => "#{Pleroma.Web.base_url()}/users/alice", @@ -189,4 +273,19 @@ defmodule Pleroma.Web.ActivityPub.MRF.SimplePolicyTest do    defp build_remote_message do      %{"actor" => "https://remote.instance/users/bob"}    end + +  defp build_remote_user do +    %{ +      "id" => "https://remote.instance/users/bob", +      "icon" => %{ +        "url" => "http://example.com/image.jpg", +        "type" => "Image" +      }, +      "image" => %{ +        "url" => "http://example.com/image.jpg", +        "type" => "Image" +      }, +      "type" => "Person" +    } +  end  end diff --git a/test/web/activity_pub/views/user_view_test.exs b/test/web/activity_pub/views/user_view_test.exs index 9fb9455d2..e6483db8b 100644 --- a/test/web/activity_pub/views/user_view_test.exs +++ b/test/web/activity_pub/views/user_view_test.exs @@ -2,11 +2,12 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do    use Pleroma.DataCase    import Pleroma.Factory +  alias Pleroma.User    alias Pleroma.Web.ActivityPub.UserView    test "Renders a user, including the public key" do      user = insert(:user) -    {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) +    {:ok, user} = User.ensure_keys_present(user)      result = UserView.render("user.json", %{user: user}) @@ -18,7 +19,7 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do    test "Does not add an avatar image if the user hasn't set one" do      user = insert(:user) -    {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) +    {:ok, user} = User.ensure_keys_present(user)      result = UserView.render("user.json", %{user: user})      refute result["icon"] @@ -32,7 +33,7 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do          }        ) -    {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) +    {:ok, user} = User.ensure_keys_present(user)      result = UserView.render("user.json", %{user: user})      assert result["icon"]["url"] == "https://someurl" @@ -42,7 +43,7 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do    describe "endpoints" do      test "local users have a usable endpoints structure" do        user = insert(:user) -      {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) +      {:ok, user} = User.ensure_keys_present(user)        result = UserView.render("user.json", %{user: user}) @@ -58,7 +59,7 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do      test "remote users have an empty endpoints structure" do        user = insert(:user, local: false) -      {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) +      {:ok, user} = User.ensure_keys_present(user)        result = UserView.render("user.json", %{user: user}) @@ -68,7 +69,7 @@ defmodule Pleroma.Web.ActivityPub.UserViewTest do      test "instance users do not expose oAuth endpoints" do        user = insert(:user, nickname: nil, local: true) -      {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) +      {:ok, user} = User.ensure_keys_present(user)        result = UserView.render("user.json", %{user: user}) diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs index ca12c7215..c15c67e31 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -397,14 +397,14 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      end    end -  test "/api/pleroma/admin/invite_token" do +  test "/api/pleroma/admin/users/invite_token" do      admin = insert(:user, info: %{is_admin: true})      conn =        build_conn()        |> assign(:user, admin)        |> put_req_header("accept", "application/json") -      |> get("/api/pleroma/admin/invite_token") +      |> get("/api/pleroma/admin/users/invite_token")      assert conn.status == 200    end diff --git a/test/web/fallback_test.exs b/test/web/fallback_test.exs new file mode 100644 index 000000000..cc78b3ae1 --- /dev/null +++ b/test/web/fallback_test.exs @@ -0,0 +1,52 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.FallbackTest do +  use Pleroma.Web.ConnCase +  import Pleroma.Factory + +  test "GET /registration/:token", %{conn: conn} do +    assert conn +           |> get("/registration/foo") +           |> html_response(200) =~ "<!--server-generated-meta-->" +  end + +  test "GET /:maybe_nickname_or_id", %{conn: conn} do +    user = insert(:user) + +    assert conn +           |> get("/foo") +           |> html_response(200) =~ "<!--server-generated-meta-->" + +    refute conn +           |> get("/" <> user.nickname) +           |> html_response(200) =~ "<!--server-generated-meta-->" +  end + +  test "GET /api*path", %{conn: conn} do +    assert conn +           |> get("/api/foo") +           |> json_response(404) == %{"error" => "Not implemented"} +  end + +  test "GET /*path", %{conn: conn} do +    assert conn +           |> get("/foo") +           |> html_response(200) =~ "<!--server-generated-meta-->" + +    assert conn +           |> get("/foo/bar") +           |> html_response(200) =~ "<!--server-generated-meta-->" +  end + +  test "OPTIONS /*path", %{conn: conn} do +    assert conn +           |> options("/foo") +           |> response(204) == "" + +    assert conn +           |> options("/foo/bar") +           |> response(204) == "" +  end +end diff --git a/test/web/mastodon_api/account_view_test.exs b/test/web/mastodon_api/account_view_test.exs index a24f2a050..aaf2261bb 100644 --- a/test/web/mastodon_api/account_view_test.exs +++ b/test/web/mastodon_api/account_view_test.exs @@ -55,7 +55,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        fields: [],        bot: false,        source: %{ -        note: "", +        note: "valid html",          sensitive: false,          pleroma: %{}        }, @@ -120,7 +120,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        fields: [],        bot: true,        source: %{ -        note: "", +        note: user.bio,          sensitive: false,          pleroma: %{}        }, @@ -209,7 +209,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do        fields: [],        bot: true,        source: %{ -        note: "", +        note: user.bio,          sensitive: false,          pleroma: %{}        }, diff --git a/test/web/mastodon_api/mastodon_api_controller_test.exs b/test/web/mastodon_api/mastodon_api_controller_test.exs index cbff141c8..1d9f5a816 100644 --- a/test/web/mastodon_api/mastodon_api_controller_test.exs +++ b/test/web/mastodon_api/mastodon_api_controller_test.exs @@ -1455,6 +1455,72 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do      assert object.data["actor"] == User.ap_id(user)    end +  test "mascot upload", %{conn: conn} do +    user = insert(:user) + +    non_image_file = %Plug.Upload{ +      content_type: "audio/mpeg", +      path: Path.absname("test/fixtures/sound.mp3"), +      filename: "sound.mp3" +    } + +    conn = +      conn +      |> assign(:user, user) +      |> put("/api/v1/pleroma/mascot", %{"file" => non_image_file}) + +    assert json_response(conn, 415) + +    file = %Plug.Upload{ +      content_type: "image/jpg", +      path: Path.absname("test/fixtures/image.jpg"), +      filename: "an_image.jpg" +    } + +    conn = +      build_conn() +      |> assign(:user, user) +      |> put("/api/v1/pleroma/mascot", %{"file" => file}) + +    assert %{"id" => _, "type" => image} = json_response(conn, 200) +  end + +  test "mascot retrieving", %{conn: conn} do +    user = insert(:user) +    # When user hasn't set a mascot, we should just get pleroma tan back +    conn = +      conn +      |> assign(:user, user) +      |> get("/api/v1/pleroma/mascot") + +    assert %{"url" => url} = json_response(conn, 200) +    assert url =~ "pleroma-fox-tan-smol" + +    # When a user sets their mascot, we should get that back +    file = %Plug.Upload{ +      content_type: "image/jpg", +      path: Path.absname("test/fixtures/image.jpg"), +      filename: "an_image.jpg" +    } + +    conn = +      build_conn() +      |> assign(:user, user) +      |> put("/api/v1/pleroma/mascot", %{"file" => file}) + +    assert json_response(conn, 200) + +    user = User.get_cached_by_id(user.id) + +    conn = +      build_conn() +      |> assign(:user, user) +      |> get("/api/v1/pleroma/mascot") + +    assert %{"url" => url, "type" => "image"} = json_response(conn, 200) +    assert url =~ "an_image" +  end +    test "hashtag timeline", %{conn: conn} do      following = insert(:user) diff --git a/test/web/mongooseim/mongoose_im_controller_test.exs b/test/web/mongooseim/mongoose_im_controller_test.exs new file mode 100644 index 000000000..eb83999bb --- /dev/null +++ b/test/web/mongooseim/mongoose_im_controller_test.exs @@ -0,0 +1,59 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.MongooseIMController do +  use Pleroma.Web.ConnCase +  import Pleroma.Factory + +  test "/user_exists", %{conn: conn} do +    _user = insert(:user, nickname: "lain") +    _remote_user = insert(:user, nickname: "alice", local: false) + +    res = +      conn +      |> get(mongoose_im_path(conn, :user_exists), user: "lain") +      |> json_response(200) + +    assert res == true + +    res = +      conn +      |> get(mongoose_im_path(conn, :user_exists), user: "alice") +      |> json_response(404) + +    assert res == false + +    res = +      conn +      |> get(mongoose_im_path(conn, :user_exists), user: "bob") +      |> json_response(404) + +    assert res == false +  end + +  test "/check_password", %{conn: conn} do +    user = insert(:user, password_hash: Comeonin.Pbkdf2.hashpwsalt("cool")) + +    res = +      conn +      |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "cool") +      |> json_response(200) + +    assert res == true + +    res = +      conn +      |> get(mongoose_im_path(conn, :check_password), user: user.nickname, pass: "uncool") +      |> json_response(403) + +    assert res == false + +    res = +      conn +      |> get(mongoose_im_path(conn, :check_password), user: "nobody", pass: "cool") +      |> json_response(404) + +    assert res == false +  end +end diff --git a/test/web/oauth/token_test.exs b/test/web/oauth/token_test.exs index ad2a49f09..3c07309b7 100644 --- a/test/web/oauth/token_test.exs +++ b/test/web/oauth/token_test.exs @@ -69,4 +69,17 @@ defmodule Pleroma.Web.OAuth.TokenTest do      assert tokens == 2    end + +  test "deletes expired tokens" do +    insert(:oauth_token, valid_until: Timex.shift(Timex.now(), days: -3)) +    insert(:oauth_token, valid_until: Timex.shift(Timex.now(), days: -3)) +    t3 = insert(:oauth_token) +    t4 = insert(:oauth_token, valid_until: Timex.shift(Timex.now(), minutes: 10)) +    {tokens, _} = Token.delete_expired_tokens() +    assert tokens == 2 +    available_tokens = Pleroma.Repo.all(Token) + +    token_ids = available_tokens |> Enum.map(& &1.id) +    assert token_ids == [t3.id, t4.id] +  end  end diff --git a/test/web/rich_media/helpers_test.exs b/test/web/rich_media/helpers_test.exs index 60d93768f..53b0596f5 100644 --- a/test/web/rich_media/helpers_test.exs +++ b/test/web/rich_media/helpers_test.exs @@ -1,6 +1,7 @@  defmodule Pleroma.Web.RichMedia.HelpersTest do    use Pleroma.DataCase +  alias Pleroma.Object    alias Pleroma.Web.CommonAPI    import Pleroma.Factory @@ -59,4 +60,43 @@ defmodule Pleroma.Web.RichMedia.HelpersTest do      Pleroma.Config.put([:rich_media, :enabled], false)    end + +  test "refuses to crawl URLs from posts marked sensitive" do +    user = insert(:user) + +    {:ok, activity} = +      CommonAPI.post(user, %{ +        "status" => "http://example.com/ogp", +        "sensitive" => true +      }) + +    %Object{} = object = Object.normalize(activity) + +    assert object.data["sensitive"] + +    Pleroma.Config.put([:rich_media, :enabled], true) + +    assert %{} = Pleroma.Web.RichMedia.Helpers.fetch_data_for_activity(activity) + +    Pleroma.Config.put([:rich_media, :enabled], false) +  end + +  test "refuses to crawl URLs from posts tagged NSFW" do +    user = insert(:user) + +    {:ok, activity} = +      CommonAPI.post(user, %{ +        "status" => "http://example.com/ogp #nsfw" +      }) + +    %Object{} = object = Object.normalize(activity) + +    assert object.data["sensitive"] + +    Pleroma.Config.put([:rich_media, :enabled], true) + +    assert %{} = Pleroma.Web.RichMedia.Helpers.fetch_data_for_activity(activity) + +    Pleroma.Config.put([:rich_media, :enabled], false) +  end  end diff --git a/test/web/salmon/salmon_test.exs b/test/web/salmon/salmon_test.exs index 232082779..e86e76fe9 100644 --- a/test/web/salmon/salmon_test.exs +++ b/test/web/salmon/salmon_test.exs @@ -5,6 +5,7 @@  defmodule Pleroma.Web.Salmon.SalmonTest do    use Pleroma.DataCase    alias Pleroma.Activity +  alias Pleroma.Keys    alias Pleroma.Repo    alias Pleroma.User    alias Pleroma.Web.Federator.Publisher @@ -34,12 +35,6 @@ defmodule Pleroma.Web.Salmon.SalmonTest do      assert Salmon.decode_and_validate(@wrong_magickey, salmon) == :error    end -  test "generates an RSA private key pem" do -    {:ok, key} = Salmon.generate_rsa_pem() -    assert is_binary(key) -    assert Regex.match?(~r/RSA/, key) -  end -    test "it encodes a magic key from a public key" do      key = Salmon.decode_key(@magickey)      magic_key = Salmon.encode_key(key) @@ -51,18 +46,10 @@ defmodule Pleroma.Web.Salmon.SalmonTest do      _key = Salmon.decode_key(@magickey_friendica)    end -  test "returns a public and private key from a pem" do -    pem = File.read!("test/fixtures/private_key.pem") -    {:ok, private, public} = Salmon.keys_from_pem(pem) - -    assert elem(private, 0) == :RSAPrivateKey -    assert elem(public, 0) == :RSAPublicKey -  end -    test "encodes an xml payload with a private key" do      doc = File.read!("test/fixtures/incoming_note_activity.xml")      pem = File.read!("test/fixtures/private_key.pem") -    {:ok, private, public} = Salmon.keys_from_pem(pem) +    {:ok, private, public} = Keys.keys_from_pem(pem)      # Let's try a roundtrip.      {:ok, salmon} = Salmon.encode(private, doc) @@ -105,7 +92,7 @@ defmodule Pleroma.Web.Salmon.SalmonTest do      {:ok, activity} = Repo.insert(%Activity{data: activity_data, recipients: activity_data["to"]})      user = User.get_cached_by_ap_id(activity.data["actor"]) -    {:ok, user} = Pleroma.Web.WebFinger.ensure_keys_present(user) +    {:ok, user} = User.ensure_keys_present(user)      Salmon.publish(user, activity) diff --git a/test/web/web_finger/web_finger_test.exs b/test/web/web_finger/web_finger_test.exs index 6b20d8d56..335c95b18 100644 --- a/test/web/web_finger/web_finger_test.exs +++ b/test/web/web_finger/web_finger_test.exs @@ -105,19 +105,4 @@ defmodule Pleroma.Web.WebFingerTest do        assert template == "http://status.alpicola.com/main/xrd?uri={uri}"      end    end - -  describe "ensure_keys_present" do -    test "it creates keys for a user and stores them in info" do -      user = insert(:user) -      refute is_binary(user.info.keys) -      {:ok, user} = WebFinger.ensure_keys_present(user) -      assert is_binary(user.info.keys) -    end - -    test "it doesn't create keys if there already are some" do -      user = insert(:user, %{info: %{keys: "xxx"}}) -      {:ok, user} = WebFinger.ensure_keys_present(user) -      assert user.info.keys == "xxx" -    end -  end  end | 
