diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/plugs/oauth_plug_test.exs | 2 | ||||
| -rw-r--r-- | test/web/activity_pub/activity_pub_controller_test.exs | 91 | 
2 files changed, 88 insertions, 5 deletions
| diff --git a/test/plugs/oauth_plug_test.exs b/test/plugs/oauth_plug_test.exs index dea11cdb0..0eef27c1f 100644 --- a/test/plugs/oauth_plug_test.exs +++ b/test/plugs/oauth_plug_test.exs @@ -38,7 +38,7 @@ defmodule Pleroma.Plugs.OAuthPlugTest do      assert conn.assigns[:user] == opts[:user]    end -  test "with valid token(downcase) in url parameters, it assings the user", opts do +  test "with valid token(downcase) in url parameters, it assigns the user", opts do      conn =        :get        |> build_conn("/?access_token=#{opts[:token]}") diff --git a/test/web/activity_pub/activity_pub_controller_test.exs b/test/web/activity_pub/activity_pub_controller_test.exs index ba2ce1dd9..af0417406 100644 --- a/test/web/activity_pub/activity_pub_controller_test.exs +++ b/test/web/activity_pub/activity_pub_controller_test.exs @@ -25,9 +25,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do      :ok    end -  clear_config_all([:instance, :federating], -    do: Pleroma.Config.put([:instance, :federating], true) -  ) +  clear_config_all([:instance, :federating]) do +    Pleroma.Config.put([:instance, :federating], true) +  end    describe "/relay" do      clear_config([:instance, :allow_relay]) @@ -1008,7 +1008,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do      end    end -  describe "Additionnal ActivityPub C2S endpoints" do +  describe "Additional ActivityPub C2S endpoints" do      test "/api/ap/whoami", %{conn: conn} do        user = insert(:user) @@ -1047,4 +1047,87 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do        assert object["actor"] == user.ap_id      end    end + +  describe "when instance is not federating," do +    clear_config([:instance, :federating]) do +      Pleroma.Config.put([:instance, :federating], false) +    end + +    test "returns 404 for GET routes", %{conn: conn} do +      user = insert(:user) +      conn = put_req_header(conn, "accept", "application/json") + +      get_uris = [ +        "/users/#{user.nickname}", +        "/users/#{user.nickname}/outbox", +        "/users/#{user.nickname}/inbox?page=true", +        "/users/#{user.nickname}/followers", +        "/users/#{user.nickname}/following", +        "/internal/fetch", +        "/relay", +        "/relay/following", +        "/relay/followers", +        "/api/ap/whoami" +      ] + +      for get_uri <- get_uris do +        conn +        |> get(get_uri) +        |> json_response(404) + +        conn +        |> assign(:user, user) +        |> get(get_uri) +        |> json_response(404) +      end +    end + +    test "returns 404 for activity-related POST routes", %{conn: conn} do +      user = insert(:user) + +      conn = +        conn +        |> assign(:valid_signature, true) +        |> put_req_header("content-type", "application/activity+json") + +      post_activity_data = +        "test/fixtures/mastodon-post-activity.json" +        |> File.read!() +        |> Poison.decode!() + +      post_activity_uris = [ +        "/inbox", +        "/relay/inbox", +        "/users/#{user.nickname}/inbox", +        "/users/#{user.nickname}/outbox" +      ] + +      for post_activity_uri <- post_activity_uris do +        conn +        |> post(post_activity_uri, post_activity_data) +        |> json_response(404) + +        conn +        |> assign(:user, user) +        |> post(post_activity_uri, post_activity_data) +        |> json_response(404) +      end +    end + +    test "returns 404 for media upload attempt", %{conn: conn} do +      user = insert(:user) +      desc = "Description of the image" + +      image = %Plug.Upload{ +        content_type: "image/jpg", +        path: Path.absname("test/fixtures/image.jpg"), +        filename: "an_image.jpg" +      } + +      conn +      |> assign(:user, user) +      |> post("/api/ap/upload_media", %{"file" => image, "description" => desc}) +      |> json_response(404) +    end +  end  end | 
