Merge remote-tracking branch 'pleroma/develop' into feature/addressable-lists
This commit is contained in:
commit
a7a8f3bc2c
23 changed files with 463 additions and 168 deletions
|
|
@ -28,6 +28,15 @@ defmodule Pleroma.ConfigTest do
|
|||
assert Pleroma.Config.get([:azerty, :uiop], true) == true
|
||||
end
|
||||
|
||||
test "get/1 when value is false" do
|
||||
Pleroma.Config.put([:instance, :false_test], false)
|
||||
Pleroma.Config.put([:instance, :nested], [])
|
||||
Pleroma.Config.put([:instance, :nested, :false_test], false)
|
||||
|
||||
assert Pleroma.Config.get([:instance, :false_test]) == false
|
||||
assert Pleroma.Config.get([:instance, :nested, :false_test]) == false
|
||||
end
|
||||
|
||||
test "get!/1" do
|
||||
assert Pleroma.Config.get!(:instance) == Application.get_env(:pleroma, :instance)
|
||||
|
||||
|
|
@ -43,6 +52,15 @@ defmodule Pleroma.ConfigTest do
|
|||
end)
|
||||
end
|
||||
|
||||
test "get!/1 when value is false" do
|
||||
Pleroma.Config.put([:instance, :false_test], false)
|
||||
Pleroma.Config.put([:instance, :nested], [])
|
||||
Pleroma.Config.put([:instance, :nested, :false_test], false)
|
||||
|
||||
assert Pleroma.Config.get!([:instance, :false_test]) == false
|
||||
assert Pleroma.Config.get!([:instance, :nested, :false_test]) == false
|
||||
end
|
||||
|
||||
test "put/2 with a key" do
|
||||
Pleroma.Config.put(:config_test, true)
|
||||
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ defmodule Pleroma.UserTest do
|
|||
alias Pleroma.Object
|
||||
alias Pleroma.Repo
|
||||
alias Pleroma.User
|
||||
alias Pleroma.Web.ActivityPub.ActivityPub
|
||||
alias Pleroma.Web.CommonAPI
|
||||
|
||||
use Pleroma.DataCase
|
||||
|
|
@ -213,8 +214,8 @@ defmodule Pleroma.UserTest do
|
|||
test "fetches correct profile for nickname beginning with number" do
|
||||
# Use old-style integer ID to try to reproduce the problem
|
||||
user = insert(:user, %{id: 1080})
|
||||
userwithnumbers = insert(:user, %{nickname: "#{user.id}garbage"})
|
||||
assert userwithnumbers == User.get_cached_by_nickname_or_id(userwithnumbers.nickname)
|
||||
user_with_numbers = insert(:user, %{nickname: "#{user.id}garbage"})
|
||||
assert user_with_numbers == User.get_cached_by_nickname_or_id(user_with_numbers.nickname)
|
||||
end
|
||||
|
||||
describe "user registration" do
|
||||
|
|
@ -816,13 +817,73 @@ defmodule Pleroma.UserTest do
|
|||
assert addressed in recipients
|
||||
end
|
||||
|
||||
test ".deactivate can de-activate then re-activate a user" do
|
||||
user = insert(:user)
|
||||
assert false == user.info.deactivated
|
||||
{:ok, user} = User.deactivate(user)
|
||||
assert true == user.info.deactivated
|
||||
{:ok, user} = User.deactivate(user, false)
|
||||
assert false == user.info.deactivated
|
||||
describe ".deactivate" do
|
||||
test "can de-activate then re-activate a user" do
|
||||
user = insert(:user)
|
||||
assert false == user.info.deactivated
|
||||
{:ok, user} = User.deactivate(user)
|
||||
assert true == user.info.deactivated
|
||||
{:ok, user} = User.deactivate(user, false)
|
||||
assert false == user.info.deactivated
|
||||
end
|
||||
|
||||
test "hide a user from followers " do
|
||||
user = insert(:user)
|
||||
user2 = insert(:user)
|
||||
|
||||
{:ok, user} = User.follow(user, user2)
|
||||
{:ok, _user} = User.deactivate(user)
|
||||
|
||||
info = User.get_cached_user_info(user2)
|
||||
|
||||
assert info.follower_count == 0
|
||||
assert {:ok, []} = User.get_followers(user2)
|
||||
end
|
||||
|
||||
test "hide a user from friends" do
|
||||
user = insert(:user)
|
||||
user2 = insert(:user)
|
||||
|
||||
{:ok, user2} = User.follow(user2, user)
|
||||
assert User.following_count(user2) == 1
|
||||
|
||||
{:ok, _user} = User.deactivate(user)
|
||||
|
||||
info = User.get_cached_user_info(user2)
|
||||
|
||||
assert info.following_count == 0
|
||||
assert User.following_count(user2) == 0
|
||||
assert {:ok, []} = User.get_friends(user2)
|
||||
end
|
||||
|
||||
test "hide a user's statuses from timelines and notifications" do
|
||||
user = insert(:user)
|
||||
user2 = insert(:user)
|
||||
|
||||
{:ok, user2} = User.follow(user2, user)
|
||||
|
||||
{:ok, activity} = CommonAPI.post(user, %{"status" => "hey @#{user2.nickname}"})
|
||||
|
||||
activity = Repo.preload(activity, :bookmark)
|
||||
|
||||
[notification] = Pleroma.Notification.for_user(user2)
|
||||
assert notification.activity.id == activity.id
|
||||
|
||||
assert [activity] == ActivityPub.fetch_public_activities(%{}) |> Repo.preload(:bookmark)
|
||||
|
||||
assert [activity] ==
|
||||
ActivityPub.fetch_activities([user2.ap_id | user2.following], %{"user" => user2})
|
||||
|> ActivityPub.contain_timeline(user2)
|
||||
|
||||
{:ok, _user} = User.deactivate(user)
|
||||
|
||||
assert [] == ActivityPub.fetch_public_activities(%{})
|
||||
assert [] == Pleroma.Notification.for_user(user2)
|
||||
|
||||
assert [] ==
|
||||
ActivityPub.fetch_activities([user2.ap_id | user2.following], %{"user" => user2})
|
||||
|> ActivityPub.contain_timeline(user2)
|
||||
end
|
||||
end
|
||||
|
||||
test ".delete_user_activities deletes all create activities" do
|
||||
|
|
|
|||
53
test/web/oauth/token/utils_test.exs
Normal file
53
test/web/oauth/token/utils_test.exs
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
# Pleroma: A lightweight social networking server
|
||||
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
defmodule Pleroma.Web.OAuth.Token.UtilsTest do
|
||||
use Pleroma.DataCase
|
||||
alias Pleroma.Web.OAuth.Token.Utils
|
||||
import Pleroma.Factory
|
||||
|
||||
describe "fetch_app/1" do
|
||||
test "returns error when credentials is invalid" do
|
||||
assert {:error, :not_found} =
|
||||
Utils.fetch_app(%Plug.Conn{params: %{"client_id" => 1, "client_secret" => "x"}})
|
||||
end
|
||||
|
||||
test "returns App by params credentails" do
|
||||
app = insert(:oauth_app)
|
||||
|
||||
assert {:ok, load_app} =
|
||||
Utils.fetch_app(%Plug.Conn{
|
||||
params: %{"client_id" => app.client_id, "client_secret" => app.client_secret}
|
||||
})
|
||||
|
||||
assert load_app == app
|
||||
end
|
||||
|
||||
test "returns App by header credentails" do
|
||||
app = insert(:oauth_app)
|
||||
header = "Basic " <> Base.encode64("#{app.client_id}:#{app.client_secret}")
|
||||
|
||||
conn =
|
||||
%Plug.Conn{}
|
||||
|> Plug.Conn.put_req_header("authorization", header)
|
||||
|
||||
assert {:ok, load_app} = Utils.fetch_app(conn)
|
||||
assert load_app == app
|
||||
end
|
||||
end
|
||||
|
||||
describe "format_created_at/1" do
|
||||
test "returns formatted created at" do
|
||||
token = insert(:oauth_token)
|
||||
date = Utils.format_created_at(token)
|
||||
|
||||
token_date =
|
||||
token.inserted_at
|
||||
|> DateTime.from_naive!("Etc/UTC")
|
||||
|> DateTime.to_unix()
|
||||
|
||||
assert token_date == date
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -251,4 +251,22 @@ defmodule Pleroma.Web.TwitterAPI.UtilControllerTest do
|
|||
|
||||
assert conn.status in [200, 503]
|
||||
end
|
||||
|
||||
describe "POST /api/pleroma/disable_account" do
|
||||
test "it returns HTTP 200", %{conn: conn} do
|
||||
user = insert(:user)
|
||||
|
||||
response =
|
||||
conn
|
||||
|> assign(:user, user)
|
||||
|> post("/api/pleroma/disable_account", %{"password" => "test"})
|
||||
|> json_response(:ok)
|
||||
|
||||
assert response == %{"status" => "success"}
|
||||
|
||||
user = User.get_cached_by_id(user.id)
|
||||
|
||||
assert user.info.deactivated == true
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue