diff options
Diffstat (limited to 'test/web/oauth')
| -rw-r--r-- | test/web/oauth/oauth_controller_test.exs | 23 | 
1 files changed, 22 insertions, 1 deletions
| diff --git a/test/web/oauth/oauth_controller_test.exs b/test/web/oauth/oauth_controller_test.exs index cb6836983..1c04ac9ad 100644 --- a/test/web/oauth/oauth_controller_test.exs +++ b/test/web/oauth/oauth_controller_test.exs @@ -614,6 +614,27 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do        assert token.scopes == ["scope1", "scope2"]      end +    test "issue a token for client_credentials grant type" do +      app = insert(:oauth_app, scopes: ["read", "write"]) + +      conn = +        build_conn() +        |> post("/oauth/token", %{ +          "grant_type" => "client_credentials", +          "client_id" => app.client_id, +          "client_secret" => app.client_secret +        }) + +      assert %{"access_token" => token, "refresh_token" => refresh, "scope" => scope} = +               json_response(conn, 200) + +      assert token +      token_from_db = Repo.get_by(Token, token: token) +      assert token_from_db +      assert refresh +      assert scope == "read write" +    end +      test "rejects token exchange with invalid client credentials" do        user = insert(:user)        app = insert(:oauth_app) @@ -644,7 +665,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do        password = "testpassword"        user = insert(:user, password_hash: Comeonin.Pbkdf2.hashpwsalt(password)) -      info_change = Pleroma.User.Info.confirmation_changeset(user.info, :unconfirmed) +      info_change = Pleroma.User.Info.confirmation_changeset(user.info, need_confirmation: true)        {:ok, user} =          user | 
