diff options
author | Alex Gleason <alex@alexgleason.me> | 2020-07-16 14:51:36 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2020-07-16 14:51:36 -0500 |
commit | 38425ebdbf157377ccb0402f78dc3d02f81c55f5 (patch) | |
tree | 740f32837d28e918f097c948d89827d99434d5b2 /test/web/activity_pub/object_validators/update_validation_test.exs | |
parent | 8daacc911498d827fd68ea3d34eb1be9ae4a1ffe (diff) | |
parent | 3a2b2cb6f2d6ce39ae0d246649189c021c535992 (diff) | |
download | pleroma-38425ebdbf157377ccb0402f78dc3d02f81c55f5.tar.gz pleroma-38425ebdbf157377ccb0402f78dc3d02f81c55f5.zip |
Merge remote-tracking branch 'upstream/develop' into linkify
Diffstat (limited to 'test/web/activity_pub/object_validators/update_validation_test.exs')
-rw-r--r-- | test/web/activity_pub/object_validators/update_validation_test.exs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/web/activity_pub/object_validators/update_validation_test.exs b/test/web/activity_pub/object_validators/update_validation_test.exs new file mode 100644 index 000000000..5e80cf731 --- /dev/null +++ b/test/web/activity_pub/object_validators/update_validation_test.exs @@ -0,0 +1,44 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/> +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.ObjectValidators.UpdateHandlingTest do + use Pleroma.DataCase + + alias Pleroma.Web.ActivityPub.Builder + alias Pleroma.Web.ActivityPub.ObjectValidator + + import Pleroma.Factory + + describe "updates" do + setup do + user = insert(:user) + + object = %{ + "id" => user.ap_id, + "name" => "A new name", + "summary" => "A new bio" + } + + {:ok, valid_update, []} = Builder.update(user, object) + + %{user: user, valid_update: valid_update} + end + + test "validates a basic object", %{valid_update: valid_update} do + assert {:ok, _update, []} = ObjectValidator.validate(valid_update, []) + end + + test "returns an error if the object can't be updated by the actor", %{ + valid_update: valid_update + } do + other_user = insert(:user) + + update = + valid_update + |> Map.put("actor", other_user.ap_id) + + assert {:error, _cng} = ObjectValidator.validate(update, []) + end + end +end |