aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/pleroma/http/http.ex1
-rw-r--r--test/formatter_test.exs4
-rw-r--r--test/support/http_request_mock.ex67
-rw-r--r--test/user_test.exs5
-rw-r--r--test/web/activity_pub/transmogrifier_test.exs7
-rw-r--r--test/web/ostatus/ostatus_controller_test.exs5
-rw-r--r--test/web/ostatus/ostatus_test.exs5
7 files changed, 83 insertions, 11 deletions
diff --git a/lib/pleroma/http/http.ex b/lib/pleroma/http/http.ex
index 93ac9d62b..59afacf4c 100644
--- a/lib/pleroma/http/http.ex
+++ b/lib/pleroma/http/http.ex
@@ -18,6 +18,7 @@ defmodule Pleroma.HTTP do
|> (&Tesla.request(Connection.new(), &1)).()
end
+ defp process_sni_options(options, nil), do: options
defp process_sni_options(options, url) do
uri = URI.parse(url)
host = uri.host |> to_charlist()
diff --git a/test/formatter_test.exs b/test/formatter_test.exs
index e4da84c10..d5c74a321 100644
--- a/test/formatter_test.exs
+++ b/test/formatter_test.exs
@@ -4,6 +4,10 @@ defmodule Pleroma.FormatterTest do
use Pleroma.DataCase
import Pleroma.Factory
+ setup_all do
+ Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
+ :ok
+ end
describe ".add_hashtag_links" do
test "turns hashtags into links" do
diff --git a/test/support/http_request_mock.ex b/test/support/http_request_mock.ex
index f44e9a1c6..80b84d591 100644
--- a/test/support/http_request_mock.ex
+++ b/test/support/http_request_mock.ex
@@ -22,6 +22,73 @@ defmodule HttpRequestMock do
# GET Requests
#
def get(url, query \\ [], body \\ [], headers \\ [])
+ def get("https://social.heldscal.la/.well-known/webfinger?resource=https://social.heldscal.la/user/29191",
+ _, _, [Accept: "application/xrd+xml,application/jrd+json"]) do
+ {:ok,
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/httpoison_mock/https___social.heldscal.la_user_29191.xml")
+ }}
+ end
+
+ def get("https://pawoo.net/users/pekorino.atom", _, _, _) do
+ {:ok,
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/httpoison_mock/https___pawoo.net_users_pekorino.atom")
+ }}
+ end
+
+ def get("https://pawoo.net/.well-known/webfinger?resource=acct:https://pawoo.net/users/pekorino",
+ _, _, [Accept: "application/xrd+xml,application/jrd+json"]) do
+ {:ok,
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/httpoison_mock/https___pawoo.net_users_pekorino.xml")
+ }}
+ end
+
+ def get("https://social.stopwatchingus-heidelberg.de/api/statuses/user_timeline/18330.atom", _, _, _) do
+ {:ok,
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/httpoison_mock/atarifrosch_feed.xml")
+ }}
+ end
+
+ def get("https://social.stopwatchingus-heidelberg.de/.well-known/webfinger?resource=acct:https://social.stopwatchingus-heidelberg.de/user/18330",
+ _, _, [Accept: "application/xrd+xml,application/jrd+json"]) do
+ {:ok,
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/httpoison_mock/atarifrosch_webfinger.xml")
+ }}
+ end
+
+ def get("https://mamot.fr/users/Skruyb.atom", _, _, _) do
+ {:ok,
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/httpoison_mock/https___mamot.fr_users_Skruyb.atom")
+ }}
+ end
+
+ def get("https://mamot.fr/.well-known/webfinger?resource=acct:https://mamot.fr/users/Skruyb",
+ _, _, [Accept: "application/xrd+xml,application/jrd+json"]) do
+ {:ok,
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/httpoison_mock/skruyb@mamot.fr.atom")
+ }}
+ end
+
+ def get("https://social.heldscal.la/.well-known/webfinger?resource=nonexistant@social.heldscal.la", _, _, [Accept: "application/xrd+xml,application/jrd+json"]) do
+ {:ok,
+ %Tesla.Env{
+ status: 200,
+ body: File.read!("test/fixtures/httpoison_mock/nonexistant@social.heldscal.la.xml")
+ }}
+ end
def get("http://gs.example.org:4040/index.php/user/1", _, _, Accept: "application/activity+json") do
{:ok,
diff --git a/test/user_test.exs b/test/user_test.exs
index 62104df90..d097eb171 100644
--- a/test/user_test.exs
+++ b/test/user_test.exs
@@ -9,6 +9,11 @@ defmodule Pleroma.UserTest do
import Pleroma.Factory
import Ecto.Query
+ setup_all do
+ Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
+ :ok
+ end
+
test "ap_id returns the activity pub id for the user" do
user = UserBuilder.build()
diff --git a/test/web/activity_pub/transmogrifier_test.exs b/test/web/activity_pub/transmogrifier_test.exs
index faba80354..eeb0cb5cf 100644
--- a/test/web/activity_pub/transmogrifier_test.exs
+++ b/test/web/activity_pub/transmogrifier_test.exs
@@ -11,11 +11,8 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
import Pleroma.Factory
alias Pleroma.Web.CommonAPI
-
- import Tesla.Mock
-
- setup do
- mock(fn env -> apply(HttpRequestMock, :request, [env]) end)
+ setup_all do
+ Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
:ok
end
diff --git a/test/web/ostatus/ostatus_controller_test.exs b/test/web/ostatus/ostatus_controller_test.exs
index 6327a524e..411e89e94 100644
--- a/test/web/ostatus/ostatus_controller_test.exs
+++ b/test/web/ostatus/ostatus_controller_test.exs
@@ -4,10 +4,9 @@ defmodule Pleroma.Web.OStatus.OStatusControllerTest do
alias Pleroma.{User, Repo}
alias Pleroma.Web.CommonAPI
alias Pleroma.Web.OStatus.ActivityRepresenter
- import Tesla.Mock
- setup do
- mock(fn env -> apply(HttpRequestMock, :request, [env]) end)
+ setup_all do
+ Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
:ok
end
diff --git a/test/web/ostatus/ostatus_test.exs b/test/web/ostatus/ostatus_test.exs
index 83525456b..f3268e83d 100644
--- a/test/web/ostatus/ostatus_test.exs
+++ b/test/web/ostatus/ostatus_test.exs
@@ -5,10 +5,9 @@ defmodule Pleroma.Web.OStatusTest do
alias Pleroma.{Object, Repo, User, Activity}
import Pleroma.Factory
import ExUnit.CaptureLog
- import Tesla.Mock
- setup do
- mock(fn env -> apply(HttpRequestMock, :request, [env]) end)
+ setup_all do
+ Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
:ok
end