total rebase
[anni] / test / pleroma / web / activity_pub / activity_pub_controller_test.exs
old mode 100755 (executable)
new mode 100644 (file)
index ef91066..ec4c04c
@@ -25,6 +25,11 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
 
   require Pleroma.Constants
 
+  setup do
+    Mox.stub_with(Pleroma.UnstubbedConfigMock, Pleroma.Config)
+    :ok
+  end
+
   setup_all do
     Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
     :ok
@@ -216,7 +221,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       user = insert(:user)
       {:ok, post} = CommonAPI.post(user, %{status: "test", visibility: "local"})
 
-      assert Pleroma.Web.ActivityPub.Visibility.is_local_public?(post)
+      assert Pleroma.Web.ActivityPub.Visibility.local_public?(post)
 
       object = Object.normalize(post, fetch: false)
       uuid = String.split(object.data["id"], "/") |> List.last()
@@ -233,7 +238,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       user = insert(:user)
       {:ok, post} = CommonAPI.post(user, %{status: "test", visibility: "local"})
 
-      assert Pleroma.Web.ActivityPub.Visibility.is_local_public?(post)
+      assert Pleroma.Web.ActivityPub.Visibility.local_public?(post)
 
       object = Object.normalize(post, fetch: false)
       uuid = String.split(object.data["id"], "/") |> List.last()
@@ -254,7 +259,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       {:ok, post} =
         CommonAPI.post(user, %{status: "test @#{reader.nickname}", visibility: "local"})
 
-      assert Pleroma.Web.ActivityPub.Visibility.is_local_public?(post)
+      assert Pleroma.Web.ActivityPub.Visibility.local_public?(post)
 
       object = Object.normalize(post, fetch: false)
       uuid = String.split(object.data["id"], "/") |> List.last()
@@ -431,7 +436,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       user = insert(:user)
       {:ok, post} = CommonAPI.post(user, %{status: "test", visibility: "local"})
 
-      assert Pleroma.Web.ActivityPub.Visibility.is_local_public?(post)
+      assert Pleroma.Web.ActivityPub.Visibility.local_public?(post)
 
       uuid = String.split(post.data["id"], "/") |> List.last()
 
@@ -447,7 +452,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       user = insert(:user)
       {:ok, post} = CommonAPI.post(user, %{status: "test", visibility: "local"})
 
-      assert Pleroma.Web.ActivityPub.Visibility.is_local_public?(post)
+      assert Pleroma.Web.ActivityPub.Visibility.local_public?(post)
 
       uuid = String.split(post.data["id"], "/") |> List.last()
 
@@ -575,7 +580,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       user =
         insert(:user,
           ap_id: "https://mastodon.example.org/users/raymoo",
-          ap_enabled: true,
           local: false,
           last_refreshed_at: nil
         )
@@ -891,6 +895,23 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       assert Activity.get_by_ap_id(data["id"])
     end
 
+    test "it rejects an invalid incoming activity", %{conn: conn, data: data} do
+      user = insert(:user, is_active: false)
+
+      data =
+        data
+        |> Map.put("bcc", [user.ap_id])
+        |> Kernel.put_in(["object", "bcc"], [user.ap_id])
+
+      conn =
+        conn
+        |> assign(:valid_signature, true)
+        |> put_req_header("content-type", "application/activity+json")
+        |> post("/users/#{user.nickname}/inbox", data)
+
+      assert "Invalid request." == json_response(conn, 400)
+    end
+
     test "it accepts messages with to as string instead of array", %{conn: conn, data: data} do
       user = insert(:user)