diff options
author | kaniini <nenolod@gmail.com> | 2019-02-18 04:02:41 +0000 |
---|---|---|
committer | kaniini <nenolod@gmail.com> | 2019-02-18 04:02:41 +0000 |
commit | 7456338ed3d0b36327c3f9b153630d36cd044bb9 (patch) | |
tree | 60c319e2e416c6594bb3beff81b803ffd29a51c8 /test | |
parent | c23bd05737c38c407f998d3aa48c5c3d191f0c56 (diff) | |
parent | fd17a0cc9b78d1338e1fee51aa452858172639fe (diff) | |
download | pleroma-7456338ed3d0b36327c3f9b153630d36cd044bb9.tar.gz |
Merge branch 'feature/add-oauth-tokens-endpoint' into 'develop'
Add OAuth tokens endpoint
See merge request pleroma/pleroma!805
Diffstat (limited to 'test')
-rw-r--r-- | test/support/factory.ex | 13 | ||||
-rw-r--r-- | test/web/twitter_api/twitter_api_controller_test.exs | 35 |
2 files changed, 48 insertions, 0 deletions
diff --git a/test/support/factory.ex b/test/support/factory.ex index 0c21093ce..7a91549f5 100644 --- a/test/support/factory.ex +++ b/test/support/factory.ex @@ -227,4 +227,17 @@ defmodule Pleroma.Factory do unreachable_since: nil } end + + def oauth_token_factory do + user = insert(:user) + oauth_app = insert(:oauth_app) + + %Pleroma.Web.OAuth.Token{ + token: :crypto.strong_rand_bytes(32) |> Base.url_encode64(), + refresh_token: :crypto.strong_rand_bytes(32) |> Base.url_encode64(), + user_id: user.id, + app_id: oauth_app.id, + valid_until: NaiveDateTime.add(NaiveDateTime.utc_now(), 60 * 10) + } + end end diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs index d6b1331bd..1571ab68e 100644 --- a/test/web/twitter_api/twitter_api_controller_test.exs +++ b/test/web/twitter_api/twitter_api_controller_test.exs @@ -13,6 +13,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do alias Pleroma.Object alias Pleroma.Notification alias Pleroma.Web.ActivityPub.ActivityPub + alias Pleroma.Web.OAuth.Token alias Pleroma.Web.TwitterAPI.UserView alias Pleroma.Web.TwitterAPI.NotificationView alias Pleroma.Web.CommonAPI @@ -1915,4 +1916,38 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do ActivityRepresenter.to_map(activity, %{user: user, for: user}) end end + + describe "GET /api/oauth_tokens" do + setup do + token = insert(:oauth_token) |> Repo.preload(:user) + + %{token: token} + end + + test "renders list", %{token: token} do + response = + build_conn() + |> assign(:user, token.user) + |> get("/api/oauth_tokens") + + keys = + json_response(response, 200) + |> hd() + |> Map.keys() + + assert keys -- ["id", "app_name", "valid_until"] == [] + end + + test "revoke token", %{token: token} do + response = + build_conn() + |> assign(:user, token.user) + |> delete("/api/oauth_tokens/#{token.id}") + + tokens = Token.get_user_tokens(token.user) + + assert tokens == [] + assert response.status == 201 + end + end end |