Merge branch 'develop' into '2435-list-multiple-users'
# Conflicts: # CHANGELOG.md
This commit is contained in:
commit
229acae6c3
281 changed files with 3374 additions and 1782 deletions
|
|
@ -94,6 +94,15 @@ defmodule Pleroma.Config.DeprecationWarningsTest do
|
|||
end) =~ "Your config is using old namespace for activity expiration configuration."
|
||||
end
|
||||
|
||||
test "check_uploders_s3_public_endpoint/0" do
|
||||
clear_config(Pleroma.Uploaders.S3, public_endpoint: "https://fake.amazonaws.com/bucket/")
|
||||
|
||||
assert capture_log(fn ->
|
||||
DeprecationWarnings.check_uploders_s3_public_endpoint()
|
||||
end) =~
|
||||
"Your config is using the old setting for controlling the URL of media uploaded to your S3 bucket."
|
||||
end
|
||||
|
||||
describe "check_gun_pool_options/0" do
|
||||
test "await_up_timeout" do
|
||||
config = Config.get(:connections_pool)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ defmodule Pleroma.Gun.ConnectionPoolTest do
|
|||
:ok
|
||||
end
|
||||
|
||||
setup :set_mox_from_context
|
||||
setup :gun_mock
|
||||
|
||||
test "gives the same connection to 2 concurrent requests" do
|
||||
|
|
|
|||
|
|
@ -78,8 +78,8 @@ defmodule Pleroma.ObjectTest do
|
|||
setup do: clear_config([:instance, :cleanup_attachments])
|
||||
|
||||
test "Disabled via config" do
|
||||
Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
Pleroma.Config.put([:instance, :cleanup_attachments], false)
|
||||
clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
clear_config([:instance, :cleanup_attachments], false)
|
||||
|
||||
file = %Plug.Upload{
|
||||
content_type: "image/jpeg",
|
||||
|
|
@ -112,8 +112,8 @@ defmodule Pleroma.ObjectTest do
|
|||
end
|
||||
|
||||
test "in subdirectories" do
|
||||
Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
Pleroma.Config.put([:instance, :cleanup_attachments], true)
|
||||
clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
clear_config([:instance, :cleanup_attachments], true)
|
||||
|
||||
file = %Plug.Upload{
|
||||
content_type: "image/jpeg",
|
||||
|
|
@ -146,9 +146,9 @@ defmodule Pleroma.ObjectTest do
|
|||
end
|
||||
|
||||
test "with dedupe enabled" do
|
||||
Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
Pleroma.Config.put([Pleroma.Upload, :filters], [Pleroma.Upload.Filter.Dedupe])
|
||||
Pleroma.Config.put([:instance, :cleanup_attachments], true)
|
||||
clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
clear_config([Pleroma.Upload, :filters], [Pleroma.Upload.Filter.Dedupe])
|
||||
clear_config([:instance, :cleanup_attachments], true)
|
||||
|
||||
uploads_dir = Pleroma.Config.get!([Pleroma.Uploaders.Local, :uploads])
|
||||
|
||||
|
|
@ -184,8 +184,8 @@ defmodule Pleroma.ObjectTest do
|
|||
end
|
||||
|
||||
test "with objects that have legacy data.url attribute" do
|
||||
Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
Pleroma.Config.put([:instance, :cleanup_attachments], true)
|
||||
clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
clear_config([:instance, :cleanup_attachments], true)
|
||||
|
||||
file = %Plug.Upload{
|
||||
content_type: "image/jpeg",
|
||||
|
|
@ -220,9 +220,9 @@ defmodule Pleroma.ObjectTest do
|
|||
end
|
||||
|
||||
test "With custom base_url" do
|
||||
Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
Pleroma.Config.put([Pleroma.Upload, :base_url], "https://sub.domain.tld/dir/")
|
||||
Pleroma.Config.put([:instance, :cleanup_attachments], true)
|
||||
clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
clear_config([Pleroma.Upload, :base_url], "https://sub.domain.tld/dir/")
|
||||
clear_config([:instance, :cleanup_attachments], true)
|
||||
|
||||
file = %Plug.Upload{
|
||||
content_type: "image/jpeg",
|
||||
|
|
|
|||
|
|
@ -14,12 +14,12 @@ defmodule Pleroma.Repo.Migrations.ConfirmLoggedInUsersTest do
|
|||
|
||||
test "up/0 confirms unconfirmed but previously-logged-in users", %{migration: migration} do
|
||||
insert_list(25, :oauth_token)
|
||||
Repo.update_all(User, set: [confirmation_pending: true])
|
||||
insert_list(5, :user, confirmation_pending: true)
|
||||
Repo.update_all(User, set: [is_confirmed: false])
|
||||
insert_list(5, :user, is_confirmed: false)
|
||||
|
||||
count =
|
||||
User
|
||||
|> where(confirmation_pending: true)
|
||||
|> where(is_confirmed: false)
|
||||
|> Repo.aggregate(:count)
|
||||
|
||||
assert count == 30
|
||||
|
|
@ -28,7 +28,7 @@ defmodule Pleroma.Repo.Migrations.ConfirmLoggedInUsersTest do
|
|||
|
||||
count =
|
||||
User
|
||||
|> where(confirmation_pending: true)
|
||||
|> where(is_confirmed: false)
|
||||
|> Repo.aggregate(:count)
|
||||
|
||||
assert count == 5
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
# Pleroma: A lightweight social networking server
|
||||
# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
defmodule Pleroma.Repo.Migrations.DeprecatePublicEndpointTest do
|
||||
use Pleroma.DataCase
|
||||
import Pleroma.Factory
|
||||
import Pleroma.Tests.Helpers
|
||||
alias Pleroma.ConfigDB
|
||||
|
||||
setup do: clear_config(Pleroma.Upload)
|
||||
setup do: clear_config(Pleroma.Uploaders.S3)
|
||||
setup_all do: require_migration("20210113225652_deprecate_public_endpoint")
|
||||
|
||||
test "up/0 migrates public_endpoint to base_url", %{migration: migration} do
|
||||
s3_values = [
|
||||
public_endpoint: "https://coolhost.com/",
|
||||
bucket: "secret_bucket"
|
||||
]
|
||||
|
||||
insert(:config, group: :pleroma, key: Pleroma.Uploaders.S3, value: s3_values)
|
||||
|
||||
upload_values = [
|
||||
uploader: Pleroma.Uploaders.S3
|
||||
]
|
||||
|
||||
insert(:config, group: :pleroma, key: Pleroma.Upload, value: upload_values)
|
||||
|
||||
migration.up()
|
||||
|
||||
assert [bucket: "secret_bucket"] ==
|
||||
ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.Uploaders.S3}).value
|
||||
|
||||
assert [uploader: Pleroma.Uploaders.S3, base_url: "https://coolhost.com/"] ==
|
||||
ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.Upload}).value
|
||||
end
|
||||
|
||||
test "down/0 reverts base_url to public_endpoint", %{migration: migration} do
|
||||
s3_values = [
|
||||
bucket: "secret_bucket"
|
||||
]
|
||||
|
||||
insert(:config, group: :pleroma, key: Pleroma.Uploaders.S3, value: s3_values)
|
||||
|
||||
upload_values = [
|
||||
uploader: Pleroma.Uploaders.S3,
|
||||
base_url: "https://coolhost.com/"
|
||||
]
|
||||
|
||||
insert(:config, group: :pleroma, key: Pleroma.Upload, value: upload_values)
|
||||
|
||||
migration.down()
|
||||
|
||||
assert [bucket: "secret_bucket", public_endpoint: "https://coolhost.com/"] ==
|
||||
ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.Uploaders.S3}).value
|
||||
|
||||
assert [uploader: Pleroma.Uploaders.S3] ==
|
||||
ConfigDB.get_by_params(%{group: :pleroma, key: Pleroma.Upload}).value
|
||||
end
|
||||
end
|
||||
|
|
@ -4,15 +4,14 @@
|
|||
|
||||
defmodule Pleroma.ScheduledActivityTest do
|
||||
use Pleroma.DataCase
|
||||
alias Pleroma.DataCase
|
||||
|
||||
alias Pleroma.ScheduledActivity
|
||||
|
||||
import Pleroma.Factory
|
||||
|
||||
setup do: clear_config([ScheduledActivity, :enabled])
|
||||
|
||||
setup context do
|
||||
DataCase.ensure_local_uploader(context)
|
||||
end
|
||||
setup [:ensure_local_uploader]
|
||||
|
||||
describe "creation" do
|
||||
test "scheduled activities with jobs when ScheduledActivity enabled" do
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ defmodule Pleroma.UploadTest do
|
|||
|
||||
assert %{"url" => [%{"href" => url}]} = data
|
||||
|
||||
assert String.starts_with?(url, Pleroma.Web.base_url() <> "/media/")
|
||||
assert String.starts_with?(url, Pleroma.Upload.base_url())
|
||||
end
|
||||
|
||||
test "copies the file to the configured folder with deduping" do
|
||||
|
|
@ -148,8 +148,8 @@ defmodule Pleroma.UploadTest do
|
|||
{:ok, data} = Upload.store(file, filters: [Pleroma.Upload.Filter.Dedupe])
|
||||
|
||||
assert List.first(data["url"])["href"] ==
|
||||
Pleroma.Web.base_url() <>
|
||||
"/media/e30397b58d226d6583ab5b8b3c5defb0c682bda5c31ef07a9f57c1c4986e3781.jpg"
|
||||
Pleroma.Upload.base_url() <>
|
||||
"e30397b58d226d6583ab5b8b3c5defb0c682bda5c31ef07a9f57c1c4986e3781.jpg"
|
||||
end
|
||||
|
||||
test "copies the file to the configured folder without deduping" do
|
||||
|
|
|
|||
|
|
@ -12,14 +12,10 @@ defmodule Pleroma.Uploaders.S3Test do
|
|||
import ExUnit.CaptureLog
|
||||
|
||||
setup do
|
||||
clear_config(Pleroma.Upload,
|
||||
uploader: Pleroma.Uploaders.S3
|
||||
)
|
||||
|
||||
clear_config(Pleroma.Uploaders.S3,
|
||||
bucket: "test_bucket",
|
||||
public_endpoint: "https://s3.amazonaws.com"
|
||||
)
|
||||
clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.S3)
|
||||
clear_config([Pleroma.Upload, :base_url], "https://s3.amazonaws.com")
|
||||
clear_config([Pleroma.Uploaders.S3])
|
||||
clear_config([Pleroma.Uploaders.S3, :bucket], "test_bucket")
|
||||
end
|
||||
|
||||
describe "get_file/1" do
|
||||
|
|
@ -33,10 +29,12 @@ defmodule Pleroma.Uploaders.S3Test do
|
|||
test "it returns path without bucket when truncated_namespace set to ''" do
|
||||
Config.put([Pleroma.Uploaders.S3],
|
||||
bucket: "test_bucket",
|
||||
public_endpoint: "https://s3.amazonaws.com",
|
||||
bucket_namespace: "myaccount",
|
||||
truncated_namespace: ""
|
||||
)
|
||||
|
||||
Config.put([Pleroma.Upload, :base_url], "https://s3.amazonaws.com")
|
||||
|
||||
assert S3.get_file("test_image.jpg") == {
|
||||
:ok,
|
||||
{:url, "https://s3.amazonaws.com/test_image.jpg"}
|
||||
|
|
@ -46,7 +44,6 @@ defmodule Pleroma.Uploaders.S3Test do
|
|||
test "it returns path with bucket namespace when namespace is set" do
|
||||
Config.put([Pleroma.Uploaders.S3],
|
||||
bucket: "test_bucket",
|
||||
public_endpoint: "https://s3.amazonaws.com",
|
||||
bucket_namespace: "family"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -195,12 +195,8 @@ defmodule Pleroma.User.BackupTest do
|
|||
|
||||
describe "it uploads and deletes a backup archive" do
|
||||
setup do
|
||||
clear_config(Pleroma.Uploaders.S3,
|
||||
bucket: "test_bucket",
|
||||
public_endpoint: "https://s3.amazonaws.com"
|
||||
)
|
||||
|
||||
clear_config([Pleroma.Upload, :uploader])
|
||||
clear_config([Pleroma.Upload, :base_url], "https://s3.amazonaws.com")
|
||||
clear_config([Pleroma.Uploaders.S3, :bucket], "test_bucket")
|
||||
|
||||
user = insert(:user, %{nickname: "cofe", name: "Cofe", ap_id: "http://cofe.io/users/cofe"})
|
||||
|
||||
|
|
@ -219,7 +215,8 @@ defmodule Pleroma.User.BackupTest do
|
|||
end
|
||||
|
||||
test "S3", %{path: path, backup: backup} do
|
||||
Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.S3)
|
||||
clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.S3)
|
||||
clear_config([Pleroma.Uploaders.S3, :streaming_enabled], false)
|
||||
|
||||
with_mock ExAws,
|
||||
request: fn
|
||||
|
|
@ -229,13 +226,10 @@ defmodule Pleroma.User.BackupTest do
|
|||
assert {:ok, %Pleroma.Upload{}} = Backup.upload(backup, path)
|
||||
assert {:ok, _backup} = Backup.delete(backup)
|
||||
end
|
||||
|
||||
with_mock ExAws, request: fn %{http_method: :delete} -> {:ok, %{status_code: 204}} end do
|
||||
end
|
||||
end
|
||||
|
||||
test "Local", %{path: path, backup: backup} do
|
||||
Pleroma.Config.put([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
clear_config([Pleroma.Upload, :uploader], Pleroma.Uploaders.Local)
|
||||
|
||||
assert {:ok, %Pleroma.Upload{}} = Backup.upload(backup, path)
|
||||
assert {:ok, _backup} = Backup.delete(backup)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -640,7 +640,7 @@ defmodule Pleroma.UserTest do
|
|||
|
||||
{:ok, user} = Repo.insert(changeset)
|
||||
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -661,17 +661,17 @@ defmodule Pleroma.UserTest do
|
|||
|
||||
{:ok, user} = Repo.insert(changeset)
|
||||
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
assert user.confirmation_token
|
||||
end
|
||||
|
||||
test "it creates confirmed user if :confirmed option is given" do
|
||||
changeset = User.register_changeset(%User{}, @full_user_data, need_confirmation: false)
|
||||
changeset = User.register_changeset(%User{}, @full_user_data, confirmed: true)
|
||||
assert changeset.valid?
|
||||
|
||||
{:ok, user} = Repo.insert(changeset)
|
||||
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
refute user.confirmation_token
|
||||
end
|
||||
end
|
||||
|
|
@ -694,7 +694,7 @@ defmodule Pleroma.UserTest do
|
|||
|
||||
{:ok, user} = Repo.insert(changeset)
|
||||
|
||||
assert user.approval_pending
|
||||
refute user.is_approved
|
||||
assert user.registration_reason == "I'm a cool guy :)"
|
||||
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)
|
||||
|
|
@ -1388,17 +1388,17 @@ defmodule Pleroma.UserTest do
|
|||
|
||||
describe "approve" do
|
||||
test "approves a user" do
|
||||
user = insert(:user, approval_pending: true)
|
||||
assert true == user.approval_pending
|
||||
user = insert(:user, is_approved: false)
|
||||
refute user.is_approved
|
||||
{:ok, user} = User.approve(user)
|
||||
assert false == user.approval_pending
|
||||
assert user.is_approved
|
||||
end
|
||||
|
||||
test "approves a list of users" do
|
||||
unapproved_users = [
|
||||
insert(:user, approval_pending: true),
|
||||
insert(:user, approval_pending: true),
|
||||
insert(:user, approval_pending: true)
|
||||
insert(:user, is_approved: false),
|
||||
insert(:user, is_approved: false),
|
||||
insert(:user, is_approved: false)
|
||||
]
|
||||
|
||||
{:ok, users} = User.approve(unapproved_users)
|
||||
|
|
@ -1406,7 +1406,7 @@ defmodule Pleroma.UserTest do
|
|||
assert Enum.count(users) == 3
|
||||
|
||||
Enum.each(users, fn user ->
|
||||
assert false == user.approval_pending
|
||||
assert user.is_approved
|
||||
end)
|
||||
end
|
||||
|
||||
|
|
@ -1414,7 +1414,7 @@ defmodule Pleroma.UserTest do
|
|||
clear_config([:welcome, :email, :enabled], true)
|
||||
clear_config([:welcome, :email, :sender], "tester@test.me")
|
||||
|
||||
user = insert(:user, approval_pending: true)
|
||||
user = insert(:user, is_approved: false)
|
||||
welcome_user = insert(:user, email: "tester@test.me")
|
||||
instance_name = Pleroma.Config.get([:instance, :name])
|
||||
|
||||
|
|
@ -1432,7 +1432,7 @@ defmodule Pleroma.UserTest do
|
|||
test "approving an approved user does not trigger post-register actions" do
|
||||
clear_config([:welcome, :email, :enabled], true)
|
||||
|
||||
user = insert(:user, approval_pending: false)
|
||||
user = insert(:user, is_approved: true)
|
||||
User.approve(user)
|
||||
|
||||
ObanHelpers.perform_all()
|
||||
|
|
@ -1443,17 +1443,17 @@ defmodule Pleroma.UserTest do
|
|||
|
||||
describe "confirm" do
|
||||
test "confirms a user" do
|
||||
user = insert(:user, confirmation_pending: true)
|
||||
assert true == user.confirmation_pending
|
||||
user = insert(:user, is_confirmed: false)
|
||||
refute user.is_confirmed
|
||||
{:ok, user} = User.confirm(user)
|
||||
assert false == user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
end
|
||||
|
||||
test "confirms a list of users" do
|
||||
unconfirmed_users = [
|
||||
insert(:user, confirmation_pending: true),
|
||||
insert(:user, confirmation_pending: true),
|
||||
insert(:user, confirmation_pending: true)
|
||||
insert(:user, is_confirmed: false),
|
||||
insert(:user, is_confirmed: false),
|
||||
insert(:user, is_confirmed: false)
|
||||
]
|
||||
|
||||
{:ok, users} = User.confirm(unconfirmed_users)
|
||||
|
|
@ -1461,13 +1461,13 @@ defmodule Pleroma.UserTest do
|
|||
assert Enum.count(users) == 3
|
||||
|
||||
Enum.each(users, fn user ->
|
||||
assert false == user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
end)
|
||||
end
|
||||
|
||||
test "sends approval emails when `approval_pending: true`" do
|
||||
test "sends approval emails when `is_approved: false`" do
|
||||
admin = insert(:user, is_admin: true)
|
||||
user = insert(:user, confirmation_pending: true, approval_pending: true)
|
||||
user = insert(:user, is_confirmed: false, is_approved: false)
|
||||
User.confirm(user)
|
||||
|
||||
ObanHelpers.perform_all()
|
||||
|
|
@ -1494,7 +1494,7 @@ defmodule Pleroma.UserTest do
|
|||
end
|
||||
|
||||
test "confirming a confirmed user does not trigger post-register actions" do
|
||||
user = insert(:user, confirmation_pending: false, approval_pending: true)
|
||||
user = insert(:user, is_confirmed: true, is_approved: false)
|
||||
User.confirm(user)
|
||||
|
||||
ObanHelpers.perform_all()
|
||||
|
|
@ -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)
|
||||
|
||||
|
|
@ -1563,35 +1563,19 @@ defmodule Pleroma.UserTest do
|
|||
end
|
||||
end
|
||||
|
||||
describe "delete/1 when confirmation is pending" do
|
||||
setup do
|
||||
user = insert(:user, confirmation_pending: true)
|
||||
{:ok, user: user}
|
||||
end
|
||||
test "delete/1 when confirmation is pending deletes the user" do
|
||||
clear_config([:instance, :account_activation_required], true)
|
||||
user = insert(:user, is_confirmed: false)
|
||||
|
||||
test "deletes user from database when activation required", %{user: user} do
|
||||
clear_config([:instance, :account_activation_required], true)
|
||||
{:ok, job} = User.delete(user)
|
||||
{:ok, _} = ObanHelpers.perform(job)
|
||||
|
||||
{:ok, job} = User.delete(user)
|
||||
{:ok, _} = ObanHelpers.perform(job)
|
||||
|
||||
refute User.get_cached_by_id(user.id)
|
||||
refute User.get_by_id(user.id)
|
||||
end
|
||||
|
||||
test "deactivates user when activation is not required", %{user: user} do
|
||||
clear_config([:instance, :account_activation_required], false)
|
||||
|
||||
{:ok, job} = User.delete(user)
|
||||
{:ok, _} = ObanHelpers.perform(job)
|
||||
|
||||
assert %{deactivated: true} = User.get_cached_by_id(user.id)
|
||||
assert %{deactivated: true} = User.get_by_id(user.id)
|
||||
end
|
||||
refute User.get_cached_by_id(user.id)
|
||||
refute User.get_by_id(user.id)
|
||||
end
|
||||
|
||||
test "delete/1 when approval is pending deletes the user" do
|
||||
user = insert(:user, approval_pending: true)
|
||||
user = insert(:user, is_approved: false)
|
||||
|
||||
{:ok, job} = User.delete(user)
|
||||
{:ok, _} = ObanHelpers.perform(job)
|
||||
|
|
@ -1616,13 +1600,13 @@ defmodule Pleroma.UserTest do
|
|||
follower_count: 9,
|
||||
following_count: 9001,
|
||||
is_locked: true,
|
||||
confirmation_pending: true,
|
||||
is_confirmed: false,
|
||||
password_reset_pending: true,
|
||||
approval_pending: true,
|
||||
is_approved: false,
|
||||
registration_reason: "ahhhhh",
|
||||
confirmation_token: "qqqq",
|
||||
domain_blocks: ["lain.com"],
|
||||
deactivated: true,
|
||||
is_active: false,
|
||||
ap_enabled: true,
|
||||
is_moderator: true,
|
||||
is_admin: true,
|
||||
|
|
@ -1658,13 +1642,13 @@ defmodule Pleroma.UserTest do
|
|||
follower_count: 0,
|
||||
following_count: 0,
|
||||
is_locked: false,
|
||||
confirmation_pending: false,
|
||||
is_confirmed: true,
|
||||
password_reset_pending: false,
|
||||
approval_pending: false,
|
||||
is_approved: true,
|
||||
registration_reason: nil,
|
||||
confirmation_token: nil,
|
||||
domain_blocks: [],
|
||||
deactivated: true,
|
||||
is_active: false,
|
||||
ap_enabled: false,
|
||||
is_moderator: false,
|
||||
is_admin: false,
|
||||
|
|
@ -1729,13 +1713,13 @@ defmodule Pleroma.UserTest do
|
|||
|
||||
test "return confirmation_pending for unconfirm user" do
|
||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||
user = insert(:user, confirmation_pending: true)
|
||||
user = insert(:user, is_confirmed: false)
|
||||
assert User.account_status(user) == :confirmation_pending
|
||||
end
|
||||
|
||||
test "return active for confirmed user" do
|
||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||
user = insert(:user, confirmation_pending: false)
|
||||
user = insert(:user, is_confirmed: true)
|
||||
assert User.account_status(user) == :active
|
||||
end
|
||||
|
||||
|
|
@ -1750,15 +1734,15 @@ defmodule Pleroma.UserTest do
|
|||
end
|
||||
|
||||
test "returns :deactivated for deactivated user" do
|
||||
user = insert(:user, local: true, confirmation_pending: false, deactivated: true)
|
||||
user = insert(:user, local: true, is_confirmed: true, is_active: false)
|
||||
assert User.account_status(user) == :deactivated
|
||||
end
|
||||
|
||||
test "returns :approval_pending for unapproved user" do
|
||||
user = insert(:user, local: true, approval_pending: true)
|
||||
user = insert(:user, local: true, is_approved: false)
|
||||
assert User.account_status(user) == :approval_pending
|
||||
|
||||
user = insert(:user, local: true, confirmation_pending: true, approval_pending: true)
|
||||
user = insert(:user, local: true, is_confirmed: false, is_approved: false)
|
||||
assert User.account_status(user) == :approval_pending
|
||||
end
|
||||
end
|
||||
|
|
@ -1815,7 +1799,7 @@ defmodule Pleroma.UserTest do
|
|||
test "returns false when the account is unconfirmed and confirmation is required" do
|
||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||
|
||||
user = insert(:user, local: true, confirmation_pending: true)
|
||||
user = insert(:user, local: true, is_confirmed: false)
|
||||
other_user = insert(:user, local: true)
|
||||
|
||||
refute User.visible_for(user, other_user) == :visible
|
||||
|
|
@ -1824,14 +1808,7 @@ defmodule Pleroma.UserTest do
|
|||
test "returns true when the account is unconfirmed and confirmation is required but the account is remote" do
|
||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||
|
||||
user = insert(:user, local: false, confirmation_pending: true)
|
||||
other_user = insert(:user, local: true)
|
||||
|
||||
assert User.visible_for(user, other_user) == :visible
|
||||
end
|
||||
|
||||
test "returns true when the account is unconfirmed and confirmation is not required" do
|
||||
user = insert(:user, local: true, confirmation_pending: true)
|
||||
user = insert(:user, local: false, is_confirmed: false)
|
||||
other_user = insert(:user, local: true)
|
||||
|
||||
assert User.visible_for(user, other_user) == :visible
|
||||
|
|
@ -1840,7 +1817,7 @@ defmodule Pleroma.UserTest do
|
|||
test "returns true when the account is unconfirmed and being viewed by a privileged account (confirmation required)" do
|
||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||
|
||||
user = insert(:user, local: true, confirmation_pending: true)
|
||||
user = insert(:user, local: true, is_confirmed: false)
|
||||
other_user = insert(:user, local: true, is_admin: true)
|
||||
|
||||
assert User.visible_for(user, other_user) == :visible
|
||||
|
|
@ -1908,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 =
|
||||
|
|
@ -1926,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))
|
||||
|
|
@ -1959,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
|
||||
|
|
@ -2029,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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -159,20 +159,12 @@ defmodule Pleroma.Web.ActivityPub.SideEffectsTest do
|
|||
|
||||
describe "delete users with confirmation pending" do
|
||||
setup do
|
||||
user = insert(:user, confirmation_pending: true)
|
||||
user = insert(:user, is_confirmed: false)
|
||||
{:ok, delete_user_data, _meta} = Builder.delete(user, user.ap_id)
|
||||
{:ok, delete_user, _meta} = ActivityPub.persist(delete_user_data, local: true)
|
||||
{:ok, delete: delete_user, user: user}
|
||||
end
|
||||
|
||||
test "when activation is not required", %{delete: delete, user: user} do
|
||||
clear_config([:instance, :account_activation_required], false)
|
||||
{:ok, _, _} = SideEffects.handle(delete)
|
||||
ObanHelpers.perform_all()
|
||||
|
||||
assert User.get_cached_by_id(user.id).deactivated
|
||||
end
|
||||
|
||||
test "when activation is required", %{delete: delete, user: user} do
|
||||
clear_config([:instance, :account_activation_required], true)
|
||||
{:ok, _, _} = SideEffects.handle(delete)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -891,10 +891,10 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
|
|||
|
||||
describe "PATCH /confirm_email" do
|
||||
test "it confirms emails of two users", %{conn: conn, admin: admin} do
|
||||
[first_user, second_user] = insert_pair(:user, confirmation_pending: true)
|
||||
[first_user, second_user] = insert_pair(:user, is_confirmed: false)
|
||||
|
||||
assert first_user.confirmation_pending == true
|
||||
assert second_user.confirmation_pending == true
|
||||
refute first_user.is_confirmed
|
||||
refute second_user.is_confirmed
|
||||
|
||||
ret_conn =
|
||||
patch(conn, "/api/pleroma/admin/users/confirm_email", %{
|
||||
|
|
@ -906,8 +906,11 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
|
|||
|
||||
assert ret_conn.status == 200
|
||||
|
||||
assert first_user.confirmation_pending == true
|
||||
assert second_user.confirmation_pending == true
|
||||
first_user = User.get_by_id(first_user.id)
|
||||
second_user = User.get_by_id(second_user.id)
|
||||
|
||||
assert first_user.is_confirmed
|
||||
assert second_user.is_confirmed
|
||||
|
||||
log_entry = Repo.one(ModerationLog)
|
||||
|
||||
|
|
@ -920,7 +923,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
|
|||
|
||||
describe "PATCH /resend_confirmation_email" do
|
||||
test "it resend emails for two users", %{conn: conn, admin: admin} do
|
||||
[first_user, second_user] = insert_pair(:user, confirmation_pending: true)
|
||||
[first_user, second_user] = insert_pair(:user, is_confirmed: false)
|
||||
|
||||
ret_conn =
|
||||
patch(conn, "/api/pleroma/admin/users/resend_confirmation_email", %{
|
||||
|
|
|
|||
|
|
@ -47,8 +47,8 @@ defmodule Pleroma.Web.AdminAPI.StatusControllerTest do
|
|||
|
||||
assert account["id"] == actor.id
|
||||
assert account["nickname"] == actor.nickname
|
||||
assert account["deactivated"] == actor.deactivated
|
||||
assert account["confirmation_pending"] == actor.confirmation_pending
|
||||
assert account["is_active"] == actor.is_active
|
||||
assert account["is_confirmed"] == actor.is_confirmed
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -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 == %{}
|
||||
|
|
@ -429,7 +429,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
|
|||
describe "GET /api/pleroma/admin/users" do
|
||||
test "renders users array for the first page", %{conn: conn, admin: admin} do
|
||||
user = insert(:user, local: false, tags: ["foo", "bar"])
|
||||
user2 = insert(:user, approval_pending: true, registration_reason: "I'm a chill dude")
|
||||
user2 = insert(:user, is_approved: false, registration_reason: "I'm a chill dude")
|
||||
|
||||
conn = get(conn, "/api/pleroma/admin/users?page=1")
|
||||
|
||||
|
|
@ -444,7 +444,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
|
|||
user2,
|
||||
%{
|
||||
"local" => true,
|
||||
"approval_pending" => true,
|
||||
"is_approved" => false,
|
||||
"registration_reason" => "I'm a chill dude",
|
||||
"actor_type" => "Person"
|
||||
}
|
||||
|
|
@ -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}
|
||||
})
|
||||
]
|
||||
|
|
@ -635,11 +635,11 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
|
|||
end
|
||||
|
||||
test "only unconfirmed users", %{conn: conn} do
|
||||
sad_user = insert(:user, nickname: "sadboy", confirmation_pending: true)
|
||||
old_user = insert(:user, nickname: "oldboy", confirmation_pending: true)
|
||||
sad_user = insert(:user, nickname: "sadboy", is_confirmed: false)
|
||||
old_user = insert(:user, nickname: "oldboy", is_confirmed: false)
|
||||
|
||||
insert(:user, nickname: "happyboy", approval_pending: false)
|
||||
insert(:user, confirmation_pending: false)
|
||||
insert(:user, nickname: "happyboy", is_approved: true)
|
||||
insert(:user, is_confirmed: true)
|
||||
|
||||
result =
|
||||
conn
|
||||
|
|
@ -649,8 +649,8 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
|
|||
users =
|
||||
Enum.map([old_user, sad_user], fn user ->
|
||||
user_response(user, %{
|
||||
"confirmation_pending" => true,
|
||||
"approval_pending" => false
|
||||
"is_confirmed" => false,
|
||||
"is_approved" => true
|
||||
})
|
||||
end)
|
||||
|> Enum.sort_by(& &1["nickname"])
|
||||
|
|
@ -662,18 +662,18 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
|
|||
user =
|
||||
insert(:user,
|
||||
nickname: "sadboy",
|
||||
approval_pending: true,
|
||||
is_approved: false,
|
||||
registration_reason: "Plz let me in!"
|
||||
)
|
||||
|
||||
insert(:user, nickname: "happyboy", approval_pending: false)
|
||||
insert(:user, nickname: "happyboy", is_approved: true)
|
||||
|
||||
conn = get(conn, "/api/pleroma/admin/users?filters=need_approval")
|
||||
|
||||
users = [
|
||||
user_response(
|
||||
user,
|
||||
%{"approval_pending" => true, "registration_reason" => "Plz let me in!"}
|
||||
%{"is_approved" => false, "registration_reason" => "Plz let me in!"}
|
||||
)
|
||||
]
|
||||
|
||||
|
|
@ -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}
|
||||
})
|
||||
]
|
||||
|
|
@ -816,8 +816,8 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
|
|||
end
|
||||
|
||||
test "`active` filters out users pending approval", %{token: token} do
|
||||
insert(:user, approval_pending: true)
|
||||
%{id: user_id} = insert(:user, approval_pending: false)
|
||||
insert(:user, is_approved: false)
|
||||
%{id: user_id} = insert(:user, is_approved: true)
|
||||
%{id: admin_id} = token.user
|
||||
|
||||
conn =
|
||||
|
|
@ -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)
|
||||
|
||||
|
|
@ -913,8 +913,8 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
|
|||
end
|
||||
|
||||
test "PATCH /api/pleroma/admin/users/approve", %{admin: admin, conn: conn} do
|
||||
user_one = insert(:user, approval_pending: true)
|
||||
user_two = insert(:user, approval_pending: true)
|
||||
user_one = insert(:user, is_approved: false)
|
||||
user_two = insert(:user, is_approved: false)
|
||||
|
||||
conn =
|
||||
patch(
|
||||
|
|
@ -924,7 +924,7 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
|
|||
)
|
||||
|
||||
response = json_response(conn, 200)
|
||||
assert Enum.map(response["users"], & &1["approval_pending"]) == [false, false]
|
||||
assert Enum.map(response["users"], & &1["is_approved"]) == [true, true]
|
||||
|
||||
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,
|
||||
|
|
@ -960,8 +960,8 @@ defmodule Pleroma.Web.AdminAPI.UserControllerTest do
|
|||
"tags" => [],
|
||||
"avatar" => User.avatar_url(user) |> MediaProxy.url(),
|
||||
"display_name" => HTML.strip_tags(user.name || user.nickname),
|
||||
"confirmation_pending" => false,
|
||||
"approval_pending" => false,
|
||||
"is_confirmed" => true,
|
||||
"is_approved" => true,
|
||||
"url" => user.ap_id,
|
||||
"registration_reason" => nil,
|
||||
"actor_type" => "Person"
|
||||
|
|
|
|||
|
|
@ -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: ""})
|
||||
|
||||
|
|
@ -182,7 +182,7 @@ defmodule Pleroma.Web.AdminAPI.SearchTest do
|
|||
end
|
||||
|
||||
test "it returns unapproved user" do
|
||||
unapproved = insert(:user, approval_pending: true)
|
||||
unapproved = insert(:user, is_approved: false)
|
||||
insert(:user)
|
||||
insert(:user)
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ defmodule Pleroma.Web.AdminAPI.SearchTest do
|
|||
end
|
||||
|
||||
test "it returns unconfirmed user" do
|
||||
unconfirmed = insert(:user, confirmation_pending: true)
|
||||
unconfirmed = insert(:user, is_confirmed: false)
|
||||
insert(:user)
|
||||
insert(:user)
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
@ -744,6 +744,22 @@ defmodule Pleroma.Web.CommonAPITest do
|
|||
refute Visibility.visible_for_user?(announce_activity, nil)
|
||||
end
|
||||
|
||||
test "author can repeat own private statuses" do
|
||||
author = insert(:user)
|
||||
follower = insert(:user)
|
||||
CommonAPI.follow(follower, author)
|
||||
|
||||
{:ok, activity} = CommonAPI.post(author, %{status: "cofe", visibility: "private"})
|
||||
|
||||
{:ok, %Activity{} = announce_activity} = CommonAPI.repeat(activity.id, author)
|
||||
|
||||
assert Visibility.is_private?(announce_activity)
|
||||
refute Visibility.visible_for_user?(announce_activity, nil)
|
||||
|
||||
assert Visibility.visible_for_user?(activity, follower)
|
||||
assert {:error, :not_found} = CommonAPI.repeat(activity.id, follower)
|
||||
end
|
||||
|
||||
test "favoriting a status" do
|
||||
user = insert(:user)
|
||||
other_user = insert(:user)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -1027,8 +1027,8 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do
|
|||
user = Repo.preload(token_from_db, :user).user
|
||||
|
||||
assert user
|
||||
refute user.confirmation_pending
|
||||
refute user.approval_pending
|
||||
assert user.is_confirmed
|
||||
assert user.is_approved
|
||||
end
|
||||
|
||||
test "registers but does not log in with :account_activation_required", %{conn: conn} do
|
||||
|
|
@ -1088,7 +1088,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do
|
|||
refute response["token_type"]
|
||||
|
||||
user = Repo.get_by(User, email: "lain@example.org")
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
end
|
||||
|
||||
test "registers but does not log in with :account_approval_required", %{conn: conn} do
|
||||
|
|
@ -1150,7 +1150,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountControllerTest do
|
|||
|
||||
user = Repo.get_by(User, email: "lain@example.org")
|
||||
|
||||
assert user.approval_pending
|
||||
refute user.is_approved
|
||||
assert user.registration_reason == "I'm a cool dude, bro"
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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"})
|
||||
|
|
|
|||
|
|
@ -47,6 +47,78 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do
|
|||
end
|
||||
end
|
||||
|
||||
test "own_votes" do
|
||||
%{conn: conn} = oauth_access(["write:statuses", "read:statuses"])
|
||||
|
||||
other_user = insert(:user)
|
||||
|
||||
{:ok, activity} =
|
||||
CommonAPI.post(other_user, %{
|
||||
status: "A very delicious sandwich",
|
||||
poll: %{
|
||||
options: ["Lettuce", "Grilled Bacon", "Tomato"],
|
||||
expires_in: 20,
|
||||
multiple: true
|
||||
}
|
||||
})
|
||||
|
||||
object = Object.normalize(activity, fetch: false)
|
||||
|
||||
conn
|
||||
|> put_req_header("content-type", "application/json")
|
||||
|> post("/api/v1/polls/#{object.id}/votes", %{"choices" => [0, 2]})
|
||||
|> json_response_and_validate_schema(200)
|
||||
|
||||
object = Object.get_by_id(object.id)
|
||||
|
||||
assert [
|
||||
%{
|
||||
"name" => "Lettuce",
|
||||
"replies" => %{"totalItems" => 1, "type" => "Collection"},
|
||||
"type" => "Note"
|
||||
},
|
||||
%{
|
||||
"name" => "Grilled Bacon",
|
||||
"replies" => %{"totalItems" => 0, "type" => "Collection"},
|
||||
"type" => "Note"
|
||||
},
|
||||
%{
|
||||
"name" => "Tomato",
|
||||
"replies" => %{"totalItems" => 1, "type" => "Collection"},
|
||||
"type" => "Note"
|
||||
}
|
||||
] == object.data["anyOf"]
|
||||
|
||||
assert %{"replies" => %{"totalItems" => 0}} =
|
||||
Enum.find(object.data["anyOf"], fn %{"name" => name} -> name == "Grilled Bacon" end)
|
||||
|
||||
Enum.each(["Lettuce", "Tomato"], fn title ->
|
||||
%{"replies" => %{"totalItems" => total_items}} =
|
||||
Enum.find(object.data["anyOf"], fn %{"name" => name} -> name == title end)
|
||||
|
||||
assert total_items == 1
|
||||
end)
|
||||
|
||||
assert %{
|
||||
"own_votes" => own_votes,
|
||||
"voted" => true
|
||||
} =
|
||||
conn
|
||||
|> get("/api/v1/polls/#{object.id}")
|
||||
|> json_response_and_validate_schema(200)
|
||||
|
||||
assert 0 in own_votes
|
||||
assert 2 in own_votes
|
||||
# for non authenticated user
|
||||
response =
|
||||
build_conn()
|
||||
|> get("/api/v1/polls/#{object.id}")
|
||||
|> json_response_and_validate_schema(200)
|
||||
|
||||
refute Map.has_key?(response, "own_votes")
|
||||
refute Map.has_key?(response, "voted")
|
||||
end
|
||||
|
||||
describe "POST /api/v1/polls/:id/votes" do
|
||||
setup do: oauth_access(["write:statuses"])
|
||||
|
||||
|
|
@ -65,12 +137,11 @@ defmodule Pleroma.Web.MastodonAPI.PollControllerTest do
|
|||
|
||||
object = Object.normalize(activity, fetch: false)
|
||||
|
||||
conn =
|
||||
conn
|
||||
|> put_req_header("content-type", "application/json")
|
||||
|> post("/api/v1/polls/#{object.id}/votes", %{"choices" => [0, 1, 2]})
|
||||
conn
|
||||
|> put_req_header("content-type", "application/json")
|
||||
|> post("/api/v1/polls/#{object.id}/votes", %{"choices" => [0, 1, 2]})
|
||||
|> json_response_and_validate_schema(200)
|
||||
|
||||
assert json_response_and_validate_schema(conn, 200)
|
||||
object = Object.get_by_id(object.id)
|
||||
|
||||
assert Enum.all?(object.data["anyOf"], fn %{"replies" => %{"totalItems" => total_items}} ->
|
||||
|
|
|
|||
|
|
@ -954,6 +954,23 @@ defmodule Pleroma.Web.MastodonAPI.StatusControllerTest do
|
|||
|
||||
assert to_string(activity.id) == id
|
||||
end
|
||||
|
||||
test "author can reblog own private status", %{conn: conn, user: user} do
|
||||
{:ok, activity} = CommonAPI.post(user, %{status: "cofe", visibility: "private"})
|
||||
|
||||
conn =
|
||||
conn
|
||||
|> put_req_header("content-type", "application/json")
|
||||
|> post("/api/v1/statuses/#{activity.id}/reblog")
|
||||
|
||||
assert %{
|
||||
"reblog" => %{"id" => id, "reblogged" => true, "reblogs_count" => 1},
|
||||
"reblogged" => true,
|
||||
"visibility" => "private"
|
||||
} = json_response_and_validate_schema(conn, 200)
|
||||
|
||||
assert to_string(activity.id) == id
|
||||
end
|
||||
end
|
||||
|
||||
describe "unreblogging" do
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
|
|||
also_known_as: ["https://shitposter.zone/users/shp"],
|
||||
background_image: "https://example.com/images/asuka_hospital.png",
|
||||
favicon: nil,
|
||||
confirmation_pending: false,
|
||||
is_confirmed: true,
|
||||
tags: [],
|
||||
is_admin: false,
|
||||
is_moderator: false,
|
||||
|
|
@ -178,7 +178,7 @@ defmodule Pleroma.Web.MastodonAPI.AccountViewTest do
|
|||
also_known_as: [],
|
||||
background_image: nil,
|
||||
favicon: nil,
|
||||
confirmation_pending: false,
|
||||
is_confirmed: true,
|
||||
tags: [],
|
||||
is_admin: false,
|
||||
is_moderator: false,
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -42,7 +42,6 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do
|
|||
%{title: "yes", votes_count: 0},
|
||||
%{title: "why are you even asking?", votes_count: 0}
|
||||
],
|
||||
voted: false,
|
||||
votes_count: 0,
|
||||
voters_count: 0
|
||||
}
|
||||
|
|
@ -124,6 +123,8 @@ defmodule Pleroma.Web.MastodonAPI.PollViewTest do
|
|||
result = PollView.render("show.json", %{object: object, for: other_user})
|
||||
|
||||
assert result[:voted] == true
|
||||
assert 1 in result[:own_votes]
|
||||
assert 2 in result[:own_votes]
|
||||
assert Enum.at(result[:options], 1)[:votes_count] == 1
|
||||
assert Enum.at(result[:options], 2)[:votes_count] == 1
|
||||
end
|
||||
|
|
|
|||
|
|
@ -263,7 +263,7 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
|
|||
tags: [
|
||||
%{
|
||||
name: "#{object_data["tag"]}",
|
||||
url: "/tag/#{object_data["tag"]}"
|
||||
url: "http://localhost:4001/tag/#{object_data["tag"]}"
|
||||
}
|
||||
],
|
||||
application: %{
|
||||
|
|
@ -585,9 +585,9 @@ defmodule Pleroma.Web.MastodonAPI.StatusViewTest do
|
|||
]
|
||||
|
||||
assert StatusView.build_tags(object_tags) == [
|
||||
%{name: "fediverse", url: "/tag/fediverse"},
|
||||
%{name: "mastodon", url: "/tag/mastodon"},
|
||||
%{name: "nextcloud", url: "/tag/nextcloud"}
|
||||
%{name: "fediverse", url: "http://localhost:4001/tag/fediverse"},
|
||||
%{name: "mastodon", url: "http://localhost:4001/tag/mastodon"},
|
||||
%{name: "nextcloud", url: "http://localhost:4001/tag/nextcloud"}
|
||||
]
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ defmodule Pleroma.Web.MediaProxy.Invalidation.ScriptTest do
|
|||
|
||||
import ExUnit.CaptureLog
|
||||
|
||||
test "it logger error when script not found" do
|
||||
test "it logs error when script is not found" do
|
||||
assert capture_log(fn ->
|
||||
assert Invalidation.Script.purge(
|
||||
["http://example.com/media/example.jpg"],
|
||||
|
|
@ -23,4 +23,30 @@ defmodule Pleroma.Web.MediaProxy.Invalidation.ScriptTest do
|
|||
) == {:error, "\"not found script path\""}
|
||||
end)
|
||||
end
|
||||
|
||||
describe "url formatting" do
|
||||
setup do
|
||||
urls = [
|
||||
"https://bikeshed.party/media/foo.png",
|
||||
"http://safe.millennial.space/proxy/wheeeee.gif",
|
||||
"https://lain.com/proxy/mediafile.mp4?foo&bar=true",
|
||||
"http://localhost:4000/media/upload.jpeg"
|
||||
]
|
||||
|
||||
[urls: urls]
|
||||
end
|
||||
|
||||
test "with invalid formatter", %{urls: urls} do
|
||||
assert urls == Invalidation.Script.maybe_format_urls(urls, nil)
|
||||
end
|
||||
|
||||
test "with :htcacheclean formatter", %{urls: urls} do
|
||||
assert [
|
||||
"https://bikeshed.party:443/media/foo.png?",
|
||||
"http://safe.millennial.space:80/proxy/wheeeee.gif?",
|
||||
"https://lain.com:443/proxy/mediafile.mp4?foo&bar=true",
|
||||
"http://localhost:4000/media/upload.jpeg?"
|
||||
] == Invalidation.Script.maybe_format_urls(urls, :htcacheclean)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -928,7 +928,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do
|
|||
|
||||
{:ok, user} =
|
||||
insert(:user, password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt(password))
|
||||
|> User.confirmation_changeset(need_confirmation: true)
|
||||
|> User.confirmation_changeset(set_confirmation: false)
|
||||
|> User.update_and_set_cache()
|
||||
|
||||
refute Pleroma.User.account_status(user) == :active
|
||||
|
|
@ -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)
|
||||
|
|
@ -1013,7 +1013,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do
|
|||
user =
|
||||
insert(:user,
|
||||
password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt(password),
|
||||
confirmation_pending: true
|
||||
is_confirmed: false
|
||||
)
|
||||
|
||||
app = insert(:oauth_app, scopes: ["read", "write"])
|
||||
|
|
@ -1041,7 +1041,7 @@ defmodule Pleroma.Web.OAuth.OAuthControllerTest do
|
|||
user =
|
||||
insert(:user,
|
||||
password_hash: Pleroma.Password.Pbkdf2.hash_pwd_salt(password),
|
||||
approval_pending: true
|
||||
is_approved: false
|
||||
)
|
||||
|
||||
refute Pleroma.User.account_status(user) == :active
|
||||
|
|
|
|||
|
|
@ -17,10 +17,10 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do
|
|||
setup do
|
||||
{:ok, user} =
|
||||
insert(:user)
|
||||
|> User.confirmation_changeset(need_confirmation: true)
|
||||
|> User.confirmation_changeset(set_confirmation: false)
|
||||
|> User.update_and_set_cache()
|
||||
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
|
||||
[user: user]
|
||||
end
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ defmodule Pleroma.Web.Plugs.UserEnabledPlugTest do
|
|||
%{conn: conn} do
|
||||
Pleroma.Config.put([:instance, :account_activation_required], true)
|
||||
|
||||
user = insert(:user, confirmation_pending: true)
|
||||
user = insert(:user, is_confirmed: false)
|
||||
|
||||
conn =
|
||||
conn
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -64,10 +64,10 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
|
|||
setup do
|
||||
{:ok, user} =
|
||||
insert(:user)
|
||||
|> User.confirmation_changeset(need_confirmation: true)
|
||||
|> User.confirmation_changeset(set_confirmation: false)
|
||||
|> Repo.update()
|
||||
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
|
||||
[user: user]
|
||||
end
|
||||
|
|
@ -83,7 +83,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
|
|||
|
||||
user = User.get_cached_by_id(user.id)
|
||||
|
||||
refute user.confirmation_pending
|
||||
assert user.is_confirmed
|
||||
refute user.confirmation_token
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -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 =
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
|
|||
{:ok, user} = TwitterAPI.register_user(data)
|
||||
ObanHelpers.perform_all()
|
||||
|
||||
assert user.confirmation_pending
|
||||
refute user.is_confirmed
|
||||
|
||||
email = Pleroma.Emails.UserEmail.account_confirmation_email(user)
|
||||
|
||||
|
|
@ -97,7 +97,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPITest do
|
|||
{:ok, user} = TwitterAPI.register_user(data)
|
||||
ObanHelpers.perform_all()
|
||||
|
||||
assert user.approval_pending
|
||||
refute user.is_approved
|
||||
|
||||
user_email = Pleroma.Emails.UserEmail.approval_pending_email(user)
|
||||
admin_email = Pleroma.Emails.AdminEmail.new_unapproved_registration(admin, user)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue