diff options
| author | kaniini <ariadne@dereferenced.org> | 2019-07-22 02:43:15 +0000 | 
|---|---|---|
| committer | kaniini <ariadne@dereferenced.org> | 2019-07-22 02:43:15 +0000 | 
| commit | 24362cbb3c661780aa90eb62c6b1e3654da018ad (patch) | |
| tree | 37c6aa41ff89df4e97e6d5226c12f8da04828228 /test/web/oauth | |
| parent | b391211aa3c619c6516187c3453d9db80791b818 (diff) | |
| parent | 05b5af8075621bfefb207ee84b54608f652fe757 (diff) | |
| download | pleroma-24362cbb3c661780aa90eb62c6b1e3654da018ad.tar.gz pleroma-24362cbb3c661780aa90eb62c6b1e3654da018ad.zip | |
Merge branch 'tests/improve-test-coverage' into 'develop'
Add tests for users tasks and PleromaAuthenticator
See merge request pleroma/pleroma!1462
Diffstat (limited to 'test/web/oauth')
| -rw-r--r-- | test/web/oauth/oauth_controller_test.exs | 74 | 
1 files changed, 36 insertions, 38 deletions
| diff --git a/test/web/oauth/oauth_controller_test.exs b/test/web/oauth/oauth_controller_test.exs index aae34804d..92e156347 100644 --- a/test/web/oauth/oauth_controller_test.exs +++ b/test/web/oauth/oauth_controller_test.exs @@ -5,9 +5,7 @@  defmodule Pleroma.Web.OAuth.OAuthControllerTest do    use Pleroma.Web.ConnCase    import Pleroma.Factory -  import Mock -  alias Pleroma.Registration    alias Pleroma.Repo    alias Pleroma.Web.OAuth.Authorization    alias Pleroma.Web.OAuth.OAuthController @@ -108,28 +106,26 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do          "state" => ""        } -      with_mock Pleroma.Web.Auth.Authenticator, -        get_registration: fn _ -> {:ok, registration} end do -        conn = -          get( -            conn, -            "/oauth/twitter/callback", -            %{ -              "oauth_token" => "G-5a3AAAAAAAwMH9AAABaektfSM", -              "oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs", -              "provider" => "twitter", -              "state" => Poison.encode!(state_params) -            } -          ) +      conn = +        conn +        |> assign(:ueberauth_auth, %{provider: registration.provider, uid: registration.uid}) +        |> get( +          "/oauth/twitter/callback", +          %{ +            "oauth_token" => "G-5a3AAAAAAAwMH9AAABaektfSM", +            "oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs", +            "provider" => "twitter", +            "state" => Poison.encode!(state_params) +          } +        ) -        assert response = html_response(conn, 302) -        assert redirected_to(conn) =~ ~r/#{redirect_uri}\?code=.+/ -      end +      assert response = html_response(conn, 302) +      assert redirected_to(conn) =~ ~r/#{redirect_uri}\?code=.+/      end      test "with user-unbound registration, GET /oauth/<provider>/callback renders registration_details page",           %{app: app, conn: conn} do -      registration = insert(:registration, user: nil) +      user = insert(:user)        state_params = %{          "scope" => "read write", @@ -138,26 +134,28 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do          "state" => "a_state"        } -      with_mock Pleroma.Web.Auth.Authenticator, -        get_registration: fn _ -> {:ok, registration} end do -        conn = -          get( -            conn, -            "/oauth/twitter/callback", -            %{ -              "oauth_token" => "G-5a3AAAAAAAwMH9AAABaektfSM", -              "oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs", -              "provider" => "twitter", -              "state" => Poison.encode!(state_params) -            } -          ) +      conn = +        conn +        |> assign(:ueberauth_auth, %{ +          provider: "twitter", +          uid: "171799000", +          info: %{nickname: user.nickname, email: user.email, name: user.name, description: nil} +        }) +        |> get( +          "/oauth/twitter/callback", +          %{ +            "oauth_token" => "G-5a3AAAAAAAwMH9AAABaektfSM", +            "oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs", +            "provider" => "twitter", +            "state" => Poison.encode!(state_params) +          } +        ) -        assert response = html_response(conn, 200) -        assert response =~ ~r/name="op" type="submit" value="register"/ -        assert response =~ ~r/name="op" type="submit" value="connect"/ -        assert response =~ Registration.email(registration) -        assert response =~ Registration.nickname(registration) -      end +      assert response = html_response(conn, 200) +      assert response =~ ~r/name="op" type="submit" value="register"/ +      assert response =~ ~r/name="op" type="submit" value="connect"/ +      assert response =~ user.email +      assert response =~ user.nickname      end      test "on authentication error, GET /oauth/<provider>/callback redirects to `redirect_uri`", %{ | 
