Web.OAuth.OAuthControllerTest: Add test against token formatting

This commit is contained in:
Haelwenn (lanodan) Monnier 2019-03-02 04:10:43 +01:00
parent b6a001a34c
commit bb9e40968a
No known key found for this signature in database
GPG Key ID: D5B7A8E43C997DEE

View File

@ -165,10 +165,10 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do
test "issues a token for request with HTTP basic auth client credentials" do test "issues a token for request with HTTP basic auth client credentials" do
user = insert(:user) user = insert(:user)
app = insert(:oauth_app, scopes: ["scope1", "scope2"]) app = insert(:oauth_app, scopes: ["scope1", "scope2", "scope3"])
{:ok, auth} = Authorization.create_authorization(app, user, ["scope2"]) {:ok, auth} = Authorization.create_authorization(app, user, ["scope1", "scope2"])
assert auth.scopes == ["scope2"] assert auth.scopes == ["scope1", "scope2"]
app_encoded = app_encoded =
(URI.encode_www_form(app.client_id) <> ":" <> URI.encode_www_form(app.client_secret)) (URI.encode_www_form(app.client_id) <> ":" <> URI.encode_www_form(app.client_secret))
@ -183,11 +183,13 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do
"redirect_uri" => app.redirect_uris "redirect_uri" => app.redirect_uris
}) })
assert %{"access_token" => token} = json_response(conn, 200) assert %{"access_token" => token, "scope" => scope} = json_response(conn, 200)
assert scope == "scope1 scope2"
token = Repo.get_by(Token, token: token) token = Repo.get_by(Token, token: token)
assert token assert token
assert token.scopes == ["scope2"] assert token.scopes == ["scope1", "scope2"]
end end
test "rejects token exchange with invalid client credentials" do test "rejects token exchange with invalid client credentials" do