# Pleroma: A lightweight social networking server
# Copyright © 2017-2020 Pleroma Authors
Some bio
" end test "it works with alsoKnownAs" do %{ap_id: actor} = insert(:user, local: false) assert User.get_cached_by_ap_id(actor).also_known_as == [] {:ok, _activity} = "test/fixtures/mastodon-update.json" |> File.read!() |> Poison.decode!() |> Map.put("actor", actor) |> Map.update!("object", fn object -> object |> Map.put("actor", actor) |> Map.put("id", actor) |> Map.put("alsoKnownAs", [ "http://mastodon.example.org/users/foo", "http://example.org/users/bar" ]) end) |> Transmogrifier.handle_incoming() assert User.get_cached_by_ap_id(actor).also_known_as == [ "http://mastodon.example.org/users/foo", "http://example.org/users/bar" ] end test "it works with custom profile fields" do user = insert(:user, local: false) assert user.fields == [] update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!() object = update_data["object"] |> Map.put("actor", user.ap_id) |> Map.put("id", user.ap_id) update_data = update_data |> Map.put("actor", user.ap_id) |> Map.put("object", object) {:ok, _update_activity} = Transmogrifier.handle_incoming(update_data) user = User.get_cached_by_ap_id(user.ap_id) assert user.fields == [ %{"name" => "foo", "value" => "updated"}, %{"name" => "foo1", "value" => "updated"} ] Pleroma.Config.put([:instance, :max_remote_account_fields], 2) update_data = update_data |> put_in(["object", "attachment"], [ %{"name" => "foo", "type" => "PropertyValue", "value" => "bar"}, %{"name" => "foo11", "type" => "PropertyValue", "value" => "bar11"}, %{"name" => "foo22", "type" => "PropertyValue", "value" => "bar22"} ]) |> Map.put("id", update_data["id"] <> ".") {:ok, _} = Transmogrifier.handle_incoming(update_data) user = User.get_cached_by_ap_id(user.ap_id) assert user.fields == [ %{"name" => "foo", "value" => "updated"}, %{"name" => "foo1", "value" => "updated"} ] update_data = update_data |> put_in(["object", "attachment"], []) |> Map.put("id", update_data["id"] <> ".") {:ok, _} = Transmogrifier.handle_incoming(update_data) user = User.get_cached_by_ap_id(user.ap_id) assert user.fields == [] end test "it works for incoming update activities which lock the account" do user = insert(:user, local: false) update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!() object = update_data["object"] |> Map.put("actor", user.ap_id) |> Map.put("id", user.ap_id) |> Map.put("manuallyApprovesFollowers", true) update_data = update_data |> Map.put("actor", user.ap_id) |> Map.put("object", object) {:ok, %Activity{local: false}} = Transmogrifier.handle_incoming(update_data) user = User.get_cached_by_ap_id(user.ap_id) assert user.is_locked == true end end