Extract apps actions from `MastodonAPIController` to `AppController`
[akkoma] / test / web / mastodon_api / mastodon_api_controller_test.exs
index da56061652f9e7b21cfeddf879eecd32e1f2c8e4..68fe751e7d58a20207dcc733717cbfadd39540db 100644 (file)
@@ -8,15 +8,11 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
   alias Ecto.Changeset
   alias Pleroma.Config
   alias Pleroma.Notification
-  alias Pleroma.Object
   alias Pleroma.Repo
   alias Pleroma.Tests.ObanHelpers
   alias Pleroma.User
   alias Pleroma.Web.CommonAPI
-  alias Pleroma.Web.OAuth.App
-  alias Pleroma.Web.Push
 
-  import ExUnit.CaptureLog
   import Pleroma.Factory
   import Swoosh.TestAssertions
   import Tesla.Mock
@@ -29,53 +25,6 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
   clear_config([:instance, :public])
   clear_config([:rich_media, :enabled])
 
-  test "apps/verify_credentials", %{conn: conn} do
-    token = insert(:oauth_token)
-
-    conn =
-      conn
-      |> assign(:user, token.user)
-      |> assign(:token, token)
-      |> get("/api/v1/apps/verify_credentials")
-
-    app = Repo.preload(token, :app).app
-
-    expected = %{
-      "name" => app.client_name,
-      "website" => app.website,
-      "vapid_key" => Push.vapid_config() |> Keyword.get(:public_key)
-    }
-
-    assert expected == json_response(conn, 200)
-  end
-
-  test "creates an oauth app", %{conn: conn} do
-    user = insert(:user)
-    app_attrs = build(:oauth_app)
-
-    conn =
-      conn
-      |> assign(:user, user)
-      |> post("/api/v1/apps", %{
-        client_name: app_attrs.client_name,
-        redirect_uris: app_attrs.redirect_uris
-      })
-
-    [app] = Repo.all(App)
-
-    expected = %{
-      "name" => app.client_name,
-      "website" => app.website,
-      "client_id" => app.client_id,
-      "client_secret" => app.client_secret,
-      "id" => app.id |> to_string(),
-      "redirect_uri" => app.redirect_uris,
-      "vapid_key" => Push.vapid_config() |> Keyword.get(:public_key)
-    }
-
-    assert expected == json_response(conn, 200)
-  end
-
   test "getting a list of mutes", %{conn: conn} do
     user = insert(:user)
     other_user = insert(:user)
@@ -431,87 +380,6 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIControllerTest do
     end
   end
 
-  describe "GET /api/v1/suggestions" do
-    setup do
-      user = insert(:user)
-      other_user = insert(:user)
-      host = Config.get([Pleroma.Web.Endpoint, :url, :host])
-      url500 = "http://test500?#{host}&#{user.nickname}"
-      url200 = "http://test200?#{host}&#{user.nickname}"
-
-      mock(fn
-        %{method: :get, url: ^url500} ->
-          %Tesla.Env{status: 500, body: "bad request"}
-
-        %{method: :get, url: ^url200} ->
-          %Tesla.Env{
-            status: 200,
-            body:
-              ~s([{"acct":"yj455","avatar":"https://social.heldscal.la/avatar/201.jpeg","avatar_static":"https://social.heldscal.la/avatar/s/201.jpeg"}, {"acct":"#{
-                other_user.ap_id
-              }","avatar":"https://social.heldscal.la/avatar/202.jpeg","avatar_static":"https://social.heldscal.la/avatar/s/202.jpeg"}])
-          }
-      end)
-
-      [user: user, other_user: other_user]
-    end
-
-    clear_config(:suggestions)
-
-    test "returns empty result when suggestions disabled", %{conn: conn, user: user} do
-      Config.put([:suggestions, :enabled], false)
-
-      res =
-        conn
-        |> assign(:user, user)
-        |> get("/api/v1/suggestions")
-        |> json_response(200)
-
-      assert res == []
-    end
-
-    test "returns error", %{conn: conn, user: user} do
-      Config.put([:suggestions, :enabled], true)
-      Config.put([:suggestions, :third_party_engine], "http://test500?{{host}}&{{user}}")
-
-      assert capture_log(fn ->
-               res =
-                 conn
-                 |> assign(:user, user)
-                 |> get("/api/v1/suggestions")
-                 |> json_response(500)
-
-               assert res == "Something went wrong"
-             end) =~ "Could not retrieve suggestions"
-    end
-
-    test "returns suggestions", %{conn: conn, user: user, other_user: other_user} do
-      Config.put([:suggestions, :enabled], true)
-      Config.put([:suggestions, :third_party_engine], "http://test200?{{host}}&{{user}}")
-
-      res =
-        conn
-        |> assign(:user, user)
-        |> get("/api/v1/suggestions")
-        |> json_response(200)
-
-      assert res == [
-               %{
-                 "acct" => "yj455",
-                 "avatar" => "https://social.heldscal.la/avatar/201.jpeg",
-                 "avatar_static" => "https://social.heldscal.la/avatar/s/201.jpeg",
-                 "id" => 0
-               },
-               %{
-                 "acct" => other_user.ap_id,
-                 "avatar" => "https://social.heldscal.la/avatar/202.jpeg",
-                 "avatar_static" => "https://social.heldscal.la/avatar/s/202.jpeg",
-                 "id" => other_user.id
-               }
-             ]
-    end
-  end
-
   describe "DELETE /auth/sign_out" do
     test "redirect to root page", %{conn: conn} do
       user = insert(:user)