mirror of
https://git.pleroma.social/pleroma/pleroma.git
synced 2024-12-23 00:26:30 +00:00
add missing tesla mocks
This commit is contained in:
parent
bec6d02f30
commit
5271bbcf11
3 changed files with 38 additions and 8 deletions
|
@ -25,13 +25,13 @@ defmodule Pleroma.Web.RelMe do
|
||||||
def parse(_), do: {:error, "No URL provided"}
|
def parse(_), do: {:error, "No URL provided"}
|
||||||
|
|
||||||
defp parse_url(url) do
|
defp parse_url(url) do
|
||||||
{:ok, %Tesla.Env{body: html}} = Pleroma.HTTP.get(url, [], adapter: @hackney_options)
|
with {:ok, %Tesla.Env{body: html, status: status}} when status in 200..299 <-
|
||||||
|
Pleroma.HTTP.get(url, [], adapter: @hackney_options),
|
||||||
data =
|
data <-
|
||||||
Floki.attribute(html, "link[rel~=me]", "href") ++
|
Floki.attribute(html, "link[rel~=me]", "href") ++
|
||||||
Floki.attribute(html, "a[rel~=me]", "href")
|
Floki.attribute(html, "a[rel~=me]", "href") do
|
||||||
|
{:ok, data}
|
||||||
{:ok, data}
|
end
|
||||||
rescue
|
rescue
|
||||||
e -> {:error, "Parsing error: #{inspect(e)}"}
|
e -> {:error, "Parsing error: #{inspect(e)}"}
|
||||||
end
|
end
|
||||||
|
|
|
@ -1183,6 +1183,30 @@ defmodule HttpRequestMock do
|
||||||
}}
|
}}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get("https://10.111.10.1/notice/9kCP7V", _, _, _) do
|
||||||
|
{:ok, %Tesla.Env{status: 200, body: ""}}
|
||||||
|
end
|
||||||
|
|
||||||
|
def get("https://172.16.32.40/notice/9kCP7V", _, _, _) do
|
||||||
|
{:ok, %Tesla.Env{status: 200, body: ""}}
|
||||||
|
end
|
||||||
|
|
||||||
|
def get("https://192.168.10.40/notice/9kCP7V", _, _, _) do
|
||||||
|
{:ok, %Tesla.Env{status: 200, body: ""}}
|
||||||
|
end
|
||||||
|
|
||||||
|
def get("https://www.patreon.com/posts/mastodon-2-9-and-28121681", _, _, _) do
|
||||||
|
{:ok, %Tesla.Env{status: 200, body: ""}}
|
||||||
|
end
|
||||||
|
|
||||||
|
def get("http://mastodon.example.org/@admin/99541947525187367", _, _, _) do
|
||||||
|
{:ok, %Tesla.Env{status: 200, body: File.read!("test/fixtures/mastodon-post-activity.json")}}
|
||||||
|
end
|
||||||
|
|
||||||
|
def get("https://info.pleroma.site/activity4.json", _, _, _) do
|
||||||
|
{:ok, %Tesla.Env{status: 500, body: "Error occurred"}}
|
||||||
|
end
|
||||||
|
|
||||||
def get("http://example.com/rel_me/anchor", _, _, _) do
|
def get("http://example.com/rel_me/anchor", _, _, _) do
|
||||||
{:ok, %Tesla.Env{status: 200, body: File.read!("test/fixtures/rel_me_anchor.html")}}
|
{:ok, %Tesla.Env{status: 200, body: File.read!("test/fixtures/rel_me_anchor.html")}}
|
||||||
end
|
end
|
||||||
|
@ -1215,6 +1239,10 @@ defmodule HttpRequestMock do
|
||||||
{:ok, %Tesla.Env{status: 200, body: File.read!("test/fixtures/tesla_mock/rin.json")}}
|
{:ok, %Tesla.Env{status: 200, body: File.read!("test/fixtures/tesla_mock/rin.json")}}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get("http://example.com/rel_me/error", _, _, _) do
|
||||||
|
{:ok, %Tesla.Env{status: 404, body: ""}}
|
||||||
|
end
|
||||||
|
|
||||||
def get(url, query, body, headers) do
|
def get(url, query, body, headers) do
|
||||||
{:error,
|
{:error,
|
||||||
"Mock response not implemented for GET #{inspect(url)}, #{query}, #{inspect(body)}, #{
|
"Mock response not implemented for GET #{inspect(url)}, #{query}, #{inspect(body)}, #{
|
||||||
|
|
|
@ -14,7 +14,9 @@ defmodule Pleroma.Web.RelMeTest do
|
||||||
hrefs = ["https://social.example.org/users/lain"]
|
hrefs = ["https://social.example.org/users/lain"]
|
||||||
|
|
||||||
assert Pleroma.Web.RelMe.parse("http://example.com/rel_me/null") == {:ok, []}
|
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/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") == {:ok, hrefs}
|
||||||
|
|
Loading…
Reference in a new issue