Merge branch 'develop' into refactor/deactivated_user_field
authorMark Felder <feld@feld.me>
Mon, 25 Jan 2021 15:45:06 +0000 (09:45 -0600)
committerMark Felder <feld@feld.me>
Mon, 25 Jan 2021 15:45:06 +0000 (09:45 -0600)
43 files changed:
CHANGELOG.md
docs/administration/CLI_tasks/user.md
lib/mix/tasks/pleroma/email.ex
lib/mix/tasks/pleroma/user.ex
lib/pleroma/following_relationship.ex
lib/pleroma/notification.ex
lib/pleroma/stats.ex
lib/pleroma/user.ex
lib/pleroma/user/query.ex
lib/pleroma/web/activity_pub/activity_pub.ex
lib/pleroma/web/activity_pub/object_validators/common_validations.ex
lib/pleroma/web/admin_api/controllers/user_controller.ex
lib/pleroma/web/admin_api/views/account_view.ex
lib/pleroma/web/api_spec/operations/admin/report_operation.ex
lib/pleroma/web/api_spec/operations/admin/status_operation.ex
lib/pleroma/web/mastodon_api/views/account_view.ex
lib/pleroma/web/mongoose_im/mongoose_im_controller.ex
lib/pleroma/web/pleroma_api/views/emoji_reaction_view.ex
lib/pleroma/web/twitter_api/controllers/util_controller.ex
lib/pleroma/web/twitter_api/twitter_api.ex
lib/pleroma/workers/background_worker.ex
priv/repo/migrations/20201012173004_refactor_deactivated_user_field.exs [new file with mode: 0644]
test/mix/tasks/pleroma/email_test.exs
test/mix/tasks/pleroma/user_test.exs
test/pleroma/user_test.exs
test/pleroma/web/activity_pub/side_effects/delete_test.exs
test/pleroma/web/activity_pub/transmogrifier/chat_message_test.exs
test/pleroma/web/activity_pub/transmogrifier/delete_handling_test.exs
test/pleroma/web/activity_pub/transmogrifier/note_handling_test.exs
test/pleroma/web/admin_api/controllers/status_controller_test.exs
test/pleroma/web/admin_api/controllers/user_controller_test.exs
test/pleroma/web/admin_api/search_test.exs
test/pleroma/web/common_api_test.exs
test/pleroma/web/mastodon_api/controllers/account_controller_test.exs
test/pleroma/web/mastodon_api/controllers/auth_controller_test.exs
test/pleroma/web/mastodon_api/controllers/instance_controller_test.exs
test/pleroma/web/mastodon_api/mastodon_api_test.exs
test/pleroma/web/mastodon_api/views/account_view_test.exs
test/pleroma/web/mongoose_im_controller_test.exs
test/pleroma/web/o_auth/o_auth_controller_test.exs
test/pleroma/web/plugs/user_enabled_plug_test.exs
test/pleroma/web/twitter_api/remote_follow_controller_test.exs
test/pleroma/web/twitter_api/util_controller_test.exs

index 2727d1f2cd0bb7e7036799df5a3476f319eba2c8..ea70b8df592ba5653e95b181a4430b51a93025d9 100644 (file)
@@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 - **Breaking:** Changed `mix pleroma.user toggle_confirmed` to `mix pleroma.user confirm`
 - **Breaking**: AdminAPI changed User field `confirmation_pending` to `is_confirmed`
 - **Breaking**: AdminAPI changed User field `approval_pending` to `is_approved`
+- **Breaking**: AdminAPI changed User field `deactivated` to `is_active`
 - Polls now always return a `voters_count`, even if they are single-choice.
 - Admin Emails: The ap id is used as the user link in emails now.
 - Improved registration workflow for email confirmation and account approval modes.
