5e675776090e74746b196582e4248ec69635441d
[akkoma] / activity_pub / object_validators / block_validation_test.exs
1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
4
5 defmodule Pleroma.Web.ActivityPub.ObjectValidators.BlockValidationTest do
6 use Pleroma.DataCase, async: true
7
8 alias Pleroma.Web.ActivityPub.Builder
9 alias Pleroma.Web.ActivityPub.ObjectValidator
10
11 import Pleroma.Factory
12
13 describe "blocks" do
14 setup do
15 clear_config([:activitypub, :outgoing_blocks], true)
16 user = insert(:user, local: false)
17 blocked = insert(:user)
18
19 {:ok, valid_block, []} = Builder.block(user, blocked)
20
21 %{user: user, valid_block: valid_block}
22 end
23
24 test "validates a basic object", %{
25 valid_block: valid_block
26 } do
27 assert {:ok, _block, []} = ObjectValidator.validate(valid_block, [])
28 end
29
30 test "returns an error if we don't know the blocked user", %{
31 valid_block: valid_block
32 } do
33 block =
34 valid_block
35 |> Map.put("object", "https://gensokyo.2hu/users/raymoo")
36
37 assert {:error, _cng} = ObjectValidator.validate(block, [])
38 end
39 end
40 end