|
|
|
@ -572,4 +572,75 @@ defmodule Pleroma.Object.FetcherTest do
|
|
|
|
|
} = object.data
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
describe "get_object/1" do
|
|
|
|
|
test "should return ok if the content type is application/activity+json" do
|
|
|
|
|
Tesla.Mock.mock(fn
|
|
|
|
|
%{
|
|
|
|
|
method: :get,
|
|
|
|
|
url: "https://mastodon.social/2"
|
|
|
|
|
} ->
|
|
|
|
|
%Tesla.Env{
|
|
|
|
|
status: 200,
|
|
|
|
|
headers: [{"content-type", "application/activity+json"}],
|
|
|
|
|
body: "{}"
|
|
|
|
|
}
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
assert {:ok, "{}"} = Fetcher.get_object("https://mastodon.social/2")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "should return ok if the content type is application/ld+json with a profile" do
|
|
|
|
|
Tesla.Mock.mock(fn
|
|
|
|
|
%{
|
|
|
|
|
method: :get,
|
|
|
|
|
url: "https://mastodon.social/2"
|
|
|
|
|
} ->
|
|
|
|
|
%Tesla.Env{
|
|
|
|
|
status: 200,
|
|
|
|
|
headers: [
|
|
|
|
|
{"content-type",
|
|
|
|
|
"application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\""}
|
|
|
|
|
],
|
|
|
|
|
body: "{}"
|
|
|
|
|
}
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
assert {:ok, "{}"} = Fetcher.get_object("https://mastodon.social/2")
|
|
|
|
|
|
|
|
|
|
Tesla.Mock.mock(fn
|
|
|
|
|
%{
|
|
|
|
|
method: :get,
|
|
|
|
|
url: "https://mastodon.social/2"
|
|
|
|
|
} ->
|
|
|
|
|
%Tesla.Env{
|
|
|
|
|
status: 200,
|
|
|
|
|
headers: [
|
|
|
|
|
{"content-type",
|
|
|
|
|
"application/ld+json; profile=\"http://www.w3.org/ns/activitystreams\""}
|
|
|
|
|
],
|
|
|
|
|
body: "{}"
|
|
|
|
|
}
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
assert {:ok, "{}"} = Fetcher.get_object("https://mastodon.social/2")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
test "should not return ok with other content types" do
|
|
|
|
|
Tesla.Mock.mock(fn
|
|
|
|
|
%{
|
|
|
|
|
method: :get,
|
|
|
|
|
url: "https://mastodon.social/2"
|
|
|
|
|
} ->
|
|
|
|
|
%Tesla.Env{
|
|
|
|
|
status: 200,
|
|
|
|
|
headers: [{"content-type", "application/json"}],
|
|
|
|
|
body: "{}"
|
|
|
|
|
}
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
assert {:error, {:content_type, "application/json"}} =
|
|
|
|
|
Fetcher.get_object("https://mastodon.social/2")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|