diff options
author | Mark Felder <feld@feld.me> | 2023-05-29 15:46:49 -0400 |
---|---|---|
committer | Mark Felder <feld@feld.me> | 2023-05-29 15:49:04 -0400 |
commit | 9caa0b0be1feffb20b3eaccb48298de572d32393 (patch) | |
tree | f6d1dc1ec63343449122fe3c4930c1e83ce6a7b2 /test | |
parent | 31ec5cd35eece97aa1213c401b40d3ab83689ea9 (diff) | |
download | pleroma-9caa0b0be1feffb20b3eaccb48298de572d32393.tar.gz pleroma-9caa0b0be1feffb20b3eaccb48298de572d32393.zip |
Add OnlyMedia Upload Filter to simplify restricting uploads to audio, image, and video types
Diffstat (limited to 'test')
-rw-r--r-- | test/pleroma/upload/filter/only_media_test.exs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/pleroma/upload/filter/only_media_test.exs b/test/pleroma/upload/filter/only_media_test.exs new file mode 100644 index 000000000..75be070a1 --- /dev/null +++ b/test/pleroma/upload/filter/only_media_test.exs @@ -0,0 +1,32 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2023 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Upload.Filter.OnlyMediaTest do + use Pleroma.DataCase, async: true + + alias Pleroma.Upload + alias Pleroma.Upload.Filter.OnlyMedia + + test "Allows media Content-Type" do + ["audio/mpeg", "image/jpeg", "video/mp4"] + |> Enum.each(fn type -> + upload = %Upload{ + content_type: type + } + + assert {:ok, :noop} = OnlyMedia.filter(upload) + end) + end + + test "Disallows non-media Content-Type" do + ["application/javascript", "application/pdf", "text/html"] + |> Enum.each(fn type -> + upload = %Upload{ + content_type: type + } + + assert {:error, _} = OnlyMedia.filter(upload) + end) + end +end |