forked from AkkomaGang/akkoma
[#2497] Resolved merge conflicts.
This commit is contained in:
parent
bdf57b8ef4
commit
b8021016eb
2 changed files with 7 additions and 56 deletions
|
@ -79,43 +79,4 @@ test "it returns 404 when url is in banned_urls cache", %{conn: conn, url: url}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "filename_matches/3" do
|
|
||||||
test "preserves the encoded or decoded path" do
|
|
||||||
assert MediaProxyController.filename_matches(
|
|
||||||
%{"filename" => "/Hello world.jpg"},
|
|
||||||
"/Hello world.jpg",
|
|
||||||
"http://pleroma.social/Hello world.jpg"
|
|
||||||
) == :ok
|
|
||||||
|
|
||||||
assert MediaProxyController.filename_matches(
|
|
||||||
%{"filename" => "/Hello%20world.jpg"},
|
|
||||||
"/Hello%20world.jpg",
|
|
||||||
"http://pleroma.social/Hello%20world.jpg"
|
|
||||||
) == :ok
|
|
||||||
|
|
||||||
assert MediaProxyController.filename_matches(
|
|
||||||
%{"filename" => "/my%2Flong%2Furl%2F2019%2F07%2FS.jpg"},
|
|
||||||
"/my%2Flong%2Furl%2F2019%2F07%2FS.jpg",
|
|
||||||
"http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg"
|
|
||||||
) == :ok
|
|
||||||
|
|
||||||
assert MediaProxyController.filename_matches(
|
|
||||||
%{"filename" => "/my%2Flong%2Furl%2F2019%2F07%2FS.jp"},
|
|
||||||
"/my%2Flong%2Furl%2F2019%2F07%2FS.jp",
|
|
||||||
"http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg"
|
|
||||||
) == {:wrong_filename, "my%2Flong%2Furl%2F2019%2F07%2FS.jpg"}
|
|
||||||
end
|
|
||||||
|
|
||||||
test "encoded url are tried to match for proxy as `conn.request_path` encodes the url" do
|
|
||||||
# conn.request_path will return encoded url
|
|
||||||
request_path = "/ANALYSE-DAI-_-LE-STABLECOIN-100-D%C3%89CENTRALIS%C3%89-BQ.jpg"
|
|
||||||
|
|
||||||
assert MediaProxyController.filename_matches(
|
|
||||||
true,
|
|
||||||
request_path,
|
|
||||||
"https://mydomain.com/uploads/2019/07/ANALYSE-DAI-_-LE-STABLECOIN-100-DÉCENTRALISÉ-BQ.jpg"
|
|
||||||
) == :ok
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -126,6 +126,13 @@ test "`verify_request_path_and_url/2` preserves the encoded or decoded path" do
|
||||||
:ok
|
:ok
|
||||||
)
|
)
|
||||||
|
|
||||||
|
test_verify_request_path_and_url(
|
||||||
|
# Note: `conn.request_path` returns encoded url
|
||||||
|
"/ANALYSE-DAI-_-LE-STABLECOIN-100-D%C3%89CENTRALIS%C3%89-BQ.jpg",
|
||||||
|
"https://mydomain.com/uploads/2019/07/ANALYSE-DAI-_-LE-STABLECOIN-100-DÉCENTRALISÉ-BQ.jpg",
|
||||||
|
:ok
|
||||||
|
)
|
||||||
|
|
||||||
test_verify_request_path_and_url(
|
test_verify_request_path_and_url(
|
||||||
"/my%2Flong%2Furl%2F2019%2F07%2FS",
|
"/my%2Flong%2Furl%2F2019%2F07%2FS",
|
||||||
"http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg",
|
"http://pleroma.social/my%2Flong%2Furl%2F2019%2F07%2FS.jpg",
|
||||||
|
@ -133,17 +140,6 @@ test "`verify_request_path_and_url/2` preserves the encoded or decoded path" do
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
test "encoded url are tried to match for proxy as `conn.request_path` encodes the url" do
|
|
||||||
# conn.request_path will return encoded url
|
|
||||||
request_path = "/ANALYSE-DAI-_-LE-STABLECOIN-100-D%C3%89CENTRALIS%C3%89-BQ.jpg"
|
|
||||||
|
|
||||||
assert MediaProxy.verify_request_path_and_url(
|
|
||||||
request_path,
|
|
||||||
"https://mydomain.com/uploads/2019/07/ANALYSE-DAI-_-LE-STABLECOIN-100-DÉCENTRALISÉ-BQ.jpg"
|
|
||||||
) == :ok
|
|
||||||
assert MediaProxy.decode_url(sig, base64) == {:error, :invalid_signature}
|
|
||||||
end
|
|
||||||
|
|
||||||
test "uses the configured base_url" do
|
test "uses the configured base_url" do
|
||||||
base_url = "https://cache.pleroma.social"
|
base_url = "https://cache.pleroma.social"
|
||||||
clear_config([:media_proxy, :base_url], base_url)
|
clear_config([:media_proxy, :base_url], base_url)
|
||||||
|
@ -193,12 +189,6 @@ test "does not encode remote urls" do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp decode_result(encoded) do
|
|
||||||
[_, "proxy", sig, base64 | _] = URI.parse(encoded).path |> String.split("/")
|
|
||||||
{:ok, decoded} = MediaProxy.decode_url(sig, base64)
|
|
||||||
decoded
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "whitelist" do
|
describe "whitelist" do
|
||||||
setup do: clear_config([:media_proxy, :enabled], true)
|
setup do: clear_config([:media_proxy, :enabled], true)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue