Merge branch 'feature/jobs' into 'develop'
[akkoma] / test / web / activity_pub / activity_pub_controller_test.exs
index eca5c134dc52a072abefeb3ef78591f54ee244d3..398bedf7793f378b6a4e48a6e2adec5917497582 100644 (file)
@@ -5,8 +5,13 @@
 defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
   use Pleroma.Web.ConnCase
   import Pleroma.Factory
-  alias Pleroma.Web.ActivityPub.{UserView, ObjectView}
-  alias Pleroma.{Object, Repo, Activity, User, Instances}
+  alias Pleroma.Web.ActivityPub.UserView
+  alias Pleroma.Web.ActivityPub.ObjectView
+  alias Pleroma.Object
+  alias Pleroma.Repo
+  alias Pleroma.Activity
+  alias Pleroma.User
+  alias Pleroma.Instances
 
   setup_all do
     Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
@@ -145,17 +150,16 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
     end
 
     test "it clears `unreachable` federation status of the sender", %{conn: conn} do
-      sender_url = "https://pleroma.soykaf.com"
+      data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!()
+
+      sender_url = data["actor"]
       Instances.set_consistently_unreachable(sender_url)
       refute Instances.reachable?(sender_url)
 
-      data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!()
-
       conn =
         conn
         |> assign(:valid_signature, true)
         |> put_req_header("content-type", "application/activity+json")
-        |> put_req_header("referer", sender_url)
         |> post("/inbox", data)
 
       assert "ok" == json_response(conn, 200)
@@ -210,10 +214,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
     end
 
     test "it clears `unreachable` federation status of the sender", %{conn: conn} do
-      sender_host = "pleroma.soykaf.com"
-      Instances.set_consistently_unreachable(sender_host)
-      refute Instances.reachable?(sender_host)
-
       user = insert(:user)
 
       data =
@@ -221,11 +221,14 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
         |> Poison.decode!()
         |> Map.put("bcc", [user.ap_id])
 
+      sender_host = URI.parse(data["actor"]).host
+      Instances.set_consistently_unreachable(sender_host)
+      refute Instances.reachable?(sender_host)
+
       conn =
         conn
         |> assign(:valid_signature, true)
         |> put_req_header("content-type", "application/activity+json")
-        |> put_req_header("referer", "https://#{sender_host}")
         |> post("/users/#{user.nickname}/inbox", data)
 
       assert "ok" == json_response(conn, 200)
@@ -388,9 +391,9 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       assert result["first"]["orderedItems"] == [user.ap_id]
     end
 
-    test "it returns returns empty if the user has 'hide_network' set", %{conn: conn} do
+    test "it returns returns empty if the user has 'hide_followers' set", %{conn: conn} do
       user = insert(:user)
-      user_two = insert(:user, %{info: %{hide_network: true}})
+      user_two = insert(:user, %{info: %{hide_followers: true}})
       User.follow(user, user_two)
 
       result =
@@ -399,7 +402,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
         |> json_response(200)
 
       assert result["first"]["orderedItems"] == []
-      assert result["totalItems"] == 1
+      assert result["totalItems"] == 0
     end
 
     test "it works for more than 10 users", %{conn: conn} do
@@ -443,8 +446,8 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
       assert result["first"]["orderedItems"] == [user_two.ap_id]
     end
 
-    test "it returns returns empty if the user has 'hide_network' set", %{conn: conn} do
-      user = insert(:user, %{info: %{hide_network: true}})
+    test "it returns returns empty if the user has 'hide_follows' set", %{conn: conn} do
+      user = insert(:user, %{info: %{hide_follows: true}})
       user_two = insert(:user)
       User.follow(user, user_two)
 
@@ -454,7 +457,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubControllerTest do
         |> json_response(200)
 
       assert result["first"]["orderedItems"] == []
-      assert result["totalItems"] == 1
+      assert result["totalItems"] == 0
     end
 
     test "it works for more than 10 users", %{conn: conn} do