From dc38dc847207e4724265fbeb111d0a236b75f93f Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 13 Oct 2020 21:52:06 -0500 Subject: Replace User.toggle_confirmation/1 with User.confirm/1, fixes #2235 --- test/mix/tasks/pleroma/user_test.exs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index b8c423c48..f58690dbe 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -457,24 +457,24 @@ defmodule Mix.Tasks.Pleroma.UserTest do end end - describe "running toggle_confirmed" do + describe "running confirm" do test "user is confirmed" do %{id: id, nickname: nickname} = insert(:user, confirmation_pending: false) - assert :ok = Mix.Tasks.Pleroma.User.run(["toggle_confirmed", nickname]) + assert :ok = Mix.Tasks.Pleroma.User.run(["confirm", nickname]) assert_received {:mix_shell, :info, [message]} - assert message == "#{nickname} needs confirmation." + assert message == "#{nickname} doesn't need confirmation." user = Repo.get(User, id) - assert user.confirmation_pending - assert user.confirmation_token + refute user.confirmation_pending + refute user.confirmation_token end test "user is not confirmed" do %{id: id, nickname: nickname} = insert(:user, confirmation_pending: true, confirmation_token: "some token") - assert :ok = Mix.Tasks.Pleroma.User.run(["toggle_confirmed", nickname]) + assert :ok = Mix.Tasks.Pleroma.User.run(["confirm", nickname]) assert_received {:mix_shell, :info, [message]} assert message == "#{nickname} doesn't need confirmation." @@ -484,7 +484,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do end test "it prints an error message when user is not exist" do - Mix.Tasks.Pleroma.User.run(["toggle_confirmed", "foo"]) + Mix.Tasks.Pleroma.User.run(["confirm", "foo"]) assert_received {:mix_shell, :error, [message]} assert message =~ "No local user" -- cgit v1.2.3 From 20e68b30f08e0e0eae691dcf541968e344efdaae Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Tue, 14 Jul 2020 07:31:21 +0300 Subject: added generated `pleroma.env` --- test/mix/tasks/pleroma/release_env_test.exs | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 test/mix/tasks/pleroma/release_env_test.exs (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/release_env_test.exs b/test/mix/tasks/pleroma/release_env_test.exs new file mode 100644 index 000000000..519f1eba9 --- /dev/null +++ b/test/mix/tasks/pleroma/release_env_test.exs @@ -0,0 +1,30 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Mix.Tasks.Pleroma.ReleaseEnvTest do + use ExUnit.Case + import ExUnit.CaptureIO, only: [capture_io: 1] + + @path "config/pleroma.test.env" + + def do_clean do + if File.exists?(@path) do + File.rm_rf(@path) + end + end + + setup do + do_clean() + on_exit(fn -> do_clean() end) + :ok + end + + test "generate pleroma.env" do + assert capture_io(fn -> + Mix.Tasks.Pleroma.ReleaseEnv.run(["gen", "--path", @path, "--force"]) + end) =~ "The file generated" + + assert File.read!(@path) =~ "RELEASE_COOKIE=" + end +end -- cgit v1.2.3 From 2030ffd4904b6ab5e99cefa62887154a49aaf4db Mon Sep 17 00:00:00 2001 From: Maksim Pechnikov Date: Sat, 8 Aug 2020 06:49:19 +0300 Subject: fix test --- test/mix/tasks/pleroma/instance_test.exs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/instance_test.exs b/test/mix/tasks/pleroma/instance_test.exs index 8a02710ee..fe69a2def 100644 --- a/test/mix/tasks/pleroma/instance_test.exs +++ b/test/mix/tasks/pleroma/instance_test.exs @@ -5,6 +5,8 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do use ExUnit.Case + @release_env_file "./test/pleroma.test.env" + setup do File.mkdir_p!(tmp_path()) @@ -16,6 +18,8 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do File.rm_rf(Path.join(static_dir, "robots.txt")) end + if File.exists?(@release_env_file), do: File.rm_rf(@release_env_file) + Pleroma.Config.put([:instance, :static_dir], static_dir) end) @@ -69,7 +73,9 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do "--dedupe-uploads", "n", "--anonymize-uploads", - "n" + "n", + "--release-env-file", + @release_env_file ]) end @@ -91,6 +97,9 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do assert generated_config =~ "filters: [Pleroma.Upload.Filter.ExifTool]" assert File.read!(tmp_path() <> "setup.psql") == generated_setup_psql() assert File.exists?(Path.expand("./test/instance/static/robots.txt")) + assert File.exists?(@release_env_file) + + assert File.read!(@release_env_file) =~ ~r/^RELEASE_COOKIE=.*/ end defp generated_setup_psql do -- cgit v1.2.3 From cc45c69fff515cb82c4902b67c8edce6b109c819 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Sat, 7 Nov 2020 22:09:28 +0300 Subject: Remove release_env While taking a final look at instance.gen before releasing I noticed that the release_env task outputs messages in broken english. Upon further inspection it seems to have even more severe issues which, in my opinion, warrant it's at least temporary removal: - We do not explain what it actually does, anywhere. Neither the task docs nor instance.gen, nor installation instructions. - It does not respect FHS on OTP releases (uses /opt/pleroma/config even though we store the config in /etc/pleroma/config.exs). - It doesn't work on OTP releases, which is the main reason it exists. Neither systemd nor openrc service files for OTP include it. - It is not mentioned in install guides other than the ones for Debian and OTP releases. --- test/mix/tasks/pleroma/instance_test.exs | 11 +---------- test/mix/tasks/pleroma/release_env_test.exs | 30 ----------------------------- 2 files changed, 1 insertion(+), 40 deletions(-) delete mode 100644 test/mix/tasks/pleroma/release_env_test.exs (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/instance_test.exs b/test/mix/tasks/pleroma/instance_test.exs index fe69a2def..8a02710ee 100644 --- a/test/mix/tasks/pleroma/instance_test.exs +++ b/test/mix/tasks/pleroma/instance_test.exs @@ -5,8 +5,6 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do use ExUnit.Case - @release_env_file "./test/pleroma.test.env" - setup do File.mkdir_p!(tmp_path()) @@ -18,8 +16,6 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do File.rm_rf(Path.join(static_dir, "robots.txt")) end - if File.exists?(@release_env_file), do: File.rm_rf(@release_env_file) - Pleroma.Config.put([:instance, :static_dir], static_dir) end) @@ -73,9 +69,7 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do "--dedupe-uploads", "n", "--anonymize-uploads", - "n", - "--release-env-file", - @release_env_file + "n" ]) end @@ -97,9 +91,6 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do assert generated_config =~ "filters: [Pleroma.Upload.Filter.ExifTool]" assert File.read!(tmp_path() <> "setup.psql") == generated_setup_psql() assert File.exists?(Path.expand("./test/instance/static/robots.txt")) - assert File.exists?(@release_env_file) - - assert File.read!(@release_env_file) =~ ~r/^RELEASE_COOKIE=.*/ end defp generated_setup_psql do diff --git a/test/mix/tasks/pleroma/release_env_test.exs b/test/mix/tasks/pleroma/release_env_test.exs deleted file mode 100644 index 519f1eba9..000000000 --- a/test/mix/tasks/pleroma/release_env_test.exs +++ /dev/null @@ -1,30 +0,0 @@ -# Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors -# SPDX-License-Identifier: AGPL-3.0-only - -defmodule Mix.Tasks.Pleroma.ReleaseEnvTest do - use ExUnit.Case - import ExUnit.CaptureIO, only: [capture_io: 1] - - @path "config/pleroma.test.env" - - def do_clean do - if File.exists?(@path) do - File.rm_rf(@path) - end - end - - setup do - do_clean() - on_exit(fn -> do_clean() end) - :ok - end - - test "generate pleroma.env" do - assert capture_io(fn -> - Mix.Tasks.Pleroma.ReleaseEnv.run(["gen", "--path", @path, "--force"]) - end) =~ "The file generated" - - assert File.read!(@path) =~ "RELEASE_COOKIE=" - end -end -- cgit v1.2.3 From e2f573d68baa8b161b92459ffacf534054082422 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Sat, 14 Nov 2020 22:27:13 +0100 Subject: pleroma.instance: Fix Exiftool module name --- test/mix/tasks/pleroma/instance_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/instance_test.exs b/test/mix/tasks/pleroma/instance_test.exs index 8a02710ee..6580fc932 100644 --- a/test/mix/tasks/pleroma/instance_test.exs +++ b/test/mix/tasks/pleroma/instance_test.exs @@ -88,7 +88,7 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do assert generated_config =~ "password: \"dbpass\"" assert generated_config =~ "configurable_from_database: true" assert generated_config =~ "http: [ip: {127, 0, 0, 1}, port: 4000]" - assert generated_config =~ "filters: [Pleroma.Upload.Filter.ExifTool]" + assert generated_config =~ "filters: [Pleroma.Upload.Filter.Exiftool]" assert File.read!(tmp_path() <> "setup.psql") == generated_setup_psql() assert File.exists?(Path.expand("./test/instance/static/robots.txt")) end -- cgit v1.2.3 From 35ba48494f5129d3a0010b045ff36d98e7e7984f Mon Sep 17 00:00:00 2001 From: Egor Kislitsyn Date: Wed, 2 Dec 2020 00:17:52 +0400 Subject: Stream follow updates --- test/mix/tasks/pleroma/database_test.exs | 2 +- test/mix/tasks/pleroma/user_test.exs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/database_test.exs b/test/mix/tasks/pleroma/database_test.exs index 292a5ef5f..a4bd41922 100644 --- a/test/mix/tasks/pleroma/database_test.exs +++ b/test/mix/tasks/pleroma/database_test.exs @@ -73,7 +73,7 @@ defmodule Mix.Tasks.Pleroma.DatabaseTest do describe "running update_users_following_followers_counts" do test "following and followers count are updated" do [user, user2] = insert_pair(:user) - {:ok, %User{} = user} = User.follow(user, user2) + {:ok, %User{} = user, _user2} = User.follow(user, user2) following = User.following(user) diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index ce819f815..be0cb2668 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -503,7 +503,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do moot = insert(:user, nickname: "moot") kawen = insert(:user, nickname: "kawen", name: "fediverse expert moon") - {:ok, user} = User.follow(user, moon) + {:ok, user, moon} = User.follow(user, moon) assert [moon.id, kawen.id] == User.Search.search("moon") |> Enum.map(& &1.id) -- cgit v1.2.3 From 3e6d9187a7b826641a2a105f0b93944c54fdeec3 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Sat, 28 Nov 2020 13:32:28 -0600 Subject: Add tests for config dumping --- test/mix/tasks/pleroma/config_test.exs | 86 ++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/config_test.exs b/test/mix/tasks/pleroma/config_test.exs index f36648829..dfa04a508 100644 --- a/test/mix/tasks/pleroma/config_test.exs +++ b/test/mix/tasks/pleroma/config_test.exs @@ -186,4 +186,90 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do "#{header}\n\nconfig :pleroma, :instance,\n name: \"Pleroma\",\n email: \"example@example.com\",\n notify_email: \"noreply@example.com\",\n description: \"A Pleroma instance, an alternative fediverse server\",\n limit: 5000,\n chat_limit: 5000,\n remote_limit: 100_000,\n upload_limit: 16_000_000,\n avatar_upload_limit: 2_000_000,\n background_upload_limit: 4_000_000,\n banner_upload_limit: 4_000_000,\n poll_limits: %{\n max_expiration: 31_536_000,\n max_option_chars: 200,\n max_options: 20,\n min_expiration: 0\n },\n registrations_open: true,\n federating: true,\n federation_incoming_replies_max_depth: 100,\n federation_reachability_timeout_days: 7,\n federation_publisher_modules: [Pleroma.Web.ActivityPub.Publisher],\n allow_relay: true,\n public: true,\n quarantined_instances: [],\n managed_config: true,\n static_dir: \"instance/static/\",\n allowed_post_formats: [\"text/plain\", \"text/html\", \"text/markdown\", \"text/bbcode\"],\n autofollowed_nicknames: [],\n max_pinned_statuses: 1,\n attachment_links: false,\n max_report_comment_size: 1000,\n safe_dm_mentions: false,\n healthcheck: false,\n remote_post_retention_days: 90,\n skip_thread_containment: true,\n limit_to_local_content: :unauthenticated,\n user_bio_length: 5000,\n user_name_length: 100,\n max_account_fields: 10,\n max_remote_account_fields: 20,\n account_field_name_length: 512,\n account_field_value_length: 2048,\n external_user_synchronization: true,\n extended_nickname_format: true,\n multi_factor_authentication: [\n totp: [digits: 6, period: 30],\n backup_codes: [number: 2, length: 6]\n ]\n" end end + + test "dumping a specific group" do + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) + + insert(:config, + group: :web_push_encryption, + key: :vapid_details, + value: [ + subject: "mailto:administrator@example.com", + public_key: + "BOsPL-_KjNnjj_RMvLeR3dTOrcndi4TbMR0cu56gLGfGaT5m1gXxSfRHOcC4Dd78ycQL1gdhtx13qgKHmTM5xAI", + private_key: "Ism6FNdS31nLCA94EfVbJbDdJXCxAZ8cZiB1JQPN_t4" + ] + ) + + Mix.Tasks.Pleroma.Config.run(["dump", "pleroma"]) + + assert_receive {:mix_shell, :info, + ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} + + refute_receive { + :mix_shell, + :info, + [ + "config :web_push_encryption, :vapid_details, [subject: \"mailto:administrator@example.com\", public_key: \"BOsPL-_KjNnjj_RMvLeR3dTOrcndi4TbMR0cu56gLGfGaT5m1gXxSfRHOcC4Dd78ycQL1gdhtx13qgKHmTM5xAI\", private_key: \"Ism6FNdS31nLCA94EfVbJbDdJXCxAZ8cZiB1JQPN_t4\"]\r\n\r\n" + ] + } + end + + test "dumping a specific key in a group" do + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) + + insert(:config, + group: :pleroma, + key: Pleroma.Captcha, + value: [ + enabled: false + ] + ) + + Mix.Tasks.Pleroma.Config.run(["dump", "pleroma", "Pleroma.Captcha"]) + + refute_receive {:mix_shell, :info, + ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} + + assert_receive {:mix_shell, :info, + ["config :pleroma, Pleroma.Captcha, [enabled: false]\r\n\r\n"]} + end + + test "dumps all configuration successfully" do + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) + + insert(:config, + group: :pleroma, + key: Pleroma.Captcha, + value: [ + enabled: false + ] + ) + + Mix.Tasks.Pleroma.Config.run(["dump"]) + + assert_receive {:mix_shell, :info, + ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} + + assert_receive {:mix_shell, :info, + ["config :pleroma, Pleroma.Captcha, [enabled: false]\r\n\r\n"]} + end end -- cgit v1.2.3 From 13947999ad28eac6668a601bf957d2e64edda9d3 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 2 Dec 2020 12:33:34 -0600 Subject: Use a callback strategy to short circuit the functions and print a nice error --- test/mix/tasks/pleroma/config_test.exs | 177 +++++++++++++++++++-------------- 1 file changed, 101 insertions(+), 76 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/config_test.exs b/test/mix/tasks/pleroma/config_test.exs index dfa04a508..9d6d5ce15 100644 --- a/test/mix/tasks/pleroma/config_test.exs +++ b/test/mix/tasks/pleroma/config_test.exs @@ -22,8 +22,6 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do :ok end - setup_all do: clear_config(:configurable_from_database, true) - test "error if file with custom settings doesn't exist" do Mix.Tasks.Pleroma.Config.migrate_to_db("config/not_existance_config_file.exs") @@ -36,6 +34,7 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do describe "migrate_to_db/1" do setup do + clear_config(:configurable_from_database, true) initial = Application.get_env(:quack, :level) on_exit(fn -> Application.put_env(:quack, :level, initial) end) end @@ -83,6 +82,7 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do describe "with deletion temp file" do setup do + clear_config(:configurable_from_database, true) temp_file = "config/temp.exported_from_db.secret.exs" on_exit(fn -> @@ -187,89 +187,114 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do end end - test "dumping a specific group" do - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) - - insert(:config, - group: :web_push_encryption, - key: :vapid_details, - value: [ - subject: "mailto:administrator@example.com", - public_key: - "BOsPL-_KjNnjj_RMvLeR3dTOrcndi4TbMR0cu56gLGfGaT5m1gXxSfRHOcC4Dd78ycQL1gdhtx13qgKHmTM5xAI", - private_key: "Ism6FNdS31nLCA94EfVbJbDdJXCxAZ8cZiB1JQPN_t4" - ] - ) - - Mix.Tasks.Pleroma.Config.run(["dump", "pleroma"]) + describe "operations on database config" do + setup do: clear_config(:configurable_from_database, true) - assert_receive {:mix_shell, :info, - ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} - - refute_receive { - :mix_shell, - :info, - [ - "config :web_push_encryption, :vapid_details, [subject: \"mailto:administrator@example.com\", public_key: \"BOsPL-_KjNnjj_RMvLeR3dTOrcndi4TbMR0cu56gLGfGaT5m1gXxSfRHOcC4Dd78ycQL1gdhtx13qgKHmTM5xAI\", private_key: \"Ism6FNdS31nLCA94EfVbJbDdJXCxAZ8cZiB1JQPN_t4\"]\r\n\r\n" - ] - } - end + test "dumping a specific group" do + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) - test "dumping a specific key in a group" do - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) + insert(:config, + group: :web_push_encryption, + key: :vapid_details, + value: [ + subject: "mailto:administrator@example.com", + public_key: + "BOsPL-_KjNnjj_RMvLeR3dTOrcndi4TbMR0cu56gLGfGaT5m1gXxSfRHOcC4Dd78ycQL1gdhtx13qgKHmTM5xAI", + private_key: "Ism6FNdS31nLCA94EfVbJbDdJXCxAZ8cZiB1JQPN_t4" + ] + ) - insert(:config, - group: :pleroma, - key: Pleroma.Captcha, - value: [ - enabled: false - ] - ) + Mix.Tasks.Pleroma.Config.run(["dump", "pleroma"]) - Mix.Tasks.Pleroma.Config.run(["dump", "pleroma", "Pleroma.Captcha"]) + assert_receive {:mix_shell, :info, + ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} - refute_receive {:mix_shell, :info, - ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} + refute_receive { + :mix_shell, + :info, + [ + "config :web_push_encryption, :vapid_details, [subject: \"mailto:administrator@example.com\", public_key: \"BOsPL-_KjNnjj_RMvLeR3dTOrcndi4TbMR0cu56gLGfGaT5m1gXxSfRHOcC4Dd78ycQL1gdhtx13qgKHmTM5xAI\", private_key: \"Ism6FNdS31nLCA94EfVbJbDdJXCxAZ8cZiB1JQPN_t4\"]\r\n\r\n" + ] + } + end - assert_receive {:mix_shell, :info, - ["config :pleroma, Pleroma.Captcha, [enabled: false]\r\n\r\n"]} + test "dumping a specific key in a group" do + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) + + insert(:config, + group: :pleroma, + key: Pleroma.Captcha, + value: [ + enabled: false + ] + ) + + Mix.Tasks.Pleroma.Config.run(["dump", "pleroma", "Pleroma.Captcha"]) + + refute_receive {:mix_shell, :info, + ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} + + assert_receive {:mix_shell, :info, + ["config :pleroma, Pleroma.Captcha, [enabled: false]\r\n\r\n"]} + end + + test "dumps all configuration successfully" do + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) + + insert(:config, + group: :pleroma, + key: Pleroma.Captcha, + value: [ + enabled: false + ] + ) + + Mix.Tasks.Pleroma.Config.run(["dump"]) + + assert_receive {:mix_shell, :info, + ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} + + assert_receive {:mix_shell, :info, + ["config :pleroma, Pleroma.Captcha, [enabled: false]\r\n\r\n"]} + end end - test "dumps all configuration successfully" do - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) - - insert(:config, - group: :pleroma, - key: Pleroma.Captcha, - value: [ - enabled: false - ] - ) - - Mix.Tasks.Pleroma.Config.run(["dump"]) + describe "when configdb disabled" do + test "refuses to dump" do + clear_config(:configurable_from_database, false) - assert_receive {:mix_shell, :info, - ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) - assert_receive {:mix_shell, :info, - ["config :pleroma, Pleroma.Captcha, [enabled: false]\r\n\r\n"]} + Mix.Tasks.Pleroma.Config.run(["dump"]) + + assert_receive {:mix_shell, :error, + [ + "ConfigDB not enabled. Please check the value of :configurable_from_database in your configuration." + ]} + end end end -- cgit v1.2.3 From e379ab8277f552d66737963a9c908ae3fc01c1ff Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Wed, 2 Dec 2020 16:24:32 -0600 Subject: Add --force flag for delete and reset commands Bunch of reorganization and consolidation --- test/mix/tasks/pleroma/config_test.exs | 95 ++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/config_test.exs b/test/mix/tasks/pleroma/config_test.exs index 9d6d5ce15..3658b3179 100644 --- a/test/mix/tasks/pleroma/config_test.exs +++ b/test/mix/tasks/pleroma/config_test.exs @@ -297,4 +297,99 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do ]} end end + + describe "destructive operations" do + setup do: clear_config(:configurable_from_database, true) + + test "deletes group of settings" do + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) + + _config_before = Repo.all(ConfigDB) + + assert config_before = [ + %Pleroma.ConfigDB{ + group: :pleroma, + key: :instance, + value: [name: "Pleroma Test"] + } + ] + + Mix.Tasks.Pleroma.Config.run(["delete", "--force", "pleroma"]) + + config_after = Repo.all(ConfigDB) + + refute config_after == config_before + end + + test "deletes specified key" do + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) + + insert(:config, + group: :pleroma, + key: Pleroma.Captcha, + value: [ + enabled: false + ] + ) + + _config_before = Repo.all(ConfigDB) + + assert config_before = [ + %Pleroma.ConfigDB{ + group: :pleroma, + key: :instance, + value: [name: "Pleroma Test"] + }, + %Pleroma.ConfigDB{ + group: :pleroma, + key: Pleroma.Captcha, + value: [enabled: false] + } + ] + + Mix.Tasks.Pleroma.Config.run(["delete", "--force", "pleroma", "Pleroma.Captcha"]) + + config_after = Repo.all(ConfigDB) + + refute config_after == config_before + end + + test "resets entire config" do + insert(:config, + group: :pleroma, + key: :instance, + value: [ + name: "Pleroma Test" + ] + ) + + _config_before = Repo.all(ConfigDB) + + assert config_before = [ + %Pleroma.ConfigDB{ + group: :pleroma, + key: :instance, + value: [name: "Pleroma Test"] + } + ] + + Mix.Tasks.Pleroma.Config.run(["reset", "--force"]) + + config_after = Repo.all(ConfigDB) + + assert config_after == [] + end + end end -- cgit v1.2.3 From 657002e738adc5755ad2389b99cacd66f40c3715 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 4 Dec 2020 12:07:23 -0600 Subject: Answer new prompt interactively --- test/mix/tasks/pleroma/user_test.exs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index ce819f815..ae0c50443 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -36,7 +36,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do unsaved = build(:user) # prepare to answer yes - send(self(), {:mix_shell_input, :yes?, true}) + send(self(), {:mix_shell_input, :prompt, "Y"}) Mix.Tasks.Pleroma.User.run([ "new", @@ -55,7 +55,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert_received {:mix_shell, :info, [message]} assert message =~ "user will be created" - assert_received {:mix_shell, :yes?, [message]} + assert_received {:mix_shell, :prompt, [message]} assert message =~ "Continue" assert_received {:mix_shell, :info, [message]} @@ -73,14 +73,14 @@ defmodule Mix.Tasks.Pleroma.UserTest do unsaved = build(:user) # prepare to answer no - send(self(), {:mix_shell_input, :yes?, false}) + send(self(), {:mix_shell_input, :prompt, "N"}) Mix.Tasks.Pleroma.User.run(["new", unsaved.nickname, unsaved.email]) assert_received {:mix_shell, :info, [message]} assert message =~ "user will be created" - assert_received {:mix_shell, :yes?, [message]} + assert_received {:mix_shell, :prompt, [message]} assert message =~ "Continue" assert_received {:mix_shell, :info, [message]} -- cgit v1.2.3 From e00c66714590948ef917909779772155e20a3c96 Mon Sep 17 00:00:00 2001 From: Ivan Tashkinov Date: Sun, 6 Dec 2020 18:02:30 +0300 Subject: [#3174] Refactoring: ConfigDB fetching functions, ConfigDB tests. Minor fixes. --- test/mix/tasks/pleroma/config_test.exs | 233 ++++++++++----------------------- 1 file changed, 72 insertions(+), 161 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/config_test.exs b/test/mix/tasks/pleroma/config_test.exs index 3658b3179..1ea9f5790 100644 --- a/test/mix/tasks/pleroma/config_test.exs +++ b/test/mix/tasks/pleroma/config_test.exs @@ -7,6 +7,7 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do import Pleroma.Factory + alias Mix.Tasks.Pleroma.Config, as: MixTask alias Pleroma.ConfigDB alias Pleroma.Repo @@ -22,29 +23,41 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do :ok end + defp config_records do + ConfigDB + |> Repo.all() + |> Enum.sort() + end + + defp insert_config_record(group, key, value) do + insert(:config, + group: group, + key: key, + value: value + ) + end + test "error if file with custom settings doesn't exist" do - Mix.Tasks.Pleroma.Config.migrate_to_db("config/not_existance_config_file.exs") + MixTask.migrate_to_db("config/non_existent_config_file.exs") + + msg = + "To migrate settings, you must define custom settings in config/non_existent_config_file.exs." - assert_receive {:mix_shell, :info, - [ - "To migrate settings, you must define custom settings in config/not_existance_config_file.exs." - ]}, - 15 + assert_receive {:mix_shell, :info, [^msg]}, 15 end describe "migrate_to_db/1" do setup do clear_config(:configurable_from_database, true) - initial = Application.get_env(:quack, :level) - on_exit(fn -> Application.put_env(:quack, :level, initial) end) + clear_config([:quack, :level]) end @tag capture_log: true test "config migration refused when deprecated settings are found" do clear_config([:media_proxy, :whitelist], ["domain_without_scheme.com"]) - assert Repo.all(ConfigDB) == [] + assert config_records() == [] - Mix.Tasks.Pleroma.Config.migrate_to_db("test/fixtures/config/temp.secret.exs") + MixTask.migrate_to_db("test/fixtures/config/temp.secret.exs") assert_received {:mix_shell, :error, [message]} @@ -53,9 +66,9 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do end test "filtered settings are migrated to db" do - assert Repo.all(ConfigDB) == [] + assert config_records() == [] - Mix.Tasks.Pleroma.Config.migrate_to_db("test/fixtures/config/temp.secret.exs") + MixTask.migrate_to_db("test/fixtures/config/temp.secret.exs") config1 = ConfigDB.get_by_params(%{group: ":pleroma", key: ":first_setting"}) config2 = ConfigDB.get_by_params(%{group: ":pleroma", key: ":second_setting"}) @@ -70,17 +83,17 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do end test "config table is truncated before migration" do - insert(:config, key: :first_setting, value: [key: "value", key2: ["Activity"]]) - assert Repo.aggregate(ConfigDB, :count, :id) == 1 + insert_config_record(:pleroma, :first_setting, key: "value", key2: ["Activity"]) + assert length(config_records()) == 1 - Mix.Tasks.Pleroma.Config.migrate_to_db("test/fixtures/config/temp.secret.exs") + MixTask.migrate_to_db("test/fixtures/config/temp.secret.exs") config = ConfigDB.get_by_params(%{group: ":pleroma", key: ":first_setting"}) assert config.value == [key: "value", key2: [Repo]] end end - describe "with deletion temp file" do + describe "with deletion of temp file" do setup do clear_config(:configurable_from_database, true) temp_file = "config/temp.exported_from_db.secret.exs" @@ -93,13 +106,13 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do end test "settings are migrated to file and deleted from db", %{temp_file: temp_file} do - insert(:config, key: :setting_first, value: [key: "value", key2: ["Activity"]]) - insert(:config, key: :setting_second, value: [key: "value2", key2: [Repo]]) - insert(:config, group: :quack, key: :level, value: :info) + insert_config_record(:pleroma, :setting_first, key: "value", key2: ["Activity"]) + insert_config_record(:pleroma, :setting_second, key: "value2", key2: [Repo]) + insert_config_record(:quack, :level, :info) - Mix.Tasks.Pleroma.Config.run(["migrate_from_db", "--env", "temp", "-d"]) + MixTask.run(["migrate_from_db", "--env", "temp", "-d"]) - assert Repo.all(ConfigDB) == [] + assert config_records() == [] file = File.read!(temp_file) assert file =~ "config :pleroma, :setting_first," @@ -169,9 +182,9 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do ] ) - Mix.Tasks.Pleroma.Config.run(["migrate_from_db", "--env", "temp", "-d"]) + MixTask.run(["migrate_from_db", "--env", "temp", "-d"]) - assert Repo.all(ConfigDB) == [] + assert config_records() == [] assert File.exists?(temp_file) {:ok, file} = File.read(temp_file) @@ -191,26 +204,16 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do setup do: clear_config(:configurable_from_database, true) test "dumping a specific group" do - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) + insert_config_record(:pleroma, :instance, name: "Pleroma Test") - insert(:config, - group: :web_push_encryption, - key: :vapid_details, - value: [ - subject: "mailto:administrator@example.com", - public_key: - "BOsPL-_KjNnjj_RMvLeR3dTOrcndi4TbMR0cu56gLGfGaT5m1gXxSfRHOcC4Dd78ycQL1gdhtx13qgKHmTM5xAI", - private_key: "Ism6FNdS31nLCA94EfVbJbDdJXCxAZ8cZiB1JQPN_t4" - ] + insert_config_record(:web_push_encryption, :vapid_details, + subject: "mailto:administrator@example.com", + public_key: + "BOsPL-_KjNnjj_RMvLeR3dTOrcndi4TbMR0cu56gLGfGaT5m1gXxSfRHOcC4Dd78ycQL1gdhtx13qgKHmTM5xAI", + private_key: "Ism6FNdS31nLCA94EfVbJbDdJXCxAZ8cZiB1JQPN_t4" ) - Mix.Tasks.Pleroma.Config.run(["dump", "pleroma"]) + MixTask.run(["dump", "pleroma"]) assert_receive {:mix_shell, :info, ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} @@ -225,23 +228,10 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do end test "dumping a specific key in a group" do - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) + insert_config_record(:pleroma, :instance, name: "Pleroma Test") + insert_config_record(:pleroma, Pleroma.Captcha, enabled: false) - insert(:config, - group: :pleroma, - key: Pleroma.Captcha, - value: [ - enabled: false - ] - ) - - Mix.Tasks.Pleroma.Config.run(["dump", "pleroma", "Pleroma.Captcha"]) + MixTask.run(["dump", "pleroma", "Pleroma.Captcha"]) refute_receive {:mix_shell, :info, ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} @@ -251,23 +241,10 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do end test "dumps all configuration successfully" do - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) + insert_config_record(:pleroma, :instance, name: "Pleroma Test") + insert_config_record(:pleroma, Pleroma.Captcha, enabled: false) - insert(:config, - group: :pleroma, - key: Pleroma.Captcha, - value: [ - enabled: false - ] - ) - - Mix.Tasks.Pleroma.Config.run(["dump"]) + MixTask.run(["dump"]) assert_receive {:mix_shell, :info, ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} @@ -281,115 +258,49 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do test "refuses to dump" do clear_config(:configurable_from_database, false) - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) + insert_config_record(:pleroma, :instance, name: "Pleroma Test") + + MixTask.run(["dump"]) - Mix.Tasks.Pleroma.Config.run(["dump"]) + msg = + "ConfigDB not enabled. Please check the value of :configurable_from_database in your configuration." - assert_receive {:mix_shell, :error, - [ - "ConfigDB not enabled. Please check the value of :configurable_from_database in your configuration." - ]} + assert_receive {:mix_shell, :error, [^msg]} end end describe "destructive operations" do setup do: clear_config(:configurable_from_database, true) - test "deletes group of settings" do - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) - - _config_before = Repo.all(ConfigDB) + setup do + insert_config_record(:pleroma, :instance, name: "Pleroma Test") + insert_config_record(:pleroma, Pleroma.Captcha, enabled: false) + insert_config_record(:pleroma2, :key2, z: 1) - assert config_before = [ - %Pleroma.ConfigDB{ - group: :pleroma, - key: :instance, - value: [name: "Pleroma Test"] - } - ] + assert length(config_records()) == 3 - Mix.Tasks.Pleroma.Config.run(["delete", "--force", "pleroma"]) + :ok + end - config_after = Repo.all(ConfigDB) + test "deletes group of settings" do + MixTask.run(["delete", "--force", "pleroma"]) - refute config_after == config_before + assert [%ConfigDB{group: :pleroma2, key: :key2}] = config_records() end test "deletes specified key" do - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) + MixTask.run(["delete", "--force", "pleroma", "Pleroma.Captcha"]) - insert(:config, - group: :pleroma, - key: Pleroma.Captcha, - value: [ - enabled: false - ] - ) - - _config_before = Repo.all(ConfigDB) - - assert config_before = [ - %Pleroma.ConfigDB{ - group: :pleroma, - key: :instance, - value: [name: "Pleroma Test"] - }, - %Pleroma.ConfigDB{ - group: :pleroma, - key: Pleroma.Captcha, - value: [enabled: false] - } - ] - - Mix.Tasks.Pleroma.Config.run(["delete", "--force", "pleroma", "Pleroma.Captcha"]) - - config_after = Repo.all(ConfigDB) - - refute config_after == config_before + assert [ + %ConfigDB{group: :pleroma, key: :instance}, + %ConfigDB{group: :pleroma2, key: :key2} + ] = config_records() end test "resets entire config" do - insert(:config, - group: :pleroma, - key: :instance, - value: [ - name: "Pleroma Test" - ] - ) - - _config_before = Repo.all(ConfigDB) - - assert config_before = [ - %Pleroma.ConfigDB{ - group: :pleroma, - key: :instance, - value: [name: "Pleroma Test"] - } - ] - - Mix.Tasks.Pleroma.Config.run(["reset", "--force"]) - - config_after = Repo.all(ConfigDB) + MixTask.run(["reset", "--force"]) - assert config_after == [] + assert config_records() == [] end end end -- cgit v1.2.3 From e3dd0d45b7f4c767ec826753f24c73fd6e07c12d Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 7 Dec 2020 11:21:06 -0600 Subject: Slip in a test to ensure we can use the atom syntax in mix task arguments --- test/mix/tasks/pleroma/config_test.exs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/config_test.exs b/test/mix/tasks/pleroma/config_test.exs index 1ea9f5790..0280d208d 100644 --- a/test/mix/tasks/pleroma/config_test.exs +++ b/test/mix/tasks/pleroma/config_test.exs @@ -225,6 +225,12 @@ defmodule Mix.Tasks.Pleroma.ConfigTest do "config :web_push_encryption, :vapid_details, [subject: \"mailto:administrator@example.com\", public_key: \"BOsPL-_KjNnjj_RMvLeR3dTOrcndi4TbMR0cu56gLGfGaT5m1gXxSfRHOcC4Dd78ycQL1gdhtx13qgKHmTM5xAI\", private_key: \"Ism6FNdS31nLCA94EfVbJbDdJXCxAZ8cZiB1JQPN_t4\"]\r\n\r\n" ] } + + # Ensure operations work when using atom syntax + MixTask.run(["dump", ":pleroma"]) + + assert_receive {:mix_shell, :info, + ["config :pleroma, :instance, [name: \"Pleroma Test\"]\r\n\r\n"]} end test "dumping a specific key in a group" do -- cgit v1.2.3 From cebe3c7deff87ba24f43efcf50499c45d3b3e3f9 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Sat, 12 Dec 2020 17:30:08 +0300 Subject: Fix for dropping posts/notifs in WS when mix task is executed - start oban in mix tasks with empty queues, plugins and crontab - fix for update_users_following_followers_counts - fix for removed logo.png - typo in resend confirmation emails mix task docs - fix for uploads mix task (start Majic.Pool) - fix for creating user mix task (start :fast_html app) --- test/mix/tasks/pleroma/database_test.exs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/database_test.exs b/test/mix/tasks/pleroma/database_test.exs index a4bd41922..cf28576b5 100644 --- a/test/mix/tasks/pleroma/database_test.exs +++ b/test/mix/tasks/pleroma/database_test.exs @@ -87,7 +87,8 @@ defmodule Mix.Tasks.Pleroma.DatabaseTest do assert user.follower_count == 3 - assert :ok == Mix.Tasks.Pleroma.Database.run(["update_users_following_followers_counts"]) + assert {:ok, :ok} == + Mix.Tasks.Pleroma.Database.run(["update_users_following_followers_counts"]) user = User.get_by_id(user.id) -- cgit v1.2.3 From b4b68b71fc88de7ee3387aab1071f2cea257e54d Mon Sep 17 00:00:00 2001 From: lain Date: Fri, 18 Dec 2020 13:18:17 +0100 Subject: Tests: Remove unneeded explicit cachex use. Only use cachex when we're actually testing it. --- test/mix/tasks/pleroma/relay_test.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/relay_test.exs b/test/mix/tasks/pleroma/relay_test.exs index cf48e7dda..b453ed1c6 100644 --- a/test/mix/tasks/pleroma/relay_test.exs +++ b/test/mix/tasks/pleroma/relay_test.exs @@ -100,7 +100,7 @@ defmodule Mix.Tasks.Pleroma.RelayTest do end) Pleroma.Repo.delete(user) - Cachex.clear(:user_cache) + User.invalidate_cache(user) Mix.Tasks.Pleroma.Relay.run(["unfollow", target_instance]) @@ -137,7 +137,7 @@ defmodule Mix.Tasks.Pleroma.RelayTest do end) Pleroma.Repo.delete(user) - Cachex.clear(:user_cache) + User.invalidate_cache(user) Mix.Tasks.Pleroma.Relay.run(["unfollow", target_instance, "--force"]) -- cgit v1.2.3 From 9ba60f70d2076017b610708691f9b88a025c6d97 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 21 Dec 2020 12:21:40 +0100 Subject: Tests: Make as many tests as possible async. In general, tests that match these criteria can be made async: - Doesn't use real Cachex. - Doesn't write to the Config / Application Environment. - Uses Mock. Using Mox is fine. - Uses the streamer. --- test/mix/tasks/pleroma/count_statuses_test.exs | 1 + test/mix/tasks/pleroma/database_test.exs | 2 +- test/mix/tasks/pleroma/ecto/rollback_test.exs | 2 +- test/mix/tasks/pleroma/instance_test.exs | 7 +++---- test/mix/tasks/pleroma/refresh_counter_cache_test.exs | 1 + 5 files changed, 7 insertions(+), 6 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/count_statuses_test.exs b/test/mix/tasks/pleroma/count_statuses_test.exs index c5cd16960..8fe3959ea 100644 --- a/test/mix/tasks/pleroma/count_statuses_test.exs +++ b/test/mix/tasks/pleroma/count_statuses_test.exs @@ -3,6 +3,7 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.CountStatusesTest do + # Uses log capture, has to stay synchronous use Pleroma.DataCase alias Pleroma.User diff --git a/test/mix/tasks/pleroma/database_test.exs b/test/mix/tasks/pleroma/database_test.exs index a4bd41922..4f54f13c0 100644 --- a/test/mix/tasks/pleroma/database_test.exs +++ b/test/mix/tasks/pleroma/database_test.exs @@ -3,7 +3,7 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.DatabaseTest do - use Pleroma.DataCase + use Pleroma.DataCase, async: true use Oban.Testing, repo: Pleroma.Repo alias Pleroma.Activity diff --git a/test/mix/tasks/pleroma/ecto/rollback_test.exs b/test/mix/tasks/pleroma/ecto/rollback_test.exs index 0236e35d5..9e39db8fa 100644 --- a/test/mix/tasks/pleroma/ecto/rollback_test.exs +++ b/test/mix/tasks/pleroma/ecto/rollback_test.exs @@ -3,7 +3,7 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.Ecto.RollbackTest do - use Pleroma.DataCase + use Pleroma.DataCase, async: true import ExUnit.CaptureLog require Logger diff --git a/test/mix/tasks/pleroma/instance_test.exs b/test/mix/tasks/pleroma/instance_test.exs index 6580fc932..7eaef75bf 100644 --- a/test/mix/tasks/pleroma/instance_test.exs +++ b/test/mix/tasks/pleroma/instance_test.exs @@ -3,7 +3,7 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.InstanceTest do - use ExUnit.Case + use Pleroma.DataCase, async: true setup do File.mkdir_p!(tmp_path()) @@ -15,15 +15,14 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do if File.exists?(static_dir) do File.rm_rf(Path.join(static_dir, "robots.txt")) end - - Pleroma.Config.put([:instance, :static_dir], static_dir) end) :ok end + @uuid Ecto.UUID.generate() defp tmp_path do - "/tmp/generated_files/" + "/tmp/generated_files/#{@uuid}/" end test "running gen" do diff --git a/test/mix/tasks/pleroma/refresh_counter_cache_test.exs b/test/mix/tasks/pleroma/refresh_counter_cache_test.exs index 6a1a9ac17..e79dc0632 100644 --- a/test/mix/tasks/pleroma/refresh_counter_cache_test.exs +++ b/test/mix/tasks/pleroma/refresh_counter_cache_test.exs @@ -3,6 +3,7 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.RefreshCounterCacheTest do + # Uses log capture, has to stay synchronous use Pleroma.DataCase alias Pleroma.Web.CommonAPI import ExUnit.CaptureIO, only: [capture_io: 1] -- cgit v1.2.3 From b17c36c45a68b37cc6947e527d06584dca657ee6 Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 21 Dec 2020 12:59:11 +0100 Subject: Tests: More test fixes. --- test/mix/tasks/pleroma/ecto/migrate_test.exs | 2 +- test/mix/tasks/pleroma/instance_test.exs | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/ecto/migrate_test.exs b/test/mix/tasks/pleroma/ecto/migrate_test.exs index 43df176a1..548357508 100644 --- a/test/mix/tasks/pleroma/ecto/migrate_test.exs +++ b/test/mix/tasks/pleroma/ecto/migrate_test.exs @@ -3,7 +3,7 @@ # SPDX-License-Identifier: AGPL-3.0-onl defmodule Mix.Tasks.Pleroma.Ecto.MigrateTest do - use Pleroma.DataCase, async: true + use Pleroma.DataCase import ExUnit.CaptureLog require Logger diff --git a/test/mix/tasks/pleroma/instance_test.exs b/test/mix/tasks/pleroma/instance_test.exs index 7eaef75bf..1d2dde108 100644 --- a/test/mix/tasks/pleroma/instance_test.exs +++ b/test/mix/tasks/pleroma/instance_test.exs @@ -3,7 +3,8 @@ # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.InstanceTest do - use Pleroma.DataCase, async: true + # Modifies the Application Environment, has to stay synchronous. + use Pleroma.DataCase setup do File.mkdir_p!(tmp_path()) @@ -17,6 +18,9 @@ defmodule Mix.Tasks.Pleroma.InstanceTest do end end) + # Is being modified by the mix task. + clear_config([:instance, :static_dir]) + :ok end -- cgit v1.2.3 From 538af14d527d34cadb2b8a576ef060f208747e38 Mon Sep 17 00:00:00 2001 From: Alexander Strizhakov Date: Tue, 22 Dec 2020 17:55:30 +0300 Subject: possibility to run rollback in test env --- test/mix/tasks/pleroma/ecto/rollback_test.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/ecto/rollback_test.exs b/test/mix/tasks/pleroma/ecto/rollback_test.exs index 0236e35d5..56059d899 100644 --- a/test/mix/tasks/pleroma/ecto/rollback_test.exs +++ b/test/mix/tasks/pleroma/ecto/rollback_test.exs @@ -12,7 +12,7 @@ defmodule Mix.Tasks.Pleroma.Ecto.RollbackTest do Logger.configure(level: :warn) assert capture_log(fn -> - Mix.Tasks.Pleroma.Ecto.Rollback.run() + Mix.Tasks.Pleroma.Ecto.Rollback.run(["--env", "test"]) end) =~ "[info] Rollback succesfully" Logger.configure(level: level) -- cgit v1.2.3 From e1e7e4d379a67779a799049728d143eee2b88a7e Mon Sep 17 00:00:00 2001 From: lain Date: Mon, 4 Jan 2021 13:38:31 +0100 Subject: Object: Rework how Object.normalize works Now it defaults to not fetching, and the option is named. --- test/mix/tasks/pleroma/user_test.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index de8ab27e5..9f898d8f3 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -114,7 +114,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do {:ok, post} = CommonAPI.post(user, %{status: "uguu"}) {:ok, post2} = CommonAPI.post(user2, %{status: "test"}) - obj = Object.normalize(post2) + obj = Object.normalize(post2, fetch: false) {:ok, like_object, meta} = Pleroma.Web.ActivityPub.Builder.like(user, obj) @@ -130,7 +130,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do clear_config([:instance, :federating], true) - object = Object.normalize(post) + object = Object.normalize(post, fetch: false) Object.prune(object) with_mock Pleroma.Web.Federator, -- cgit v1.2.3 From c4439c630f46153c9f118d7f7e752d880206d262 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Wed, 13 Jan 2021 07:49:20 +0100 Subject: Bump Copyright to 2021 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit grep -rl '# Copyright © .* Pleroma' * | xargs sed -i 's;Copyright © .* Pleroma .*;Copyright © 2017-2021 Pleroma Authors ;' --- test/mix/tasks/pleroma/app_test.exs | 2 +- test/mix/tasks/pleroma/config_test.exs | 2 +- test/mix/tasks/pleroma/count_statuses_test.exs | 2 +- test/mix/tasks/pleroma/database_test.exs | 2 +- test/mix/tasks/pleroma/digest_test.exs | 2 +- test/mix/tasks/pleroma/ecto/migrate_test.exs | 2 +- test/mix/tasks/pleroma/ecto/rollback_test.exs | 2 +- test/mix/tasks/pleroma/ecto_test.exs | 2 +- test/mix/tasks/pleroma/email_test.exs | 2 +- test/mix/tasks/pleroma/emoji_test.exs | 2 +- test/mix/tasks/pleroma/frontend_test.exs | 2 +- test/mix/tasks/pleroma/instance_test.exs | 2 +- test/mix/tasks/pleroma/refresh_counter_cache_test.exs | 2 +- test/mix/tasks/pleroma/relay_test.exs | 2 +- test/mix/tasks/pleroma/robots_txt_test.exs | 2 +- test/mix/tasks/pleroma/uploads_test.exs | 2 +- test/mix/tasks/pleroma/user_test.exs | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/app_test.exs b/test/mix/tasks/pleroma/app_test.exs index 71a84ac8e..9eabd32af 100644 --- a/test/mix/tasks/pleroma/app_test.exs +++ b/test/mix/tasks/pleroma/app_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.AppTest do diff --git a/test/mix/tasks/pleroma/config_test.exs b/test/mix/tasks/pleroma/config_test.exs index 0280d208d..21f8f2286 100644 --- a/test/mix/tasks/pleroma/config_test.exs +++ b/test/mix/tasks/pleroma/config_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.ConfigTest do diff --git a/test/mix/tasks/pleroma/count_statuses_test.exs b/test/mix/tasks/pleroma/count_statuses_test.exs index 8fe3959ea..80ec206b8 100644 --- a/test/mix/tasks/pleroma/count_statuses_test.exs +++ b/test/mix/tasks/pleroma/count_statuses_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.CountStatusesTest do diff --git a/test/mix/tasks/pleroma/database_test.exs b/test/mix/tasks/pleroma/database_test.exs index eefb12426..7a1a759da 100644 --- a/test/mix/tasks/pleroma/database_test.exs +++ b/test/mix/tasks/pleroma/database_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.DatabaseTest do diff --git a/test/mix/tasks/pleroma/digest_test.exs b/test/mix/tasks/pleroma/digest_test.exs index 69dccb745..4a9e461a9 100644 --- a/test/mix/tasks/pleroma/digest_test.exs +++ b/test/mix/tasks/pleroma/digest_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.DigestTest do diff --git a/test/mix/tasks/pleroma/ecto/migrate_test.exs b/test/mix/tasks/pleroma/ecto/migrate_test.exs index 548357508..5bdfd8f30 100644 --- a/test/mix/tasks/pleroma/ecto/migrate_test.exs +++ b/test/mix/tasks/pleroma/ecto/migrate_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-onl defmodule Mix.Tasks.Pleroma.Ecto.MigrateTest do diff --git a/test/mix/tasks/pleroma/ecto/rollback_test.exs b/test/mix/tasks/pleroma/ecto/rollback_test.exs index 9e39db8fa..a0751acb1 100644 --- a/test/mix/tasks/pleroma/ecto/rollback_test.exs +++ b/test/mix/tasks/pleroma/ecto/rollback_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.Ecto.RollbackTest do diff --git a/test/mix/tasks/pleroma/ecto_test.exs b/test/mix/tasks/pleroma/ecto_test.exs index 3a028df83..0164da5a8 100644 --- a/test/mix/tasks/pleroma/ecto_test.exs +++ b/test/mix/tasks/pleroma/ecto_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.EctoTest do diff --git a/test/mix/tasks/pleroma/email_test.exs b/test/mix/tasks/pleroma/email_test.exs index 9523aefd8..78cdf178b 100644 --- a/test/mix/tasks/pleroma/email_test.exs +++ b/test/mix/tasks/pleroma/email_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.EmailTest do diff --git a/test/mix/tasks/pleroma/emoji_test.exs b/test/mix/tasks/pleroma/emoji_test.exs index 0fb8603ac..bd20f285c 100644 --- a/test/mix/tasks/pleroma/emoji_test.exs +++ b/test/mix/tasks/pleroma/emoji_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.EmojiTest do diff --git a/test/mix/tasks/pleroma/frontend_test.exs b/test/mix/tasks/pleroma/frontend_test.exs index 6f9ec14cd..aa4b25ebb 100644 --- a/test/mix/tasks/pleroma/frontend_test.exs +++ b/test/mix/tasks/pleroma/frontend_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.FrontendTest do diff --git a/test/mix/tasks/pleroma/instance_test.exs b/test/mix/tasks/pleroma/instance_test.exs index 1d2dde108..5a5a68053 100644 --- a/test/mix/tasks/pleroma/instance_test.exs +++ b/test/mix/tasks/pleroma/instance_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.InstanceTest do diff --git a/test/mix/tasks/pleroma/refresh_counter_cache_test.exs b/test/mix/tasks/pleroma/refresh_counter_cache_test.exs index e79dc0632..fe9e5cfeb 100644 --- a/test/mix/tasks/pleroma/refresh_counter_cache_test.exs +++ b/test/mix/tasks/pleroma/refresh_counter_cache_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.RefreshCounterCacheTest do diff --git a/test/mix/tasks/pleroma/relay_test.exs b/test/mix/tasks/pleroma/relay_test.exs index b453ed1c6..db75b3630 100644 --- a/test/mix/tasks/pleroma/relay_test.exs +++ b/test/mix/tasks/pleroma/relay_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.RelayTest do diff --git a/test/mix/tasks/pleroma/robots_txt_test.exs b/test/mix/tasks/pleroma/robots_txt_test.exs index 7040a0e4e..4b369d83c 100644 --- a/test/mix/tasks/pleroma/robots_txt_test.exs +++ b/test/mix/tasks/pleroma/robots_txt_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.RobotsTxtTest do diff --git a/test/mix/tasks/pleroma/uploads_test.exs b/test/mix/tasks/pleroma/uploads_test.exs index d69e149a8..a7d15e0fa 100644 --- a/test/mix/tasks/pleroma/uploads_test.exs +++ b/test/mix/tasks/pleroma/uploads_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.UploadsTest do diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index 9f898d8f3..7c68b8a37 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2020 Pleroma Authors +# Copyright © 2017-2021 Pleroma Authors # SPDX-License-Identifier: AGPL-3.0-only defmodule Mix.Tasks.Pleroma.UserTest do -- cgit v1.2.3 From 860b5c78048ede3597a02b6029634d74fd520204 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 12 Oct 2020 17:42:27 -0500 Subject: Change user.deactivated field to user.is_active --- test/mix/tasks/pleroma/email_test.exs | 12 ++++++------ test/mix/tasks/pleroma/user_test.exs | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/email_test.exs b/test/mix/tasks/pleroma/email_test.exs index 78cdf178b..f8f941b59 100644 --- a/test/mix/tasks/pleroma/email_test.exs +++ b/test/mix/tasks/pleroma/email_test.exs @@ -63,7 +63,7 @@ defmodule Mix.Tasks.Pleroma.EmailTest do insert(:user, %{ confirmation_pending: true, confirmation_token: "mytoken", - deactivated: false, + is_active: true, email: "local1@pleroma.com", local: true }) @@ -72,7 +72,7 @@ defmodule Mix.Tasks.Pleroma.EmailTest do insert(:user, %{ confirmation_pending: true, confirmation_token: "mytoken", - deactivated: false, + is_active: true, email: "local2@pleroma.com", local: true }) @@ -90,28 +90,28 @@ defmodule Mix.Tasks.Pleroma.EmailTest do insert(:user, %{ confirmation_pending: false, confirmation_token: "mytoken", - deactivated: false, + is_active: true, email: "confirmed@pleroma.com", local: true }) # remote user insert(:user, %{ - deactivated: false, + is_active: true, email: "remote@not-pleroma.com", local: false }) # deactivated user = insert(:user, %{ - deactivated: true, + is_active: false, email: "deactivated@pleroma.com", local: false }) # invisible user insert(:user, %{ - deactivated: false, + is_active: true, email: "invisible@pleroma.com", local: true, invisible: true diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index 7c68b8a37..fdf2ceec4 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -102,7 +102,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert_received {:mix_shell, :info, [message]} assert message =~ " deleted" - assert %{deactivated: true} = User.get_by_nickname(user.nickname) + assert %{is_active: false} = User.get_by_nickname(user.nickname) assert called(Pleroma.Web.Federator.publish(:_)) end @@ -140,7 +140,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert_received {:mix_shell, :info, [message]} assert message =~ " deleted" - assert %{deactivated: true} = User.get_by_nickname(user.nickname) + assert %{is_active: false} = User.get_by_nickname(user.nickname) assert called(Pleroma.Web.Federator.publish(:_)) refute Pleroma.Repo.get(Pleroma.Activity, like_activity.id) @@ -167,11 +167,11 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert message =~ " deactivated" user = User.get_cached_by_nickname(user.nickname) - assert user.deactivated + refute user.is_active end test "user is activated" do - user = insert(:user, deactivated: true) + user = insert(:user, is_active: false) Mix.Tasks.Pleroma.User.run(["toggle_activated", user.nickname]) @@ -179,7 +179,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert message =~ " activated" user = User.get_cached_by_nickname(user.nickname) - refute user.deactivated + assert user.is_active end test "no user to toggle" do @@ -210,7 +210,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do user = User.get_cached_by_nickname(user.nickname) assert Enum.empty?(Enum.filter(User.get_friends(user), & &1.local)) - assert user.deactivated + refute user.is_active end test "no user to deactivate" do -- cgit v1.2.3 From 75166607532723055ae24d5c9ac0e7f03160c913 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 13 Oct 2020 16:44:27 -0500 Subject: Remove toggle_activation --- test/mix/tasks/pleroma/user_test.exs | 33 --------------------------------- 1 file changed, 33 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index fdf2ceec4..098052fe0 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -157,39 +157,6 @@ defmodule Mix.Tasks.Pleroma.UserTest do end end - describe "running toggle_activated" do - test "user is deactivated" do - user = insert(:user) - - Mix.Tasks.Pleroma.User.run(["toggle_activated", user.nickname]) - - assert_received {:mix_shell, :info, [message]} - assert message =~ " deactivated" - - user = User.get_cached_by_nickname(user.nickname) - refute user.is_active - end - - test "user is activated" do - user = insert(:user, is_active: false) - - Mix.Tasks.Pleroma.User.run(["toggle_activated", user.nickname]) - - assert_received {:mix_shell, :info, [message]} - assert message =~ " activated" - - user = User.get_cached_by_nickname(user.nickname) - assert user.is_active - end - - test "no user to toggle" do - Mix.Tasks.Pleroma.User.run(["toggle_activated", "nonexistent"]) - - assert_received {:mix_shell, :error, [message]} - assert message =~ "No user" - end - end - describe "running deactivate" do test "user is unsubscribed" do followed = insert(:user) -- cgit v1.2.3 From d36182c08892723b53e801a564531ee7a463052f Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 13 Oct 2020 14:29:34 -0500 Subject: Change user.confirmation_pending field to user.is_confirmed --- test/mix/tasks/pleroma/email_test.exs | 6 ++--- test/mix/tasks/pleroma/user_test.exs | 50 +++++++++++++++++------------------ 2 files changed, 28 insertions(+), 28 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/email_test.exs b/test/mix/tasks/pleroma/email_test.exs index 78cdf178b..ef26142c4 100644 --- a/test/mix/tasks/pleroma/email_test.exs +++ b/test/mix/tasks/pleroma/email_test.exs @@ -61,7 +61,7 @@ defmodule Mix.Tasks.Pleroma.EmailTest do test "Sends confirmation emails" do local_user1 = insert(:user, %{ - confirmation_pending: true, + is_confirmed: false, confirmation_token: "mytoken", deactivated: false, email: "local1@pleroma.com", @@ -70,7 +70,7 @@ defmodule Mix.Tasks.Pleroma.EmailTest do local_user2 = insert(:user, %{ - confirmation_pending: true, + is_confirmed: false, confirmation_token: "mytoken", deactivated: false, email: "local2@pleroma.com", @@ -88,7 +88,7 @@ defmodule Mix.Tasks.Pleroma.EmailTest do test "Does not send confirmation email to inappropriate users" do # confirmed user insert(:user, %{ - confirmation_pending: false, + is_confirmed: true, confirmation_token: "mytoken", deactivated: false, email: "confirmed@pleroma.com", diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index 7c68b8a37..a620e5960 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -238,7 +238,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert message =~ ~r/Admin status .* true/ assert_received {:mix_shell, :info, [message]} - assert message =~ ~r/Confirmation pending .* false/ + assert message =~ ~r/Confirmation status.* true/ assert_received {:mix_shell, :info, [message]} assert message =~ ~r/Locked status .* true/ @@ -250,7 +250,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert user.is_moderator assert user.is_locked assert user.is_admin - refute user.confirmation_pending + assert user.is_confirmed end test "All statuses unset" do @@ -259,7 +259,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do is_locked: true, is_moderator: true, is_admin: true, - confirmation_pending: true + is_confirmed: false ) Mix.Tasks.Pleroma.User.run([ @@ -275,7 +275,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert message =~ ~r/Admin status .* false/ assert_received {:mix_shell, :info, [message]} - assert message =~ ~r/Confirmation pending .* true/ + assert message =~ ~r/Confirmation status.* false/ assert_received {:mix_shell, :info, [message]} assert message =~ ~r/Locked status .* false/ @@ -287,7 +287,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do refute user.is_moderator refute user.is_locked refute user.is_admin - assert user.confirmation_pending + refute user.is_confirmed end test "no user to set status" do @@ -464,27 +464,27 @@ defmodule Mix.Tasks.Pleroma.UserTest do describe "running confirm" do test "user is confirmed" do - %{id: id, nickname: nickname} = insert(:user, confirmation_pending: false) + %{id: id, nickname: nickname} = insert(:user, is_confirmed: true) assert :ok = Mix.Tasks.Pleroma.User.run(["confirm", nickname]) assert_received {:mix_shell, :info, [message]} assert message == "#{nickname} doesn't need confirmation." user = Repo.get(User, id) - refute user.confirmation_pending + assert user.is_confirmed refute user.confirmation_token end test "user is not confirmed" do %{id: id, nickname: nickname} = - insert(:user, confirmation_pending: true, confirmation_token: "some token") + insert(:user, is_confirmed: false, confirmation_token: "some token") assert :ok = Mix.Tasks.Pleroma.User.run(["confirm", nickname]) assert_received {:mix_shell, :info, [message]} assert message == "#{nickname} doesn't need confirmation." user = Repo.get(User, id) - refute user.confirmation_pending + assert user.is_confirmed refute user.confirmation_token end @@ -579,29 +579,29 @@ defmodule Mix.Tasks.Pleroma.UserTest do describe "bulk confirm and unconfirm" do test "confirm all" do - user1 = insert(:user, confirmation_pending: true) - user2 = insert(:user, confirmation_pending: true) + user1 = insert(:user, is_confirmed: false) + user2 = insert(:user, is_confirmed: false) - assert user1.confirmation_pending - assert user2.confirmation_pending + refute user1.is_confirmed + refute user2.is_confirmed Mix.Tasks.Pleroma.User.run(["confirm_all"]) user1 = User.get_cached_by_nickname(user1.nickname) user2 = User.get_cached_by_nickname(user2.nickname) - refute user1.confirmation_pending - refute user2.confirmation_pending + assert user1.is_confirmed + assert user2.is_confirmed end test "unconfirm all" do - user1 = insert(:user, confirmation_pending: false) - user2 = insert(:user, confirmation_pending: false) - admin = insert(:user, is_admin: true, confirmation_pending: false) - mod = insert(:user, is_moderator: true, confirmation_pending: false) + user1 = insert(:user, is_confirmed: true) + user2 = insert(:user, is_confirmed: true) + admin = insert(:user, is_admin: true, is_confirmed: true) + mod = insert(:user, is_moderator: true, is_confirmed: true) - refute user1.confirmation_pending - refute user2.confirmation_pending + assert user1.is_confirmed + assert user2.is_confirmed Mix.Tasks.Pleroma.User.run(["unconfirm_all"]) @@ -610,10 +610,10 @@ defmodule Mix.Tasks.Pleroma.UserTest do admin = User.get_cached_by_nickname(admin.nickname) mod = User.get_cached_by_nickname(mod.nickname) - assert user1.confirmation_pending - assert user2.confirmation_pending - refute admin.confirmation_pending - refute mod.confirmation_pending + refute user1.is_confirmed + refute user2.is_confirmed + assert admin.is_confirmed + assert mod.is_confirmed end end end -- cgit v1.2.3 From 2c0fe2ea9e32d01caa1bc31093a7ddfdc2793659 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 13 Oct 2020 16:07:36 -0500 Subject: Remove toggle_confirmation; require explicit state change Also cosmetic changes to make the code clearer --- test/mix/tasks/pleroma/user_test.exs | 7 ------- 1 file changed, 7 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index a620e5960..2b5232283 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -436,13 +436,6 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert_received {:mix_shell, :info, [message]} assert message =~ "Invite for token #{invite.token} was revoked." end - - test "it prints an error message when invite is not exist" do - Mix.Tasks.Pleroma.User.run(["revoke_invite", "foo"]) - - assert_received {:mix_shell, :error, [message]} - assert message =~ "No invite found" - end end describe "running delete_activities" do -- cgit v1.2.3 From 5e8da27e14243ea40dd7dbf14138df598615c95b Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 25 Jan 2021 10:36:51 -0600 Subject: Provide pleroma.user mix task for both activate and deactivate --- test/mix/tasks/pleroma/user_test.exs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index fddef1d28..768beb0a6 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -456,6 +456,37 @@ defmodule Mix.Tasks.Pleroma.UserTest do end end + describe "running activate" do + test "user is activated" do + %{id: id, nickname: nickname} = insert(:user, is_active: true) + + assert :ok = Mix.Tasks.Pleroma.User.run(["activate", nickname]) + assert_received {:mix_shell, :info, [message]} + assert message == "User #{nickname} already activated" + + user = Repo.get(User, id) + assert user.is_active + end + + test "user is not activated" do + %{id: id, nickname: nickname} = insert(:user, is_active: false) + + assert :ok = Mix.Tasks.Pleroma.User.run(["activate", nickname]) + assert_received {:mix_shell, :info, [message]} + assert message == "Successfully activated #{nickname}" + + user = Repo.get(User, id) + assert user.is_active + end + + test "it prints an error message when user is not exist" do + Mix.Tasks.Pleroma.User.run(["activate", "foo"]) + + assert_received {:mix_shell, :error, [message]} + assert message =~ "No user" + end + end + describe "search" do test "it returns users matching" do user = insert(:user) -- cgit v1.2.3 From f868dcf3acc0fd687a4a74e74f6e150ef565f787 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Mon, 25 Jan 2021 10:48:28 -0600 Subject: Ensure consistent behavior between pleroma.user activate/deactivate mix tasks --- test/mix/tasks/pleroma/user_test.exs | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/user_test.exs b/test/mix/tasks/pleroma/user_test.exs index 768beb0a6..a2178bbd1 100644 --- a/test/mix/tasks/pleroma/user_test.exs +++ b/test/mix/tasks/pleroma/user_test.exs @@ -158,7 +158,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do end describe "running deactivate" do - test "user is unsubscribed" do + test "active user is deactivated and unsubscribed" do followed = insert(:user) remote_followed = insert(:user, local: false) user = insert(:user) @@ -168,18 +168,28 @@ defmodule Mix.Tasks.Pleroma.UserTest do Mix.Tasks.Pleroma.User.run(["deactivate", user.nickname]) - assert_received {:mix_shell, :info, [message]} - assert message =~ "Deactivating" - # Note that the task has delay :timer.sleep(500) assert_received {:mix_shell, :info, [message]} - assert message =~ "Successfully unsubscribed" + + assert message == + "Successfully deactivated #{user.nickname} and unsubscribed all local followers" user = User.get_cached_by_nickname(user.nickname) assert Enum.empty?(Enum.filter(User.get_friends(user), & &1.local)) refute user.is_active end + test "user is deactivated" do + %{id: id, nickname: nickname} = insert(:user, is_active: false) + + assert :ok = Mix.Tasks.Pleroma.User.run(["deactivate", nickname]) + assert_received {:mix_shell, :info, [message]} + assert message == "User #{nickname} already deactivated" + + user = Repo.get(User, id) + refute user.is_active + end + test "no user to deactivate" do Mix.Tasks.Pleroma.User.run(["deactivate", "nonexistent"]) @@ -479,7 +489,7 @@ defmodule Mix.Tasks.Pleroma.UserTest do assert user.is_active end - test "it prints an error message when user is not exist" do + test "no user to activate" do Mix.Tasks.Pleroma.User.run(["activate", "foo"]) assert_received {:mix_shell, :error, [message]} -- cgit v1.2.3 From e854c35e652ce51821116cc7032099cd5534f7a6 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Tue, 26 Jan 2021 11:58:43 -0600 Subject: Convert tests to all use clear_config instead of Pleroma.Config.put --- test/mix/tasks/pleroma/robots_txt_test.exs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'test/mix/tasks') diff --git a/test/mix/tasks/pleroma/robots_txt_test.exs b/test/mix/tasks/pleroma/robots_txt_test.exs index 4b369d83c..028aa4ccc 100644 --- a/test/mix/tasks/pleroma/robots_txt_test.exs +++ b/test/mix/tasks/pleroma/robots_txt_test.exs @@ -12,7 +12,7 @@ defmodule Mix.Tasks.Pleroma.RobotsTxtTest do test "creates new dir" do path = "test/fixtures/new_dir/" file_path = path <> "robots.txt" - Pleroma.Config.put([:instance, :static_dir], path) + clear_config([:instance, :static_dir], path) on_exit(fn -> {:ok, ["test/fixtures/new_dir/", "test/fixtures/new_dir/robots.txt"]} = File.rm_rf(path) @@ -29,7 +29,7 @@ defmodule Mix.Tasks.Pleroma.RobotsTxtTest do test "to existance folder" do path = "test/fixtures/" file_path = path <> "robots.txt" - Pleroma.Config.put([:instance, :static_dir], path) + clear_config([:instance, :static_dir], path) on_exit(fn -> :ok = File.rm(file_path) -- cgit v1.2.3