aboutsummaryrefslogtreecommitdiff
path: root/test/tasks/uploads_test.exs
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-12-17 19:37:05 +0000
committerlambda <pleromagit@rogerbraun.net>2018-12-17 19:37:05 +0000
commit98c31deaa960392184da4f34ddc9e3eecbce3f4c (patch)
tree7b16fbf6a3773e46d6a022f98cb183ac65135df0 /test/tasks/uploads_test.exs
parent078b8b6d228bee28697fda4bbefe65736f8b0d3c (diff)
parent22d483d4f74ff404fd6ae0cd88d2e5bcc7cceaf6 (diff)
downloadpleroma-98c31deaa960392184da4f34ddc9e3eecbce3f4c.tar.gz
Merge branch 'test-mix-tasks' into 'develop'
Add tests for Mix tasks See merge request pleroma/pleroma!555
Diffstat (limited to 'test/tasks/uploads_test.exs')
-rw-r--r--test/tasks/uploads_test.exs47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/tasks/uploads_test.exs b/test/tasks/uploads_test.exs
new file mode 100644
index 000000000..a76e96df5
--- /dev/null
+++ b/test/tasks/uploads_test.exs
@@ -0,0 +1,47 @@
+defmodule Mix.Tasks.Pleroma.UploadsTest do
+ alias Pleroma.Upload
+ use Pleroma.DataCase
+
+ import Mock
+
+ setup_all do
+ Mix.shell(Mix.Shell.Process)
+
+ on_exit(fn ->
+ Mix.shell(Mix.Shell.IO)
+ end)
+
+ :ok
+ end
+
+ describe "running migrate_local" do
+ test "uploads migrated" do
+ with_mock Upload,
+ store: fn %Upload{name: _file, path: _path}, _opts -> {:ok, %{}} end do
+ Mix.Tasks.Pleroma.Uploads.run(["migrate_local", "S3"])
+
+ assert_received {:mix_shell, :info, [message]}
+ assert message =~ "Migrating files from local"
+
+ assert_received {:mix_shell, :info, [message]}
+
+ assert %{"total_count" => total_count} =
+ Regex.named_captures(~r"^Found (?<total_count>\d+) uploads$", message)
+
+ assert_received {:mix_shell, :info, [message]}
+
+ assert %{"count" => ^total_count, "total_count" => ^total_count} =
+ Regex.named_captures(
+ ~r"^Uploaded (?<count>\d+)/(?<total_count>\d+) files$",
+ message
+ )
+ end
+ end
+
+ test "nonexistent uploader" do
+ assert_raise RuntimeError, ~r/The uploader .* is not an existing/, fn ->
+ Mix.Tasks.Pleroma.Uploads.run(["migrate_local", "nonexistent"])
+ end
+ end
+ end
+end