diff options
author | lain <lain@soykaf.club> | 2019-10-02 13:27:55 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-10-02 13:27:55 +0200 |
commit | 557223b2b5b60956d3e1a19e9fdae9e9798c4fe2 (patch) | |
tree | 71d711f8932a2bd952f9f54ccef1322c55aed1d7 /test/web/mastodon_api/controllers/app_controller_test.exs | |
parent | 19bc0b8c79765dc485e081651a4e4c589d18b970 (diff) | |
parent | 433f2c0f6854d2838819e08f0fb0a9e8cf058021 (diff) | |
download | pleroma-557223b2b5b60956d3e1a19e9fdae9e9798c4fe2.tar.gz |
Merge remote-tracking branch 'origin/develop' into reactions
Diffstat (limited to 'test/web/mastodon_api/controllers/app_controller_test.exs')
-rw-r--r-- | test/web/mastodon_api/controllers/app_controller_test.exs | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/web/mastodon_api/controllers/app_controller_test.exs b/test/web/mastodon_api/controllers/app_controller_test.exs new file mode 100644 index 000000000..51788155b --- /dev/null +++ b/test/web/mastodon_api/controllers/app_controller_test.exs @@ -0,0 +1,60 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.MastodonAPI.AppControllerTest do + use Pleroma.Web.ConnCase, async: true + + alias Pleroma.Repo + alias Pleroma.Web.OAuth.App + alias Pleroma.Web.Push + + import Pleroma.Factory + + 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 +end |