Merge branch 'deprecate-public_endpoint' into 'develop'
[akkoma] / test / pleroma / object_test.exs
index 5d4e6fb84691cb904aec72f4cafb10777718f92b..db7678d5d183ce9ab41079792924fccefc6513b9 100644 (file)
@@ -1,5 +1,5 @@
 # Pleroma: A lightweight social networking server
-# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.ObjectTest do
@@ -78,8 +78,8 @@ defmodule Pleroma.ObjectTest do
     setup do: clear_config([:instance, :cleanup_attachments])
 
     test "Disabled via config" do
-      Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
-      Pleroma.Config.put([:instance, :cleanup_attachments], false)
+      clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
+      clear_config([:instance, :cleanup_attachments], false)
 
       file = %Plug.Upload{
         content_type: "image/jpeg",
@@ -112,8 +112,8 @@ defmodule Pleroma.ObjectTest do
     end
 
     test "in subdirectories" do
-      Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
-      Pleroma.Config.put([:instance, :cleanup_attachments], true)
+      clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
+      clear_config([:instance, :cleanup_attachments], true)
 
       file = %Plug.Upload{
         content_type: "image/jpeg",
@@ -146,9 +146,9 @@ defmodule Pleroma.ObjectTest do
     end
 
     test "with dedupe enabled" do
-      Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
-      Pleroma.Config.put([Pleroma.Upload, :filters], [Pleroma.Upload.Filter.Dedupe])
-      Pleroma.Config.put([:instance, :cleanup_attachments], true)
+      clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
+      clear_config([Pleroma.Upload, :filters], [Pleroma.Upload.Filter.Dedupe])
+      clear_config([:instance, :cleanup_attachments], true)
 
       uploads_dir = Pleroma.Config.get!([Pleroma.Uploaders.Local, :uploads])
 
@@ -184,8 +184,8 @@ defmodule Pleroma.ObjectTest do
     end
 
     test "with objects that have legacy data.url attribute" do
-      Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
-      Pleroma.Config.put([:instance, :cleanup_attachments], true)
+      clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
+      clear_config([:instance, :cleanup_attachments], true)
 
       file = %Plug.Upload{
         content_type: "image/jpeg",
@@ -220,9 +220,9 @@ defmodule Pleroma.ObjectTest do
     end
 
     test "With custom base_url" do
-      Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
-      Pleroma.Config.put([Pleroma.Upload, :base_url], "https://sub.domain.tld/dir/")
-      Pleroma.Config.put([:instance, :cleanup_attachments], true)
+      clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
+      clear_config([Pleroma.Upload, :base_url], "https://sub.domain.tld/dir/")
+      clear_config([:instance, :cleanup_attachments], true)
 
       file = %Plug.Upload{
         content_type: "image/jpeg",
@@ -256,23 +256,22 @@ defmodule Pleroma.ObjectTest do
   end
 
   describe "normalizer" do
-    test "fetches unknown objects by default" do
-      %Object{} =
-        object = Object.normalize("http://mastodon.example.org/@admin/99541947525187367")
-
-      assert object.data["url"] == "http://mastodon.example.org/@admin/99541947525187367"
+    @url "http://mastodon.example.org/@admin/99541947525187367"
+    test "does not fetch unknown objects by default" do
+      assert nil == Object.normalize(@url)
     end
 
-    test "fetches unknown objects when fetch_remote is explicitly true" do
-      %Object{} =
-        object = Object.normalize("http://mastodon.example.org/@admin/99541947525187367", true)
+    test "fetches unknown objects when fetch is explicitly true" do
+      %Object{} = object = Object.normalize(@url, fetch: true)
 
-      assert object.data["url"] == "http://mastodon.example.org/@admin/99541947525187367"
+      assert object.data["url"] == @url
     end
 
-    test "does not fetch unknown objects when fetch_remote is false" do
+    test "does not fetch unknown objects when fetch is false" do
       assert is_nil(
-               Object.normalize("http://mastodon.example.org/@admin/99541947525187367", false)
+               Object.normalize(@url,
+                 fetch: false
+               )
              )
     end
   end
@@ -310,7 +309,10 @@ defmodule Pleroma.ObjectTest do
       mock_modified: mock_modified
     } do
       %Object{} =
-        object = Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d")
+        object =
+        Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d",
+          fetch: true
+        )
 
       Object.set_cache(object)
 
@@ -332,7 +334,10 @@ defmodule Pleroma.ObjectTest do
 
     test "returns the old object if refetch fails", %{mock_modified: mock_modified} do
       %Object{} =
-        object = Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d")
+        object =
+        Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d",
+          fetch: true
+        )
 
       Object.set_cache(object)
 
@@ -355,7 +360,10 @@ defmodule Pleroma.ObjectTest do
       mock_modified: mock_modified
     } do
       %Object{} =
-        object = Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d")
+        object =
+        Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d",
+          fetch: true
+        )
 
       Object.set_cache(object)
 
@@ -377,7 +385,10 @@ defmodule Pleroma.ObjectTest do
 
     test "preserves internal fields on refetch", %{mock_modified: mock_modified} do
       %Object{} =
-        object = Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d")
+        object =
+        Object.normalize("https://patch.cx/objects/9a172665-2bc5-452d-8428-2361d4c33b1d",
+          fetch: true
+        )
 
       Object.set_cache(object)