index b57dce0e7f07e2f5751f7785ec3e33fc21a29d8f..9fde9631e06d565a23b4a44ec402362a6bb13dfd 100644 (file)
     ```
 
 
-## Deactivate or activate a user
-
-=== "OTP"
-
-    ```sh
-     ./bin/pleroma_ctl user toggle_activated <nickname>
-    ```
-
-=== "From Source"
-
-    ```sh
-    mix pleroma.user toggle_activated <nickname>
-    ```
-
-
 ## Deactivate a user and unsubscribes local users from the user
 
 === "OTP"
index 6b7555fb81630dea18adaf7d786099ae3f8956ab..e05c207e50c8e15494f15c672fa5b5fc4981efb1 100644 (file)
@@ -33,7 +33,7 @@ defmodule Mix.Tasks.Pleroma.Email do
 
     Pleroma.User.Query.build(%{
       local: true,
-      deactivated: false,
+      is_active: true,
       is_confirmed: false,
       invisible: false
     })
index e87f1c271d157e0051be05dd98d75e970694dfba..1f7eb9375f19e39ab11918de3c974e59216f1f05 100644 (file)
@@ -107,21 +107,6 @@ defmodule Mix.Tasks.Pleroma.User do
     end
   end
 
-  def run(["toggle_activated", nickname]) do
-    start_pleroma()
-
-    with %User{} = user <- User.get_cached_by_nickname(nickname) do
-      {:ok, user} = User.deactivate(user, !user.deactivated)
-
-      shell_info(
-        "Activation status of #{nickname}: #{if(user.deactivated, do: "de", else: "")}activated"
-      )
-    else
-      _ ->
-        shell_error("No user #{nickname}")
-    end
-  end
-
   def run(["reset_password", nickname]) do
     start_pleroma()
 
@@ -161,7 +146,7 @@ defmodule Mix.Tasks.Pleroma.User do
 
     with %User{} = user <- User.get_cached_by_nickname(nickname) do
       shell_info("Deactivating #{user.nickname}")
-      User.deactivate(user)
+      User.set_activation(user, false)
       :timer.sleep(500)
 
       user = User.get_cached_by_id(user.id)
@@ -365,7 +350,7 @@ defmodule Mix.Tasks.Pleroma.User do
 
     Pleroma.User.Query.build(%{
       local: true,
-      deactivated: false,
+      is_active: true,
       is_moderator: false,
       is_admin: false,
       invisible: false
@@ -383,7 +368,7 @@ defmodule Mix.Tasks.Pleroma.User do
 
     Pleroma.User.Query.build(%{
       local: true,
-      deactivated: false,
+      is_active: true,
       is_moderator: false,
       is_admin: false,
       invisible: false
@@ -420,7 +405,7 @@ defmodule Mix.Tasks.Pleroma.User do
         shell_info(
           "#{user.nickname} moderator: #{user.is_moderator}, admin: #{user.is_admin}, locked: #{
             user.is_locked
-          }, deactivated: #{user.deactivated}"
+          }, is_active: #{user.is_active}"
         )
       end)
     end)
index 147cb9df0e82574c6f76f71e282ae7ac3882357b..a0c7e6e393a3ca5574832716738cbc1d480d3095 100644 (file)
@@ -152,7 +152,7 @@ defmodule Pleroma.FollowingRelationship do
     |> join(:inner, [r], f in assoc(r, :follower))
     |> where([r], r.state == ^:follow_pending)
     |> where([r], r.following_id == ^id)
-    |> where([r, f], f.deactivated != true)
+    |> where([r, f], f.is_active == true)
     |> select([r, f], f)
     |> Repo.all()
   end
index 7a69dacde4aa9b684b1e6110eb6d0584b850182d..55b51321287426fd00abb22e0e8185b59066b6ee 100644 (file)
@@ -115,7 +115,7 @@ defmodule Pleroma.Notification do
     |> where(
       [n, a],
       fragment(
-        "? not in (SELECT ap_id FROM users WHERE deactivated = 'true')",
+        "? not in (SELECT ap_id FROM users WHERE is_active = 'false')",
         a.actor
       )
     )
index 77505bb042ca4aebc7cba21d86ddf1d28d27bf1c..b096a9b1e8ea43a0a3fa958eafcaf2a9262829eb 100644 (file)
@@ -75,7 +75,7 @@ defmodule Pleroma.Stats do
 
     users_query =
       from(u in User,
-        where: u.deactivated != true,
+        where: u.is_active == true,
         where: u.local == true,
         where: not is_nil(u.nickname),
         where: not u.invisible
index 2aeacf8160ade0629dde2e3feb69de80b6a43361..e422b59f18c8d0d63148f0d4007b46d6c721d453 100644 (file)
@@ -117,7 +117,7 @@ defmodule Pleroma.User do
     field(:confirmation_token, :string, default: nil)
     field(:default_scope, :string, default: "public")
     field(:domain_blocks, {:array, :string}, default: [])
-    field(:deactivated, :boolean, default: false)
+    field(:is_active, :boolean, default: true)
     field(:no_rich_text, :boolean, default: false)
     field(:ap_enabled, :boolean, default: false)
     field(:is_moderator, :boolean, default: false)
@@ -217,7 +217,8 @@ defmodule Pleroma.User do
       target_users_query = assoc(user, unquote(outgoing_relation_target))
 
       if restrict_deactivated? do
-        restrict_deactivated(target_users_query)
+        target_users_query
+        |> User.Query.build(%{deactivated: false})
       else
         target_users_query
       end
@@ -286,7 +287,7 @@ defmodule Pleroma.User do
 
   @doc "Returns status account"
   @spec account_status(User.t()) :: account_status()
-  def account_status(%User{deactivated: true}), do: :deactivated
+  def account_status(%User{is_active: false}), do: :deactivated
   def account_status(%User{password_reset_pending: true}), do: :password_reset_pending
   def account_status(%User{local: true, is_approved: false}), do: :approval_pending
   def account_status(%User{local: true, is_confirmed: false}), do: :confirmation_pending
@@ -378,11 +379,6 @@ defmodule Pleroma.User do
   def ap_following(%User{following_address: fa}) when is_binary(fa), do: fa
   def ap_following(%User{} = user), do: "#{ap_id(user)}/following"
 
-  @spec restrict_deactivated(Ecto.Query.t()) :: Ecto.Query.t()
-  def restrict_deactivated(query) do
-    from(u in query, where: u.deactivated != ^true)
-  end
-
   defp truncate_fields_param(params) do
     if Map.has_key?(params, :fields) do
       Map.put(params, :fields, Enum.map(params[:fields], &truncate_field/1))
@@ -777,7 +773,7 @@ defmodule Pleroma.User do
     candidates = Config.get([:instance, :autofollowed_nicknames])
 
     autofollowed_users =
-      User.Query.build(%{nickname: candidates, local: true, deactivated: false})
+      User.Query.build(%{nickname: candidates, local: true, is_active: true})
       |> Repo.all()
 
     follow_all(user, autofollowed_users)
@@ -938,7 +934,7 @@ defmodule Pleroma.User do
     deny_follow_blocked = Config.get([:user, :deny_follow_blocked])
 
     cond do
-      followed.deactivated ->
+      not followed.is_active ->
         {:error, "Could not follow user: #{followed.nickname} is deactivated."}
 
       deny_follow_blocked and blocks?(followed, follower) ->
@@ -1173,7 +1169,7 @@ defmodule Pleroma.User do
 
   @spec get_followers_query(User.t(), pos_integer() | nil) :: Ecto.Query.t()
   def get_followers_query(%User{} = user, nil) do
-    User.Query.build(%{followers: user, deactivated: false})
+    User.Query.build(%{followers: user, is_active: true})
   end
 
   def get_followers_query(%User{} = user, page) do
@@ -1349,7 +1345,7 @@ defmodule Pleroma.User do
   @spec get_users_from_set([String.t()], keyword()) :: [User.t()]
   def get_users_from_set(ap_ids, opts \\ []) do
     local_only = Keyword.get(opts, :local_only, true)
-    criteria = %{ap_id: ap_ids, deactivated: false}
+    criteria = %{ap_id: ap_ids, is_active: true}
     criteria = if local_only, do: Map.put(criteria, :local, true), else: criteria
 
     User.Query.build(criteria)
@@ -1360,7 +1356,7 @@ defmodule Pleroma.User do
   def get_recipients_from_activity(%Activity{recipients: to, actor: actor}) do
     to = [actor | to]
 
-    query = User.Query.build(%{recipients_from_activity: to, local: true, deactivated: false})
+    query = User.Query.build(%{recipients_from_activity: to, local: true, is_active: true})
 
     query
     |> Repo.all()
@@ -1579,19 +1575,19 @@ defmodule Pleroma.User do
 
   defp maybe_filter_on_ap_id(query, _ap_ids), do: query
 
-  def deactivate_async(user, status \\ true) do
-    BackgroundWorker.enqueue("deactivate_user", %{"user_id" => user.id, "status" => status})
+  def set_activation_async(user, status \\ true) do
+    BackgroundWorker.enqueue("user_activation", %{"user_id" => user.id, "status" => status})
   end
 
-  def deactivate(user, status \\ true)
-
-  def deactivate(users, status) when is_list(users) do
+  @spec set_activation([User.t()], boolean()) :: {:ok, User.t()} | {:error, Changeset.t()}
+  def set_activation(users, status) when is_list(users) do
     Repo.transaction(fn ->
-      for user <- users, do: deactivate(user, status)
+      for user <- users, do: set_activation(user, status)
     end)
   end
 
-  def deactivate(%User{} = user, status) do
+  @spec set_activation(User.t(), boolean()) :: {:ok, User.t()} | {:error, Changeset.t()}
+  def set_activation(%User{} = user, status) do
     with {:ok, user} <- set_activation_status(user, status) do
       user
       |> get_followers()
@@ -1680,7 +1676,7 @@ defmodule Pleroma.User do
       registration_reason: nil,
       confirmation_token: nil,
       domain_blocks: [],
-      deactivated: true,
+      is_active: false,
       ap_enabled: false,
       is_moderator: false,
       is_admin: false,
@@ -1754,7 +1750,7 @@ defmodule Pleroma.User do
     delete_or_deactivate(user)
   end
 
-  def perform(:deactivate_async, user, status), do: deactivate(user, status)
+  def perform(:set_activation_async, user, status), do: set_activation(user, status)
 
   @spec external_users_query() :: Ecto.Query.t()
   def external_users_query do
@@ -2048,7 +2044,7 @@ defmodule Pleroma.User do
 
   @spec all_superusers() :: [User.t()]
   def all_superusers do
-    User.Query.build(%{super_users: true, local: true, deactivated: false})
+    User.Query.build(%{super_users: true, local: true, is_active: true})
     |> Repo.all()
   end
 
@@ -2089,7 +2085,7 @@ defmodule Pleroma.User do
       left_join: a in Pleroma.Activity,
       on: u.ap_id == a.actor,
       where: not is_nil(u.nickname),
-      where: u.deactivated != ^true,
+      where: u.is_active == ^true,
       where: u.id not in ^has_read_notifications,
       group_by: u.id,
       having:
@@ -2210,9 +2206,9 @@ defmodule Pleroma.User do
   end
 
   # Internal function; public one is `deactivate/2`
-  defp set_activation_status(user, deactivated) do
+  defp set_activation_status(user, status) do
     user
-    |> cast(%{deactivated: deactivated}, [:deactivated])
+    |> cast(%{is_active: status}, [:is_active])
     |> update_and_set_cache()
   end
 
index 4076925aaa1853a73ee5ce1680c1c1a8e3595786..fa46545dad167478f6705394e00145adeaf35fb8 100644 (file)
@@ -137,7 +137,7 @@ defmodule Pleroma.User.Query do
   defp compose_query({:external, _}, query), do: location_query(query, false)
 
   defp compose_query({:active, _}, query) do
-    User.restrict_deactivated(query)
+    where(query, [u], u.is_active == true)
     |> where([u], u.is_approved == true)
     |> where([u], u.is_confirmed == true)
   end
@@ -148,11 +148,11 @@ defmodule Pleroma.User.Query do
   end
 
   defp compose_query({:deactivated, false}, query) do
-    User.restrict_deactivated(query)
+    where(query, [u], u.is_active == true)
   end
 
   defp compose_query({:deactivated, true}, query) do
-    where(query, [u], u.deactivated == ^true)
+    where(query, [u], u.is_active == false)
   end
 
   defp compose_query({:confirmation_pending, bool}, query) do
index c5bc08153b1c46f1d160db17e8b5b87f6147d271..d0bb07aab8f2327a2acab59901bf1f7a671a2a70 100644 (file)
@@ -56,7 +56,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
 
   defp check_actor_is_active(actor) when is_binary(actor) do
     case User.get_cached_by_ap_id(actor) do
-      %User{deactivated: deactivated} -> not deactivated
+      %User{is_active: true} -> true
       _ -> false
     end
   end
index f5f87ca5d596aa6d63c1edc3d973a70cf6554a3a..093549a45873124904298545313f2d223812109b 100644 (file)
@@ -35,7 +35,7 @@ defmodule Pleroma.Web.ActivityPub.ObjectValidators.CommonValidations do
     cng
     |> validate_change(field_name, fn field_name, actor ->
       case User.get_cached_by_ap_id(actor) do
-        %User{deactivated: true} ->
+        %User{is_active: false} ->
           [{field_name, "user is deactivated"}]
 
         %User{} ->
index fa710c7ec219ec9de9caa3298386acd7aba0fc21..a18b9f8d54c16d178dffacaa73817308408af284 100644 (file)
@@ -172,9 +172,9 @@ defmodule Pleroma.Web.AdminAPI.UserController do
   def toggle_activation(%{assigns: %{user: admin}} = conn, %{"nickname" => nickname}) do
     user = User.get_cached_by_nickname(nickname)
 
-    {:ok, updated_user} = User.deactivate(user, !user.deactivated)
+    {:ok, updated_user} = User.set_activation(user, !user.is_active)
 
-    action = if user.deactivated, do: "activate", else: "deactivate"
+    action = if !user.is_active, do: "activate", else: "deactivate"
 
     ModerationLog.insert_log(%{
       actor: admin,
@@ -189,7 +189,7 @@ defmodule Pleroma.Web.AdminAPI.UserController do
 
   def activate(%{assigns: %{user: admin}} = conn, %{"nicknames" => nicknames}) do
     users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
-    {:ok, updated_users} = User.deactivate(users, false)
+    {:ok, updated_users} = User.set_activation(users, true)
 
     ModerationLog.insert_log(%{
       actor: admin,
@@ -204,7 +204,7 @@ defmodule Pleroma.Web.AdminAPI.UserController do
 
   def deactivate(%{assigns: %{user: admin}} = conn, %{"nicknames" => nicknames}) do
     users = Enum.map(nicknames, &User.get_cached_by_nickname/1)
-    {:ok, updated_users} = User.deactivate(users, true)
+    {:ok, updated_users} = User.set_activation(users, false)
 
     ModerationLog.insert_log(%{
       actor: admin,
index 34bf2e67ac6f53e2c09a19983b545d9d68ccf390..d7c63d385d803b52af1bd6c2f676d4302922acaf 100644 (file)
@@ -73,7 +73,7 @@ defmodule Pleroma.Web.AdminAPI.AccountView do
       "avatar" => avatar,
       "nickname" => user.nickname,
       "display_name" => display_name,
-      "deactivated" => user.deactivated,
+      "is_active" => user.is_active,
       "local" => user.local,
       "roles" => User.roles(user),
       "tags" => user.tags || [],
index d60e84a660ca70f3a1992935b0c01b35d3b4c315..e7acfa27107da71c48324284ce459bf8e19fac18 100644 (file)
@@ -182,7 +182,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.ReportOperation do
       properties:
         Map.merge(Account.schema().properties, %{
           nickname: %Schema{type: :string},
-          deactivated: %Schema{type: :boolean},
+          is_active: %Schema{type: :boolean},
           local: %Schema{type: :boolean},
           roles: %Schema{
             type: :object,
index fed3da27a79570033602621c72731bae3ad26b3e..34a0bce07575fa42b37a8e14eeca835a0d68018b 100644 (file)
@@ -132,7 +132,7 @@ defmodule Pleroma.Web.ApiSpec.Admin.StatusOperation do
         avatar: %Schema{type: :string},
         nickname: %Schema{type: :string},
         display_name: %Schema{type: :string},
-        deactivated: %Schema{type: :boolean},
+        is_active: %Schema{type: :boolean},
         local: %Schema{type: :boolean},
         roles: %Schema{
           type: :object,
index da1221d477cdcaab9dd2315389afaba161e82b6d..63417142f79d6c256e907d7deb47dff8509e1c07 100644 (file)
@@ -376,7 +376,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountView do
   defp maybe_put_allow_following_move(data, _, _), do: data
 
   defp maybe_put_activation_status(data, user, %User{is_admin: true}) do
-    Kernel.put_in(data, [:pleroma, :deactivated], user.deactivated)
+    Kernel.put_in(data, [:pleroma, :deactivated], !user.is_active)
   end
 
   defp maybe_put_activation_status(data, _, _), do: data
index e7903dde8b68ba010aafe54ef5a73037413d70cb..6ace3e0b5cac0124c29d2437357bf6cba413dd2f 100644 (file)
@@ -14,7 +14,7 @@ defmodule Pleroma.Web.MongooseIM.MongooseIMController do
   plug(RateLimiter, [name: :authentication, params: ["user"]] when action == :check_password)
 
   def user_exists(conn, %{"user" => username}) do
-    with %User{} <- Repo.get_by(User, nickname: username, local: true, deactivated: false) do
+    with %User{} <- Repo.get_by(User, nickname: username, local: true, is_active: true) do
       conn
       |> json(true)
     else
@@ -26,7 +26,7 @@ defmodule Pleroma.Web.MongooseIM.MongooseIMController do
   end
 
   def check_password(conn, %{"user" => username, "pass" => password}) do
-    with %User{password_hash: password_hash, deactivated: false} <-
+    with %User{password_hash: password_hash, is_active: true} <-
            Repo.get_by(User, nickname: username, local: true),
          true <- AuthenticationPlug.checkpw(password, password_hash) do
       conn
index 809ef9b4065c85ed8cb74fe681eab5814784ceef..c94527e6d284929e0879483cdd3fa0409250e1fb 100644 (file)
@@ -26,7 +26,7 @@ defmodule Pleroma.Web.PleromaAPI.EmojiReactionView do
     user_ap_ids
     |> Enum.map(&Pleroma.User.get_cached_by_ap_id/1)
     |> Enum.filter(fn
-      %{deactivated: false} -> true
+      %{is_active: true} -> true
       _ -> false
     end)
   end
index 1e252f7bb7b72bc6d1e21452cc2d6277e9c3ac35..940a645bb09e207597ee45beefb53611d13d7e10 100644 (file)
@@ -150,7 +150,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilController do
   def disable_account(%{assigns: %{user: user}} = conn, params) do
     case CommonAPI.Utils.confirm_current_password(user, params["password"]) do
       {:ok, user} ->
-        User.deactivate_async(user)
+        User.set_activation_async(user, false)
         json(conn, %{status: "success"})
 
       {:error, msg} ->
index f6d721da6ed9cc22b41ac19a66b444577e131b5a..76ca82d20b6568e60ecd1a020c01e3a09b0c637e 100644 (file)
@@ -59,7 +59,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
 
   def password_reset(nickname_or_email) do
     with true <- is_binary(nickname_or_email),
-         %User{local: true, email: email, deactivated: false} = user when is_binary(email) <-
+         %User{local: true, email: email, is_active: true} = user when is_binary(email) <-
            User.get_by_nickname_or_email(nickname_or_email),
          {:ok, token_record} <- Pleroma.PasswordResetToken.create_token(user) do
       user
index e24b9c1752732bb1d8f1eeeeffcea6adf1f7cf55..1e28384cb188d7fe626e1cf9d9b7dc7cab7601c2 100644 (file)
@@ -9,9 +9,9 @@ defmodule Pleroma.Workers.BackgroundWorker do
 
   @impl Oban.Worker
 
-  def perform(%Job{args: %{"op" => "deactivate_user", "user_id" => user_id, "status" => status}}) do
+  def perform(%Job{args: %{"op" => "user_activation", "user_id" => user_id, "status" => status}}) do
     user = User.get_cached_by_id(user_id)
-    User.perform(:deactivate_async, user, status)
+    User.perform(:set_activation_async, user, status)
   end
 
   def perform(%Job{args: %{"op" => "delete_user", "user_id" => user_id}}) do
diff --git a/priv/repo/migrations/20201012173004_refactor_deactivated_user_field.exs b/priv/repo/migrations/20201012173004_refactor_deactivated_user_field.exs
new file mode 100644 (file)
index 0000000..58b75b4
--- /dev/null
@@ -0,0 +1,22 @@
+# Pleroma: A lightweight social networking server
+# Copyright Â© 2017-2020 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Repo.Migrations.RefactorDeactivatedUserField do
+  use Ecto.Migration
+
+  def up do
+    # Flip the values before we change the meaning of the column
+    execute("UPDATE users SET deactivated = NOT deactivated;")
+    execute("ALTER TABLE users RENAME COLUMN deactivated TO is_active;")
+    execute("ALTER TABLE users ALTER COLUMN is_active SET DEFAULT true;")
+    execute("ALTER INDEX users_deactivated_index RENAME TO users_is_active_index;")
+  end
+
+  def down do
+    execute("UPDATE users SET is_active = NOT is_active;")
+    execute("ALTER TABLE users RENAME COLUMN is_active TO deactivated;")
+    execute("ALTER TABLE users ALTER COLUMN deactivated SET DEFAULT false;")
+    execute("ALTER INDEX users_is_active_index RENAME TO users_deactivated_index;")
+  end
+end
index ef26142c4a830ef67c5b3b1a433b5cfe63213769..ce68b88defd08a73830275e99773c957ced8706b 100644 (file)
@@ -63,7 +63,7 @@ defmodule Mix.Tasks.Pleroma.EmailTest do
         insert(:user, %{
           is_confirmed: false,
           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, %{
           is_confirmed: false,
           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, %{
         is_confirmed: true,
         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
index 2b52322835dc9b9e684b82829b703426ed181c5d..fddef1d28a362d2b472d9c644bcd4c0e135da028 100644 (file)
@@ -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)
@@ -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)
-      assert user.deactivated
-    end
-
-    test "user is activated" do
-      user = insert(:user, deactivated: true)
-
-      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)
-      refute user.deactivated
-    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)
@@ -210,7 +177,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
index 7e1e75404f9c7213ab90c1f8df811b34b5167d38..90fef34bda538f447dcfbf46079f1d33e5db366e 100644 (file)
@@ -202,11 +202,11 @@ defmodule Pleroma.UserTest do
 
   test "doesn't return follow requests for deactivated accounts" do
     locked = insert(:user, is_locked: true)
-    pending_follower = insert(:user, %{deactivated: true})
+    pending_follower = insert(:user, %{is_active: false})
 
     CommonAPI.follow(pending_follower, locked)
 
-    assert true == pending_follower.deactivated
+    refute pending_follower.is_active
     assert [] = User.get_follow_requests(locked)
   end
 
@@ -275,7 +275,7 @@ defmodule Pleroma.UserTest do
 
   test "can't follow a deactivated users" do
     user = insert(:user)
-    followed = insert(:user, %{deactivated: true})
+    followed = insert(:user, %{is_active: false})
 
     {:error, _} = User.follow(user, followed)
   end
@@ -1313,14 +1313,14 @@ defmodule Pleroma.UserTest do
     end
   end
 
-  describe ".deactivate" do
+  describe ".set_activation" do
     test "can de-activate then re-activate a user" do
       user = insert(:user)
-      assert false == user.deactivated
-      {:ok, user} = User.deactivate(user)
-      assert true == user.deactivated
-      {:ok, user} = User.deactivate(user, false)
-      assert false == user.deactivated
+      assert user.is_active
+      {:ok, user} = User.set_activation(user, false)
+      refute user.is_active
+      {:ok, user} = User.set_activation(user, true)
+      assert user.is_active
     end
 
     test "hide a user from followers" do
@@ -1328,7 +1328,7 @@ defmodule Pleroma.UserTest do
       user2 = insert(:user)
 
       {:ok, user, user2} = User.follow(user, user2)
-      {:ok, _user} = User.deactivate(user)
+      {:ok, _user} = User.set_activation(user, false)
 
       user2 = User.get_cached_by_id(user2.id)
 
@@ -1344,7 +1344,7 @@ defmodule Pleroma.UserTest do
       assert user2.following_count == 1
       assert User.following_count(user2) == 1
 
-      {:ok, _user} = User.deactivate(user)
+      {:ok, _user} = User.set_activation(user, false)
 
       user2 = User.get_cached_by_id(user2.id)
 
@@ -1374,7 +1374,7 @@ defmodule Pleroma.UserTest do
                  user: user2
                })
 
-      {:ok, _user} = User.deactivate(user)
+      {:ok, _user} = User.set_activation(user, false)
 
       assert [] == ActivityPub.fetch_public_activities(%{})
       assert [] == Pleroma.Notification.for_user(user2)
@@ -1544,7 +1544,7 @@ defmodule Pleroma.UserTest do
       follower = User.get_cached_by_id(follower.id)
 
       refute User.following?(follower, user)
-      assert %{deactivated: true} = User.get_by_id(user.id)
+      assert %{is_active: false} = User.get_by_id(user.id)
 
       assert [] == User.get_follow_requests(locked_user)
 
@@ -1606,7 +1606,7 @@ defmodule Pleroma.UserTest do
         registration_reason: "ahhhhh",
         confirmation_token: "qqqq",
         domain_blocks: ["lain.com"],
-        deactivated: true,
+        is_active: false,
         ap_enabled: true,
         is_moderator: true,
         is_admin: true,
@@ -1648,7 +1648,7 @@ defmodule Pleroma.UserTest do
              registration_reason: nil,
              confirmation_token: nil,
              domain_blocks: [],
-             deactivated: true,
+             is_active: false,
              ap_enabled: false,
              is_moderator: false,
              is_admin: false,
@@ -1734,7 +1734,7 @@ defmodule Pleroma.UserTest do
     end
 
     test "returns :deactivated for deactivated user" do
-      user = insert(:user, local: true, is_confirmed: true, deactivated: true)
+      user = insert(:user, local: true, is_confirmed: true, is_active: false)
       assert User.account_status(user) == :deactivated
     end
 
@@ -1885,7 +1885,7 @@ defmodule Pleroma.UserTest do
 
       users =
         Enum.map(1..total, fn _ ->
-          insert(:user, last_digest_emailed_at: days_ago(20), deactivated: false)
+          insert(:user, last_digest_emailed_at: days_ago(20), is_active: true)
         end)
 
       inactive_users_ids =
@@ -1903,7 +1903,7 @@ defmodule Pleroma.UserTest do
 
       users =
         Enum.map(1..total, fn _ ->
-          insert(:user, last_digest_emailed_at: days_ago(20), deactivated: false)
+          insert(:user, last_digest_emailed_at: days_ago(20), is_active: true)
         end)
 
       {inactive, active} = Enum.split(users, trunc(total / 2))
@@ -1936,7 +1936,7 @@ defmodule Pleroma.UserTest do
 
       users =
         Enum.map(1..total, fn _ ->
-          insert(:user, last_digest_emailed_at: days_ago(20), deactivated: false)
+          insert(:user, last_digest_emailed_at: days_ago(20), is_active: true)
         end)
 
       [sender | recipients] = users
@@ -2006,7 +2006,7 @@ defmodule Pleroma.UserTest do
       user1 = insert(:user, local: false, ap_id: "http://localhost:4001/users/masto_closed")
       user2 = insert(:user, local: false, ap_id: "http://localhost:4001/users/fuser2")
       insert(:user, local: true)
-      insert(:user, local: false, deactivated: true)
+      insert(:user, local: false, is_active: false)
       {:ok, user1: user1, user2: user2}
     end
 
index 35ced375bd85eedba9143e893f1d98a09cd2143e..20f0d4b70d4c65963f73377814c9c6b4c6268d63 100644 (file)
@@ -39,7 +39,7 @@ defmodule Pleroma.Web.ActivityPub.SideEffects.DeleteTest do
       {:ok, _delete, _} = SideEffects.handle(delete)
       ObanHelpers.perform_all()
 
-      assert User.get_cached_by_ap_id(user.ap_id).deactivated
+      refute User.get_cached_by_ap_id(user.ap_id).is_active
     end
   end
 
index a2d64620d36eb1307c7d6c064d35bbde353a72b4..958675835ed61039d4e9b05db0ecb5478606e80c 100644 (file)
@@ -134,7 +134,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.ChatMessageTest do
           ap_id: data["actor"],
           local: false,
           last_refreshed_at: DateTime.utc_now(),
-          deactivated: true
+          is_active: false
         )
 
       _recipient = insert(:user, ap_id: List.first(data["to"]), local: true)
index 33132dff67d802d2dd1c886e99585e0b3746fcdf..b7160bf589acb9f9f79afc2228e5aa53f22fe9cb 100644 (file)
@@ -97,7 +97,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.DeleteHandlingTest do
     {:ok, _} = Transmogrifier.handle_incoming(data)
     ObanHelpers.perform_all()
 
-    assert User.get_cached_by_ap_id(ap_id).deactivated
+    refute User.get_cached_by_ap_id(ap_id).is_active
   end
 
   test "it fails for incoming user deletes with spoofed origin" do
index 108f27ef726b5614537b2322db335601bb6a3263..be99ad93decef971b1960ebd47643b7647a97ab8 100644 (file)
@@ -154,7 +154,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.NoteHandlingTest do
     test "it does not work for deactivated users" do
       data = File.read!("test/fixtures/mastodon-post-activity.json") |> Jason.decode!()
 
-      insert(:user, ap_id: data["actor"], deactivated: true)
+      insert(:user, ap_id: data["actor"], is_active: false)
 
       assert {:error, _} = Transmogrifier.handle_incoming(data)
     end
index 24e288c5fd281e80be89e27e864518ea7688169f..3fdf23ba2fab482c221f8eb911ac478b37dafafa 100644 (file)
@@ -47,7 +47,7 @@ defmodule Pleroma.Web.AdminAPI.StatusControllerTest do
 
       assert account["id"] == actor.id
       assert account["nickname"] == actor.nickname
-      assert account["deactivated"] == actor.deactivated
+      assert account["is_active"] == actor.is_active
       assert account["is_confirmed"] == actor.is_confirmed
     end
   end
index 7f37247a91a9c78b5766c94ed69470b3e15c5ae3..ef16dede3aa06035a95d476f83289cb3d2bc1863 100644 (file)
@@ -169,7 +169,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
       assert user.note_count == 1
       assert user.follower_count == 1
       assert user.following_count == 1
-      refute user.deactivated
+      assert user.is_active
 
       with_mock Pleroma.Web.Federator,
         publish: fn _ -> nil end,
@@ -181,7 +181,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
 
         ObanHelpers.perform_all()
 
-        assert User.get_by_nickname(user.nickname).deactivated
+        refute User.get_by_nickname(user.nickname).is_active
 
         log_entry = Repo.one(ModerationLog)
 
@@ -191,7 +191,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
         assert json_response(conn, 200) == [user.nickname]
 
         user = Repo.get(User, user.id)
-        assert user.deactivated
+        refute user.is_active
 
         assert user.avatar == %{}
         assert user.banner == %{}
@@ -621,7 +621,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
             "roles" => %{"admin" => true, "moderator" => false}
           }),
           user_response(old_admin, %{
-            "deactivated" => false,
+            "is_active" => true,
             "roles" => %{"admin" => true, "moderator" => false}
           })
         ]
@@ -694,11 +694,11 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
       users =
         [
           user_response(admin, %{
-            "deactivated" => false,
+            "is_active" => true,
             "roles" => %{"admin" => true, "moderator" => false}
           }),
           user_response(second_admin, %{
-            "deactivated" => false,
+            "is_active" => true,
             "roles" => %{"admin" => true, "moderator" => false}
           })
         ]
@@ -723,7 +723,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
                "page_size" => 50,
                "users" => [
                  user_response(moderator, %{
-                   "deactivated" => false,
+                   "is_active" => true,
                    "roles" => %{"admin" => false, "moderator" => true}
                  })
                ]
@@ -839,10 +839,10 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
     test "it works with multiple filters" do
       admin = insert(:user, nickname: "john", is_admin: true)
       token = insert(:oauth_admin_token, user: admin)
-      user = insert(:user, nickname: "bob", local: false, deactivated: true)
+      user = insert(:user, nickname: "bob", local: false, is_active: false)
 
-      insert(:user, nickname: "ken", local: true, deactivated: true)
-      insert(:user, nickname: "bobb", local: false, deactivated: false)
+      insert(:user, nickname: "ken", local: true, is_active: false)
+      insert(:user, nickname: "bobb", local: false, is_active: true)
 
       conn =
         build_conn()
@@ -873,8 +873,8 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
   end
 
   test "PATCH /api/pleroma/admin/users/activate", %{admin: admin, conn: conn} do
-    user_one = insert(:user, deactivated: true)
-    user_two = insert(:user, deactivated: true)
+    user_one = insert(:user, is_active: false)
+    user_two = insert(:user, is_active: false)
 
     conn =
       patch(
@@ -884,7 +884,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
       )
 
     response = json_response(conn, 200)
-    assert Enum.map(response["users"], & &1["deactivated"]) == [false, false]
+    assert Enum.map(response["users"], & &1["is_active"]) == [true, true]
 
     log_entry = Repo.one(ModerationLog)
 
@@ -893,8 +893,8 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
   end
 
   test "PATCH /api/pleroma/admin/users/deactivate", %{admin: admin, conn: conn} do
-    user_one = insert(:user, deactivated: false)
-    user_two = insert(:user, deactivated: false)
+    user_one = insert(:user, is_active: true)
+    user_two = insert(:user, is_active: true)
 
     conn =
       patch(
@@ -904,7 +904,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
       )
 
     response = json_response(conn, 200)
-    assert Enum.map(response["users"], & &1["deactivated"]) == [true, true]
+    assert Enum.map(response["users"], & &1["is_active"]) == [false, false]
 
     log_entry = Repo.one(ModerationLog)
 
@@ -940,7 +940,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
     assert json_response(conn, 200) ==
              user_response(
                user,
-               %{"deactivated" => !user.deactivated}
+               %{"is_active" => !user.is_active}
              )
 
     log_entry = Repo.one(ModerationLog)
@@ -951,7 +951,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
 
   defp user_response(user, attrs \\ %{}) do
     %{
-      "deactivated" => user.deactivated,
+      "is_active" => user.is_active,
       "id" => user.id,
       "email" => user.email,
       "nickname" => user.nickname,
index 438ffa7797248289aeffe7ca50834381c0d9d442..b8eeec65b6de8eeb54d5965da3b68c88e379b2a6 100644 (file)
@@ -47,9 +47,9 @@ defmodule Pleroma.Web.AdminAPI.SearchTest do
     end
 
     test "it returns active/deactivated users" do
-      insert(:user, deactivated: true)
-      insert(:user, deactivated: true)
-      insert(:user, deactivated: false)
+      insert(:user, is_active: false)
+      insert(:user, is_active: false)
+      insert(:user, is_active: true)
 
       {:ok, _results, active_count} =
         Search.user(%{
@@ -70,7 +70,7 @@ defmodule Pleroma.Web.AdminAPI.SearchTest do
     test "it returns specific user" do
       insert(:user)
       insert(:user)
-      user = insert(:user, nickname: "bob", local: true, deactivated: false)
+      user = insert(:user, nickname: "bob", local: true, is_active: true)
 
       {:ok, _results, total_count} = Search.user(%{query: ""})
 
index 7067f1b59092ac9a840bf28be2331fce74a3afca..c996766ea5ff726457d05a9bbbbdb6e2f14fa99b 100644 (file)
@@ -518,7 +518,7 @@ defmodule Pleroma.Web.CommonAPITest do
     end
 
     test "deactivated users can't post" do
-      user = insert(:user, deactivated: true)
+      user = insert(:user, is_active: false)
       assert {:error, _} = CommonAPI.post(user, %{status: "ye"})
     end
 
index 2f5bfda985faed8b07f278025aae4e583df7488b..1276597a4e911a6d6d55fc8960dfa9b50dac3161 100644 (file)
@@ -126,7 +126,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do
     end
 
     test "returns 404 for deactivated user", %{conn: conn} do
-      user = insert(:user, deactivated: true)
+      user = insert(:user, is_active: false)
 
       assert %{"error" => "Can't find user"} =
                conn
@@ -256,7 +256,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do
     end
 
     test "deactivated user", %{conn: conn} do
-      user = insert(:user, deactivated: true)
+      user = insert(:user, is_active: false)
 
       assert %{"error" => "Can't find user"} ==
                conn
index 27c0fceffc36a2b47fa1571c93e48e39f21456b9..1872dfd594042d6e4c48558a483a18f0487a5d70 100644 (file)
@@ -136,7 +136,7 @@ defmodule Pleroma.Web.MastodonAPI.AuthControllerTest do
     end
 
     test "it returns 204 when user is deactivated", %{conn: conn, user: user} do
-      {:ok, user} = Repo.update(Ecto.Changeset.change(user, deactivated: true, local: true))
+      {:ok, user} = Repo.update(Ecto.Changeset.change(user, is_active: false, local: true))
       conn = post(conn, "/auth/password?email=#{user.email}")
 
       assert empty_json_response(conn)
index 1d0f86e872656883db1c87c7016f44e0f1654ef6..0d4eebb73d0a9e05631656339dcc5d537d76a795 100644 (file)
@@ -57,7 +57,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceControllerTest do
     user = insert(:user, %{local: true})
 
     user2 = insert(:user, %{local: true})
-    {:ok, _user2} = User.deactivate(user2, !user2.deactivated)
+    {:ok, _user2} = User.set_activation(user2, false)
 
     insert(:user, %{local: false, nickname: "u@peer1.com"})
     insert(:user, %{local: false, nickname: "u@peer2.com"})
index f14330908b0c5d22a9639ba5473a6e367cd28232..402bfd76f53d824f2e36d79aa0682622a59125e8 100644 (file)
@@ -16,7 +16,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPITest do
   describe "follow/3" do
     test "returns error when followed user is deactivated" do
       follower = insert(:user)
-      user = insert(:user, local: true, deactivated: true)
+      user = insert(:user, local: true, is_active: false)
       assert {:error, _error} = MastodonAPI.follow(follower, user)
     end
 
index f4e6c161ec21ee389efc5bdf759d1aabb4837c5b..6de5dc859c55acf5fbe7331fcfce25ef71ba02b0 100644 (file)
@@ -211,7 +211,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
 
   test "Represent a deactivated user for an admin" do
     admin = insert(:user, is_admin: true)
-    deactivated_user = insert(:user, deactivated: true)
+    deactivated_user = insert(:user, is_active: false)
     represented = AccountView.render("show.json", %{user: deactivated_user, for: admin})
     assert represented[:pleroma][:deactivated] == true
   end
index a7225d45c23da9108bd41aafb64a57427386b014..43c4dfa33cdde5a5862e88ea4d5ad9a9bc1c65f3 100644 (file)
@@ -9,7 +9,7 @@ defmodule Pleroma.Web.MongooseIMControllerTest do
   test "/user_exists", %{conn: conn} do
     _user = insert(:user, nickname: "lain")
     _remote_user = insert(:user, nickname: "alice", local: false)
-    _deactivated_user = insert(:user, nickname: "konata", deactivated: true)
+    _deactivated_user = insert(:user, nickname: "konata", is_active: false)
 
     res =
       conn
@@ -46,7 +46,7 @@ defmodule Pleroma.Web.MongooseIMControllerTest do
     _deactivated_user =
       insert(:user,
         nickname: "konata",
-        deactivated: true,
+        is_active: false,
         password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt("cool")
       )
 
index 64ee11890d25639ba8d1a2d5e4b9bf02a30c4977..9c7c57d48b84fbfe8677e3496c3f57b52c783acf 100644 (file)
@@ -956,7 +956,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do
       user =
         insert(:user,
           password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt(password),
-          deactivated: true
+          is_active: false
         )
 
       app = insert(:oauth_app)
index 6d0f4fb7d8c81c53cdba9dd395bb310c08786646..71822305b36425e58fc0157fb99eb3255e969653 100644 (file)
@@ -33,7 +33,7 @@ defmodule Pleroma.Web.Plugs.UserEnabledPlugTest do
   end
 
   test "with a user that is deactivated, it removes that user", %{conn: conn} do
-    user = insert(:user, deactivated: true)
+    user = insert(:user, is_active: false)
 
     conn =
       conn
index 51db2fe5e8635f069b038f6df5211af9f7e98139..f9d9e05259dfd5c2c4f5d51bf4f3ce896067fc52 100644 (file)
@@ -141,7 +141,7 @@ defmodule Pleroma.Web.TwitterAPI.RemoteFollowControllerTest do
     end
 
     test "returns error when user is deactivated", %{conn: conn} do
-      user = insert(:user, deactivated: true)
+      user = insert(:user, is_active: false)
       user2 = insert(:user)
 
       response =
index 6d007ab66ff6d5da17782869d9a72d31e1f5c846..283c616780636a1b57d0310f4727f74c41b78abe 100644 (file)
@@ -164,7 +164,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do
 
       user = User.get_cached_by_id(user.id)
 
-      assert user.deactivated == true
+      refute user.is_active
     end
 
     test "with valid permissions and invalid password, it returns an error", %{conn: conn} do
@@ -178,7 +178,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do
       assert response == %{"error" => "Invalid password."}
       user = User.get_cached_by_id(user.id)
 
-      refute user.deactivated
+      assert user.is_active
     end
   end
 
@@ -428,7 +428,7 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do
       assert json_response(conn, 200) == %{"status" => "success"}
 
       user = User.get_by_id(user.id)
-      assert user.deactivated == true
+      refute user.is_active
       assert user.name == nil
       assert user.bio == ""
       assert user.password_hash == nil