diff options
Diffstat (limited to 'test/web/twitter_api')
| -rw-r--r-- | test/web/twitter_api/twitter_api_test.exs | 45 | ||||
| -rw-r--r-- | test/web/twitter_api/util_controller_test.exs | 141 | 
2 files changed, 20 insertions, 166 deletions
diff --git a/test/web/twitter_api/twitter_api_test.exs b/test/web/twitter_api/twitter_api_test.exs index 368533292..5bb2d8d89 100644 --- a/test/web/twitter_api/twitter_api_test.exs +++ b/test/web/twitter_api/twitter_api_test.exs @@ -4,11 +4,11 @@  defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do    use Pleroma.DataCase +    alias Pleroma.Repo    alias Pleroma.Tests.ObanHelpers    alias Pleroma.User    alias Pleroma.UserInviteToken -  alias Pleroma.Web.MastodonAPI.AccountView    alias Pleroma.Web.TwitterAPI.TwitterAPI    setup_all do @@ -27,13 +27,10 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do      {:ok, user} = TwitterAPI.register_user(data) -    fetched_user = User.get_cached_by_nickname("lain") - -    assert AccountView.render("show.json", %{user: user}) == -             AccountView.render("show.json", %{user: fetched_user}) +    assert user == User.get_cached_by_nickname("lain")    end -  test "it registers a new user with empty string in bio and returns the user." do +  test "it registers a new user with empty string in bio and returns the user" do      data = %{        :username => "lain",        :email => "lain@wired.jp", @@ -45,10 +42,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do      {:ok, user} = TwitterAPI.register_user(data) -    fetched_user = User.get_cached_by_nickname("lain") - -    assert AccountView.render("show.json", %{user: user}) == -             AccountView.render("show.json", %{user: fetched_user}) +    assert user == User.get_cached_by_nickname("lain")    end    test "it sends confirmation email if :account_activation_required is specified in instance config" do @@ -134,13 +128,10 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do        {:ok, user} = TwitterAPI.register_user(data) -      fetched_user = User.get_cached_by_nickname("vinny") -      invite = Repo.get_by(UserInviteToken, token: invite.token) +      assert user == User.get_cached_by_nickname("vinny") +      invite = Repo.get_by(UserInviteToken, token: invite.token)        assert invite.used == true - -      assert AccountView.render("show.json", %{user: user}) == -               AccountView.render("show.json", %{user: fetched_user})      end      test "returns error on invalid token" do @@ -197,10 +188,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do        check_fn = fn invite ->          data = Map.put(data, :token, invite.token)          {:ok, user} = TwitterAPI.register_user(data) -        fetched_user = User.get_cached_by_nickname("vinny") -        assert AccountView.render("show.json", %{user: user}) == -                 AccountView.render("show.json", %{user: fetched_user}) +        assert user == User.get_cached_by_nickname("vinny")        end        {:ok, data: data, check_fn: check_fn} @@ -260,14 +249,11 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do        }        {:ok, user} = TwitterAPI.register_user(data) -      fetched_user = User.get_cached_by_nickname("vinny") -      invite = Repo.get_by(UserInviteToken, token: invite.token) +      assert user == User.get_cached_by_nickname("vinny") +      invite = Repo.get_by(UserInviteToken, token: invite.token)        assert invite.used == true -      assert AccountView.render("show.json", %{user: user}) == -               AccountView.render("show.json", %{user: fetched_user}) -        data = %{          :username => "GrimReaper",          :email => "death@reapers.afterlife", @@ -302,13 +288,10 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do        }        {:ok, user} = TwitterAPI.register_user(data) -      fetched_user = User.get_cached_by_nickname("vinny") -      invite = Repo.get_by(UserInviteToken, token: invite.token) +      assert user == User.get_cached_by_nickname("vinny") +      invite = Repo.get_by(UserInviteToken, token: invite.token)        refute invite.used - -      assert AccountView.render("show.json", %{user: user}) == -               AccountView.render("show.json", %{user: fetched_user})      end      test "error after max uses" do @@ -327,13 +310,11 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do        }        {:ok, user} = TwitterAPI.register_user(data) -      fetched_user = User.get_cached_by_nickname("vinny") +      assert user == User.get_cached_by_nickname("vinny") +        invite = Repo.get_by(UserInviteToken, token: invite.token)        assert invite.used == true -      assert AccountView.render("show.json", %{user: user}) == -               AccountView.render("show.json", %{user: fetched_user}) -        data = %{          :username => "GrimReaper",          :email => "death@reapers.afterlife", diff --git a/test/web/twitter_api/util_controller_test.exs b/test/web/twitter_api/util_controller_test.exs index ad919d341..109c1e637 100644 --- a/test/web/twitter_api/util_controller_test.exs +++ b/test/web/twitter_api/util_controller_test.exs @@ -191,7 +191,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do      test "it updates notification settings", %{user: user, conn: conn} do        conn        |> put("/api/pleroma/notification_settings", %{ -        "followers" => false, +        "block_from_strangers" => true,          "bar" => 1        })        |> json_response(:ok) @@ -199,130 +199,25 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do        user = refresh_record(user)        assert %Pleroma.User.NotificationSetting{ -               followers: false, -               follows: true, -               non_follows: true, -               non_followers: true, -               privacy_option: false +               block_from_strangers: true, +               hide_notification_contents: false               } == user.notification_settings      end -    test "it updates notification privacy option", %{user: user, conn: conn} do +    test "it updates notification settings to enable hiding contents", %{user: user, conn: conn} do        conn -      |> put("/api/pleroma/notification_settings", %{"privacy_option" => "1"}) +      |> put("/api/pleroma/notification_settings", %{"hide_notification_contents" => "1"})        |> json_response(:ok)        user = refresh_record(user)        assert %Pleroma.User.NotificationSetting{ -               followers: true, -               follows: true, -               non_follows: true, -               non_followers: true, -               privacy_option: true +               block_from_strangers: false, +               hide_notification_contents: true               } == user.notification_settings      end    end -  describe "GET /api/statusnet/config" do -    test "it returns config in xml format", %{conn: conn} do -      instance = Config.get(:instance) - -      response = -        conn -        |> put_req_header("accept", "application/xml") -        |> get("/api/statusnet/config") -        |> response(:ok) - -      assert response == -               "<config>\n<site>\n<name>#{Keyword.get(instance, :name)}</name>\n<site>#{ -                 Pleroma.Web.base_url() -               }</site>\n<textlimit>#{Keyword.get(instance, :limit)}</textlimit>\n<closed>#{ -                 !Keyword.get(instance, :registrations_open) -               }</closed>\n</site>\n</config>\n" -    end - -    test "it returns config in json format", %{conn: conn} do -      instance = Config.get(:instance) -      Config.put([:instance, :managed_config], true) -      Config.put([:instance, :registrations_open], false) -      Config.put([:instance, :invites_enabled], true) -      Config.put([:instance, :public], false) -      Config.put([:frontend_configurations, :pleroma_fe], %{theme: "asuka-hospital"}) - -      response = -        conn -        |> put_req_header("accept", "application/json") -        |> get("/api/statusnet/config") -        |> json_response(:ok) - -      expected_data = %{ -        "site" => %{ -          "accountActivationRequired" => "0", -          "closed" => "1", -          "description" => Keyword.get(instance, :description), -          "invitesEnabled" => "1", -          "name" => Keyword.get(instance, :name), -          "pleromafe" => %{"theme" => "asuka-hospital"}, -          "private" => "1", -          "safeDMMentionsEnabled" => "0", -          "server" => Pleroma.Web.base_url(), -          "textlimit" => to_string(Keyword.get(instance, :limit)), -          "uploadlimit" => %{ -            "avatarlimit" => to_string(Keyword.get(instance, :avatar_upload_limit)), -            "backgroundlimit" => to_string(Keyword.get(instance, :background_upload_limit)), -            "bannerlimit" => to_string(Keyword.get(instance, :banner_upload_limit)), -            "uploadlimit" => to_string(Keyword.get(instance, :upload_limit)) -          }, -          "vapidPublicKey" => Keyword.get(Pleroma.Web.Push.vapid_config(), :public_key) -        } -      } - -      assert response == expected_data -    end - -    test "returns the state of safe_dm_mentions flag", %{conn: conn} do -      Config.put([:instance, :safe_dm_mentions], true) - -      response = -        conn -        |> get("/api/statusnet/config.json") -        |> json_response(:ok) - -      assert response["site"]["safeDMMentionsEnabled"] == "1" - -      Config.put([:instance, :safe_dm_mentions], false) - -      response = -        conn -        |> get("/api/statusnet/config.json") -        |> json_response(:ok) - -      assert response["site"]["safeDMMentionsEnabled"] == "0" -    end - -    test "it returns the managed config", %{conn: conn} do -      Config.put([:instance, :managed_config], false) -      Config.put([:frontend_configurations, :pleroma_fe], %{theme: "asuka-hospital"}) - -      response = -        conn -        |> get("/api/statusnet/config.json") -        |> json_response(:ok) - -      refute response["site"]["pleromafe"] - -      Config.put([:instance, :managed_config], true) - -      response = -        conn -        |> get("/api/statusnet/config.json") -        |> json_response(:ok) - -      assert response["site"]["pleromafe"] == %{"theme" => "asuka-hospital"} -    end -  end -    describe "GET /api/pleroma/frontend_configurations" do      test "returns everything in :pleroma, :frontend_configurations", %{conn: conn} do        config = [ @@ -451,28 +346,6 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do      end    end -  describe "GET /api/statusnet/version" do -    test "it returns version in xml format", %{conn: conn} do -      response = -        conn -        |> put_req_header("accept", "application/xml") -        |> get("/api/statusnet/version") -        |> response(:ok) - -      assert response == "<version>#{Pleroma.Application.named_version()}</version>" -    end - -    test "it returns version in json format", %{conn: conn} do -      response = -        conn -        |> put_req_header("accept", "application/json") -        |> get("/api/statusnet/version") -        |> json_response(:ok) - -      assert response == "#{Pleroma.Application.named_version()}" -    end -  end -    describe "POST /main/ostatus - remote_subscribe/2" do      setup do: clear_config([:instance, :federating], true)  | 
