summaryrefslogtreecommitdiff
path: root/test/web/activity_pub/object_validators/update_validation_test.exs
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-07-10 12:26:53 +0200
committerlain <lain@soykaf.club>2020-07-10 12:26:53 +0200
commitb39eb6ecc573c310801fe49f35d92246ddcb6226 (patch)
tree32b20b5a0ec3f5c8d44f1157087868adfaa549b0 /test/web/activity_pub/object_validators/update_validation_test.exs
parent208baf157ad0c8be470566d5d51d0214c229e6a5 (diff)
parent8aa7143f464562ca2a0572087c526f26d1a3b7ef (diff)
downloadpleroma-b39eb6ecc573c310801fe49f35d92246ddcb6226.tar.gz
pleroma-b39eb6ecc573c310801fe49f35d92246ddcb6226.zip
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into chat-federation-information
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.exs44
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