Resolve follow activity from accept/reject without ID (#328)
[akkoma] / test / pleroma / instances_test.exs
index d2618025c0bbdde67b4d25823790eb4963d7c71e..744ee8df38e78a0ec1e80befbbc45b153561cdf0 100644 (file)
@@ -1,9 +1,10 @@
 # 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.InstancesTest do
   alias Pleroma.Instances
+  alias Pleroma.Instances.Instance
 
   use Pleroma.DataCase
 
@@ -32,9 +33,9 @@ defmodule Pleroma.InstancesTest do
       assert Instances.reachable?(URI.parse(url).host)
     end
 
-    test "returns true on non-binary input" do
-      assert Instances.reachable?(nil)
-      assert Instances.reachable?(1)
+    test "raises FunctionClauseError exception on non-binary input" do
+      assert_raise FunctionClauseError, fn -> Instances.reachable?(nil) end
+      assert_raise FunctionClauseError, fn -> Instances.reachable?(1) end
     end
   end
 
@@ -121,4 +122,21 @@ defmodule Pleroma.InstancesTest do
       refute Instances.reachable?(host)
     end
   end
+
+  describe "set_request_signatures/1" do
+    test "sets instance has request signatures" do
+      host = "domain.com"
+
+      {:ok, instance} = Instances.set_request_signatures(host)
+      assert instance.has_request_signatures
+
+      {:ok, cached_instance} = Instance.get_cached_by_url(host)
+      assert cached_instance.has_request_signatures
+    end
+
+    test "returns error status on non-binary input" do
+      assert {:error, _} = Instances.set_request_signatures(nil)
+      assert {:error, _} = Instances.set_request_signatures(1)
+    end
+  end
 end