diff options
author | link0ff <juri@linkov.net> | 2018-12-16 18:04:31 +0200 |
---|---|---|
committer | link0ff <juri@linkov.net> | 2018-12-16 18:08:31 +0200 |
commit | 7c235b8874d575cb1582b1fca2817a8db492bf4c (patch) | |
tree | 446728f9d3e12b3a6888643236fe6d82fd9ea770 /test/tasks/uploads_test.exs | |
parent | 36f1af232a3e34594617f2044652d7d02b19a234 (diff) | |
download | pleroma-7c235b8874d575cb1582b1fca2817a8db492bf4c.tar.gz |
Add more Mix task tests in relay_test.exs and uploads_test.exs.
Rename test/tasks/user.exs to test/tasks/user_test.exs.
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 |