summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMark Felder <feld@feld.me>2023-05-29 15:46:49 -0400
committerMark Felder <feld@feld.me>2023-05-29 15:49:04 -0400
commit9caa0b0be1feffb20b3eaccb48298de572d32393 (patch)
treef6d1dc1ec63343449122fe3c4930c1e83ce6a7b2 /test
parent31ec5cd35eece97aa1213c401b40d3ab83689ea9 (diff)
downloadpleroma-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.exs32
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