Web.OAuth.OAuthControllerTest: Add test against token formatting
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Sat, 2 Mar 2019 03:10:43 +0000 (04:10 +0100)
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Sat, 2 Mar 2019 03:10:57 +0000 (04:10 +0100)
test/web/oauth/oauth_controller_test.exs

index 53d83e6e8f9463d3764eda580bc990b7a13e206a..ed94416ff1a7d50f0d856431a9127b9f6ca1fc80 100644 (file)
@@ -165,10 +165,10 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do
 
   test "issues a token for request with HTTP basic auth client credentials" do
     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"])
-    assert auth.scopes == ["scope2"]
+    {:ok, auth} = Authorization.create_authorization(app, user, ["scope1", "scope2"])
+    assert auth.scopes == ["scope1", "scope2"]
 
     app_encoded =
       (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
       })
 
-    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)
     assert token
-    assert token.scopes == ["scope2"]
+    assert token.scopes == ["scope1", "scope2"]
   end
 
   test "rejects token exchange with invalid client credentials" do