Merge branch 'develop' into gun
[akkoma] / test / web / rel_me_test.exs
index ba8038e692b53dcccc6d75a25a66bab5e34404b5..e05a8863de581245556a058402fd09d02cccd4dc 100644 (file)
@@ -1,27 +1,12 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
 defmodule Pleroma.Web.RelMeTest do
   use ExUnit.Case, async: true
 
-  setup do
-    Tesla.Mock.mock(fn
-      %{
-        method: :get,
-        url: "http://example.com/rel_me/anchor"
-      } ->
-        %Tesla.Env{status: 200, body: File.read!("test/fixtures/rel_me_anchor.html")}
-
-      %{
-        method: :get,
-        url: "http://example.com/rel_me/link"
-      } ->
-        %Tesla.Env{status: 200, body: File.read!("test/fixtures/rel_me_link.html")}
-
-      %{
-        method: :get,
-        url: "http://example.com/rel_me/null"
-      } ->
-        %Tesla.Env{status: 200, body: File.read!("test/fixtures/rel_me_null.html")}
-    end)
-
+  setup_all do
+    Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
     :ok
   end
 
@@ -29,10 +14,13 @@ defmodule Pleroma.Web.RelMeTest do
     hrefs = ["https://social.example.org/users/lain"]
 
     assert Pleroma.Web.RelMe.parse("http://example.com/rel_me/null") == {:ok, []}
-    assert {:error, _} = Pleroma.Web.RelMe.parse("http://example.com/rel_me/error")
+
+    assert {:ok, %Tesla.Env{status: 404}} =
+             Pleroma.Web.RelMe.parse("http://example.com/rel_me/error")
 
     assert Pleroma.Web.RelMe.parse("http://example.com/rel_me/link") == {:ok, hrefs}
     assert Pleroma.Web.RelMe.parse("http://example.com/rel_me/anchor") == {:ok, hrefs}
+    assert Pleroma.Web.RelMe.parse("http://example.com/rel_me/anchor_nofollow") == {:ok, hrefs}
   end
 
   test "maybe_put_rel_me/2" do
@@ -49,6 +37,11 @@ defmodule Pleroma.Web.RelMeTest do
     assert Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/anchor", profile_urls) ==
              attr
 
+    assert Pleroma.Web.RelMe.maybe_put_rel_me(
+             "http://example.com/rel_me/anchor_nofollow",
+             profile_urls
+           ) == attr
+
     assert Pleroma.Web.RelMe.maybe_put_rel_me("http://example.com/rel_me/link", profile_urls) ==
              attr
   end