diff options
author | lambda <pleromagit@rogerbraun.net> | 2018-12-17 19:37:05 +0000 |
---|---|---|
committer | lambda <pleromagit@rogerbraun.net> | 2018-12-17 19:37:05 +0000 |
commit | 98c31deaa960392184da4f34ddc9e3eecbce3f4c (patch) | |
tree | 7b16fbf6a3773e46d6a022f98cb183ac65135df0 /test/tasks/uploads_test.exs | |
parent | 078b8b6d228bee28697fda4bbefe65736f8b0d3c (diff) | |
parent | 22d483d4f74ff404fd6ae0cd88d2e5bcc7cceaf6 (diff) | |
download | pleroma-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.exs | 47 |
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 |