aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/plugs/uploaded_media_plug_test.exs43
-rw-r--r--test/upload_test.exs3
-rw-r--r--test/web/admin_api/admin_api_controller_test.exs38
3 files changed, 73 insertions, 11 deletions
diff --git a/test/plugs/uploaded_media_plug_test.exs b/test/plugs/uploaded_media_plug_test.exs
new file mode 100644
index 000000000..49cf5396a
--- /dev/null
+++ b/test/plugs/uploaded_media_plug_test.exs
@@ -0,0 +1,43 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Web.UploadedMediaPlugTest do
+ use Pleroma.Web.ConnCase
+ alias Pleroma.Upload
+
+ defp upload_file(context) do
+ Pleroma.DataCase.ensure_local_uploader(context)
+ File.cp!("test/fixtures/image.jpg", "test/fixtures/image_tmp.jpg")
+
+ file = %Plug.Upload{
+ content_type: "image/jpg",
+ path: Path.absname("test/fixtures/image_tmp.jpg"),
+ filename: "nice_tf.jpg"
+ }
+
+ {:ok, data} = Upload.store(file)
+ [%{"href" => attachment_url} | _] = data["url"]
+ [attachment_url: attachment_url]
+ end
+
+ setup_all :upload_file
+
+ test "does not send Content-Disposition header when name param is not set", %{
+ attachment_url: attachment_url
+ } do
+ conn = get(build_conn(), attachment_url)
+ refute Enum.any?(conn.resp_headers, &(elem(&1, 0) == "content-disposition"))
+ end
+
+ test "sends Content-Disposition header when name param is set", %{
+ attachment_url: attachment_url
+ } do
+ conn = get(build_conn(), attachment_url <> "?name=\"cofe\".gif")
+
+ assert Enum.any?(
+ conn.resp_headers,
+ &(&1 == {"content-disposition", "filename=\"\\\"cofe\\\".gif\""})
+ )
+ end
+end
diff --git a/test/upload_test.exs b/test/upload_test.exs
index bdda01b3f..770226478 100644
--- a/test/upload_test.exs
+++ b/test/upload_test.exs
@@ -150,7 +150,8 @@ defmodule Pleroma.UploadTest do
{:ok, data} = Upload.store(file)
[attachment_url | _] = data["url"]
- assert Path.basename(attachment_url["href"]) == "an%E2%80%A6%20image.jpg"
+ assert Path.basename(attachment_url["href"]) ==
+ "an%E2%80%A6%20image.jpg"
end
test "escapes reserved uri characters" do
diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs
index 0470a439b..e50f0edde 100644
--- a/test/web/admin_api/admin_api_controller_test.exs
+++ b/test/web/admin_api/admin_api_controller_test.exs
@@ -334,7 +334,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
describe "GET /api/pleroma/admin/users" do
test "renders users array for the first page" do
admin = insert(:user, info: %{is_admin: true})
- user = insert(:user)
+ user = insert(:user, local: false, tags: ["foo", "bar"])
conn =
build_conn()
@@ -349,13 +349,17 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
"deactivated" => admin.info.deactivated,
"id" => admin.id,
"nickname" => admin.nickname,
- "roles" => %{"admin" => true, "moderator" => false}
+ "roles" => %{"admin" => true, "moderator" => false},
+ "local" => true,
+ "tags" => []
},
%{
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname,
- "roles" => %{"admin" => false, "moderator" => false}
+ "roles" => %{"admin" => false, "moderator" => false},
+ "local" => false,
+ "tags" => ["foo", "bar"]
}
]
}
@@ -394,7 +398,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname,
- "roles" => %{"admin" => false, "moderator" => false}
+ "roles" => %{"admin" => false, "moderator" => false},
+ "local" => true,
+ "tags" => []
}
]
}
@@ -418,7 +424,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname,
- "roles" => %{"admin" => false, "moderator" => false}
+ "roles" => %{"admin" => false, "moderator" => false},
+ "local" => true,
+ "tags" => []
}
]
}
@@ -436,7 +444,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
"deactivated" => user2.info.deactivated,
"id" => user2.id,
"nickname" => user2.nickname,
- "roles" => %{"admin" => false, "moderator" => false}
+ "roles" => %{"admin" => false, "moderator" => false},
+ "local" => true,
+ "tags" => []
}
]
}
@@ -461,7 +471,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname,
- "roles" => %{"admin" => false, "moderator" => false}
+ "roles" => %{"admin" => false, "moderator" => false},
+ "local" => true,
+ "tags" => []
}
]
}
@@ -486,13 +498,17 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
"deactivated" => admin.info.deactivated,
"id" => admin.id,
"nickname" => admin.nickname,
- "roles" => %{"admin" => true, "moderator" => false}
+ "roles" => %{"admin" => true, "moderator" => false},
+ "local" => true,
+ "tags" => []
},
%{
"deactivated" => user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname,
- "roles" => %{"admin" => false, "moderator" => false}
+ "roles" => %{"admin" => false, "moderator" => false},
+ "local" => true,
+ "tags" => []
}
]
}
@@ -513,7 +529,9 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
"deactivated" => !user.info.deactivated,
"id" => user.id,
"nickname" => user.nickname,
- "roles" => %{"admin" => false, "moderator" => false}
+ "roles" => %{"admin" => false, "moderator" => false},
+ "local" => true,
+ "tags" => []
}
end
end