Add OAuth tokens endpoint

This commit is contained in:
Maxim Filippov 2019-02-10 22:41:06 +03:00
commit 61a4bc5095
6 changed files with 75 additions and 0 deletions

View file

@ -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

View file

@ -1876,4 +1876,22 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
ActivityRepresenter.to_map(activity, %{user: user, for: user})
end
end
describe "GET /api/oauth_tokens" do
test "renders list" do
token = insert(:oauth_token)
response =
build_conn()
|> assign(:user, Repo.get(User, token.user_id))
|> get("/api/oauth_tokens")
keys =
json_response(response, 200)
|> hd()
|> Map.keys()
assert keys -- ["id", "refresh_token", "token", "valid_until"] == []
end
end
end