diff options
| author | Vyr Cossont <600-VyrCossont@users.noreply.git.pleroma.social> | 2018-12-27 22:43:40 -0800 | 
|---|---|---|
| committer | Vyr Cossont <600-VyrCossont@users.noreply.git.pleroma.social> | 2018-12-27 22:43:40 -0800 | 
| commit | d8cc96cb1f9e2a4e736f6830529e8aa9a5d289d8 (patch) | |
| tree | 30890879ca31f1d3ce077120bc0936bf7c6d5fcb /test/web | |
| parent | e1de866f95c7740d64070ff023b4bdcc013decc4 (diff) | |
| download | pleroma-d8cc96cb1f9e2a4e736f6830529e8aa9a5d289d8.tar.gz pleroma-d8cc96cb1f9e2a4e736f6830529e8aa9a5d289d8.zip | |
Fix Twitter timelines for private instances
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/twitter_api/twitter_api_controller_test.exs | 60 | 
1 files changed, 60 insertions, 0 deletions
| diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs index 474d72df6..a4526eeda 100644 --- a/test/web/twitter_api/twitter_api_controller_test.exs +++ b/test/web/twitter_api/twitter_api_controller_test.exs @@ -112,6 +112,8 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do    end    describe "GET /statuses/public_timeline.json" do +    setup [:valid_user] +      test "returns statuses", %{conn: conn} do        user = insert(:user)        activities = ActivityBuilder.insert_list(30, %{}, %{user: user}) @@ -145,14 +147,44 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do        Application.put_env(:pleroma, :instance, instance)      end +    test "returns 200 to authenticated request when the instance is not public", +         %{conn: conn, user: user} do +      instance = +        Application.get_env(:pleroma, :instance) +        |> Keyword.put(:public, false) + +      Application.put_env(:pleroma, :instance, instance) + +      conn +      |> with_credentials(user.nickname, "test") +      |> get("/api/statuses/public_timeline.json") +      |> json_response(200) + +      instance = +        Application.get_env(:pleroma, :instance) +        |> Keyword.put(:public, true) + +      Application.put_env(:pleroma, :instance, instance) +    end +      test "returns 200 to unauthenticated request when the instance is public", %{conn: conn} do        conn        |> get("/api/statuses/public_timeline.json")        |> json_response(200)      end + +    test "returns 200 to authenticated request when the instance is public", +         %{conn: conn, user: user} do +      conn +      |> with_credentials(user.nickname, "test") +      |> get("/api/statuses/public_timeline.json") +      |> json_response(200) +    end    end    describe "GET /statuses/public_and_external_timeline.json" do +    setup [:valid_user] +      test "returns 403 to unauthenticated request when the instance is not public", %{conn: conn} do        instance =          Application.get_env(:pleroma, :instance) @@ -171,11 +203,39 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do        Application.put_env(:pleroma, :instance, instance)      end +    test "returns 200 to authenticated request when the instance is not public", +         %{conn: conn, user: user} do +      instance = +        Application.get_env(:pleroma, :instance) +        |> Keyword.put(:public, false) + +      Application.put_env(:pleroma, :instance, instance) + +      conn +      |> with_credentials(user.nickname, "test") +      |> get("/api/statuses/public_and_external_timeline.json") +      |> json_response(200) + +      instance = +        Application.get_env(:pleroma, :instance) +        |> Keyword.put(:public, true) + +      Application.put_env(:pleroma, :instance, instance) +    end +      test "returns 200 to unauthenticated request when the instance is public", %{conn: conn} do        conn        |> get("/api/statuses/public_and_external_timeline.json")        |> json_response(200)      end + +    test "returns 200 to authenticated request when the instance is public", +         %{conn: conn, user: user} do +      conn +      |> with_credentials(user.nickname, "test") +      |> get("/api/statuses/public_and_external_timeline.json") +      |> json_response(200) +    end    end    describe "GET /statuses/show/:id.json" do | 
