Remove vapidPublicKey from Nodeinfo
[akkoma] / test / web / mastodon_api / controllers / domain_block_controller_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.MastodonAPI.DomainBlockControllerTest do
6 use Pleroma.Web.ConnCase
7
8 alias Pleroma.User
9
10 import Pleroma.Factory
11
12 test "blocking / unblocking a domain" do
13 %{user: user, conn: conn} = oauth_access(["write:blocks"])
14 other_user = insert(:user, %{ap_id: "https://dogwhistle.zone/@pundit"})
15
16 ret_conn = post(conn, "/api/v1/domain_blocks", %{"domain" => "dogwhistle.zone"})
17
18 assert %{} = json_response(ret_conn, 200)
19 user = User.get_cached_by_ap_id(user.ap_id)
20 assert User.blocks?(user, other_user)
21
22 ret_conn = delete(conn, "/api/v1/domain_blocks", %{"domain" => "dogwhistle.zone"})
23
24 assert %{} = json_response(ret_conn, 200)
25 user = User.get_cached_by_ap_id(user.ap_id)
26 refute User.blocks?(user, other_user)
27 end
28
29 test "getting a list of domain blocks" do
30 %{user: user, conn: conn} = oauth_access(["read:blocks"])
31
32 {:ok, user} = User.block_domain(user, "bad.site")
33 {:ok, user} = User.block_domain(user, "even.worse.site")
34
35 conn =
36 conn
37 |> assign(:user, user)
38 |> get("/api/v1/domain_blocks")
39
40 domain_blocks = json_response(conn, 200)
41
42 assert "bad.site" in domain_blocks
43 assert "even.worse.site" in domain_blocks
44 end
45 end