aboutsummaryrefslogtreecommitdiff
path: root/test/web/uploader_controller_test.exs
diff options
context:
space:
mode:
authorMark Felder <feld@FreeBSD.org>2019-07-19 16:55:10 -0500
committerMark Felder <feld@FreeBSD.org>2019-07-19 16:55:10 -0500
commit9169f331b6d481a0aa2b0bfe91500d695fb1b6d6 (patch)
tree734ce297aef5a2482c88cdc7d03914943ba4cf28 /test/web/uploader_controller_test.exs
parent46c7c53fbbfd9919d429ba15988af0da9e22d444 (diff)
parentc1c64d6d06fb7307245880d6605d9d9153a4784f (diff)
downloadpleroma-9169f331b6d481a0aa2b0bfe91500d695fb1b6d6.tar.gz
Merge branch 'develop' into feature/matstodon-statuses-by-name
Diffstat (limited to 'test/web/uploader_controller_test.exs')
-rw-r--r--test/web/uploader_controller_test.exs43
1 files changed, 43 insertions, 0 deletions
diff --git a/test/web/uploader_controller_test.exs b/test/web/uploader_controller_test.exs
new file mode 100644
index 000000000..70028df1c
--- /dev/null
+++ b/test/web/uploader_controller_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.UploaderControllerTest do
+ use Pleroma.Web.ConnCase
+ alias Pleroma.Uploaders.Uploader
+
+ describe "callback/2" do
+ test "it returns 400 response when process callback isn't alive", %{conn: conn} do
+ res =
+ conn
+ |> post(uploader_path(conn, :callback, "test-path"))
+
+ assert res.status == 400
+ assert res.resp_body == "{\"error\":\"bad request\"}"
+ end
+
+ test "it returns success result", %{conn: conn} do
+ task =
+ Task.async(fn ->
+ receive do
+ {Uploader, pid, conn, _params} ->
+ conn =
+ conn
+ |> put_status(:ok)
+ |> Phoenix.Controller.json(%{upload_path: "test-path"})
+
+ send(pid, {Uploader, conn})
+ end
+ end)
+
+ :global.register_name({Uploader, "test-path"}, task.pid)
+
+ res =
+ conn
+ |> post(uploader_path(conn, :callback, "test-path"))
+ |> json_response(200)
+
+ assert res == %{"upload_path" => "test-path"}
+ end
+ end
+end