Merge branch 'chore/jason-in-tests' into 'develop'

Use Jason instead of Poison in tests

See merge request 
This commit is contained in:
Haelwenn 2020-11-24 12:17:09 +00:00
commit ddf2314836
23 changed files with 121 additions and 128 deletions

View file

@ -2,12 +2,9 @@
"type": "Delete",
"signature": {
"type": "RsaSignature2017",
"signatureValue": "cw0RlfNREf+5VdsOYcCBDrv521eiLsDTAYNHKffjF0bozhCnOh+wHkFik7WamUk$
uEiN4L2H6vPlGRprAZGRhEwgy+A7rIFQNmLrpW5qV5UNVI/2F7kngEHqZQgbQYj9hW+5GMYmPkHdv3D72ZefGw$
4Xa2NBLGFpAjQllfzt7kzZLKKY2DM99FdUa64I2Wj3iD04Hs23SbrUdAeuGk/c1Cg6bwGNG4vxoiwn1jikgJLA$
NAlSGjsRGdR7LfbC7GqWWsW3cSNsLFPoU6FyALjgTrrYoHiXe0QHggw+L3yMLfzB2S/L46/VRbyb+WDKMBIXUL$
5owmzHSi6e/ZtCI3w==",
"creator": "http://mastodon.example.org/users/gargron#main-key", "created": "2018-03-03T16:24:11Z"
"signatureValue": "cw0RlfNREf+5VdsOYcCBDrv521eiLsDTAYNHKffjF0bozhCnOh+wHkFik7WamUk$uEiN4L2H6vPlGRprAZGRhEwgy+A7rIFQNmLrpW5qV5UNVI/2F7kngEHqZQgbQYj9hW+5GMYmPkHdv3D72ZefGw$4Xa2NBLGFpAjQllfzt7kzZLKKY2DM99FdUa64I2Wj3iD04Hs23SbrUdAeuGk/c1Cg6bwGNG4vxoiwn1jikgJLA$NAlSGjsRGdR7LfbC7GqWWsW3cSNsLFPoU6FyALjgTrrYoHiXe0QHggw+L3yMLfzB2S/L46/VRbyb+WDKMBIXUL$5owmzHSi6e/ZtCI3w==",
"creator": "http://mastodon.example.org/users/gargron#main-key",
"created": "2018-03-03T16:24:11Z"
},
"object": {
"type": "Tombstone",

View file

@ -1,56 +1,52 @@
{
"@context":[
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
"https://apfed.club/apschema/v1.4"
],
"id":"https://apfed.club/follow/9",
"type":"Follow",
"actor":{
"type":"Person",
"id":"https://apfed.club/channel/indio",
"preferredUsername":"indio",
"name":"Indio",
"updated":"2019-08-20T23:52:34Z",
"icon":{
"type":"Image",
"mediaType":"image/jpeg",
"updated":"2019-08-20T23:53:37Z",
"url":"https://apfed.club/photo/profile/l/2",
"height":300,
"width":300
"id": "https://apfed.club/follow/9",
"type": "Follow",
"actor": {
"type": "Person",
"id": "https://apfed.club/channel/indio",
"preferredUsername": "indio",
"name": "Indio",
"updated": "2019-08-20T23:52:34Z",
"icon": {
"type": "Image",
"mediaType": "image/jpeg",
"updated": "2019-08-20T23:53:37Z",
"url": "https://apfed.club/photo/profile/l/2",
"height": 300,
"width": 300
},
"url":"https://apfed.club/channel/indio",
"inbox":"https://apfed.club/inbox/indio",
"outbox":"https://apfed.club/outbox/indio",
"followers":"https://apfed.club/followers/indio",
"following":"https://apfed.club/following/indio",
"endpoints":{
"sharedInbox":"https://apfed.club/inbox"
"url": "https://apfed.club/channel/indio",
"inbox": "https://apfed.club/inbox/indio",
"outbox": "https://apfed.club/outbox/indio",
"followers": "https://apfed.club/followers/indio",
"following": "https://apfed.club/following/indio",
"endpoints": {
"sharedInbox": "https://apfed.club/inbox"
},
"publicKey":{
"id":"https://apfed.club/channel/indio",
"owner":"https://apfed.club/channel/indio",
"publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA77TIR1VuSYFnmDRFGHHb\n4vaGdx9ranzRX4bfOKAqa++Ch5L4EqJpPy08RuM+NrYCYiYl4QQFDSSDXAEgb5g9\nC1TgWTfI7q/E0UBX2Vr0mU6X4i1ztv0tuQvegRjcSJ7l1AvoBs8Ip4MEJ3OPEQhB\ngJqAACB3Gnps4zi2I0yavkxUfGVKr6zKT3BxWh5hTpKC7Do+ChIrVZC2EwxND9K6
\nsAnQHThcb5EQuvuzUQZKeS7IEOsd0JpZDmJjbfMGrAWE81pLIfEeeA2joCJiBBTO\nglDsW+juvZ+lWqJpMr2hMWpvfrFjJeUawNJCIzsLdVIZR+aKj5yy6yqoS8hkN9Ha\n1MljZpsXl+EmwcwAIqim1YeLwERCEAQ/JWbSt8pQTQbzZ6ibwQ4mchCxacrRbIVR
\nnL59fWMBassJcbY0VwrTugm2SBsYbDjESd55UZV03Rwr8qseGTyi+hH8O7w2SIaY\nzjN6AdZiPmsh00YflzlCk8MSLOHMol1vqIUzXxU8CdXn9+KsuQdZGrTz0YKN/db4\naVwUGJatz2Tsvf7R1tJBjJfeQWOWbbn3pycLVH86LjZ83qngp9ZVnAveUnUqz0yS
\nhe+buZ6UMsfGzbIYon2bKNlz6gYTH0YPcr+cLe+29drtt0GZiXha1agbpo4RB8zE
\naNL2fucF5YT0yNpbd/5WoV0CAwEAAQ==\n-----END PUBLIC KEY-----\n"
"publicKey": {
"id": "https://apfed.club/channel/indio",
"owner": "https://apfed.club/channel/indio",
"publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA77TIR1VuSYFnmDRFGHHb\n4vaGdx9ranzRX4bfOKAqa++Ch5L4EqJpPy08RuM+NrYCYiYl4QQFDSSDXAEgb5g9\nC1TgWTfI7q/E0UBX2Vr0mU6X4i1ztv0tuQvegRjcSJ7l1AvoBs8Ip4MEJ3OPEQhB\ngJqAACB3Gnps4zi2I0yavkxUfGVKr6zKT3BxWh5hTpKC7Do+ChIrVZC2EwxND9K6\nsAnQHThcb5EQuvuzUQZKeS7IEOsd0JpZDmJjbfMGrAWE81pLIfEeeA2joCJiBBTO\nglDsW+juvZ+lWqJpMr2hMWpvfrFjJeUawNJCIzsLdVIZR+aKj5yy6yqoS8hkN9Ha\n1MljZpsXl+EmwcwAIqim1YeLwERCEAQ/JWbSt8pQTQbzZ6ibwQ4mchCxacrRbIVR\nnL59fWMBassJcbY0VwrTugm2SBsYbDjESd55UZV03Rwr8qseGTyi+hH8O7w2SIaY\nzjN6AdZiPmsh00YflzlCk8MSLOHMol1vqIUzXxU8CdXn9+KsuQdZGrTz0YKN/db4\naVwUGJatz2Tsvf7R1tJBjJfeQWOWbbn3pycLVH86LjZ83qngp9ZVnAveUnUqz0yS\nhe+buZ6UMsfGzbIYon2bKNlz6gYTH0YPcr+cLe+29drtt0GZiXha1agbpo4RB8zE\naNL2fucF5YT0yNpbd/5WoV0CAwEAAQ==\n-----END PUBLIC KEY-----\n"
}
},
"object":"https://pleroma.site/users/kaniini",
"to":[
"object": "https://pleroma.site/users/kaniini",
"to": [
"https://pleroma.site/users/kaniini"
],
"signature":{
"@context":[
"signature": {
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1"
],
"type":"RsaSignature2017",
"nonce":"52c035e0a9e81dce8b486159204e97c22637e91f75cdfad5378de91de68e9117",
"creator":"https://apfed.club/channel/indio/public_key_pem",
"created":"2019-08-22T03:38:02Z",
"signatureValue":"oVliRCIqNIh6yUp851dYrF0y21aHp3Rz6VkIpW1pFMWfXuzExyWSfcELpyLseeRmsw5bUu9zJkH44B4G2LiJQKA9UoEQDjrDMZBmbeUpiQqq3DVUzkrBOI8bHZ7xyJ/CjSZcNHHh0MHhSKxswyxWMGi4zIqzkAZG3vRRgoPVHdjPm00sR3B8jBLw1cjoffv+KKeM/zEUpe13gqX9qHAWHHqZepxgSWmq+EKOkRvHUPBXiEJZfXzc5uW+vZ09F3WBYmaRoy8Y0e1P29fnRLqSy7EEINdrHaGclRqoUZyiawpkgy3lWWlynesV/HiLBR7EXT79eKstxf4wfTDaPKBCfTCsOWuMWHr7Genu37ew2/t7eiBGqCwwW12ylhml/OLHgNK3LOhmRABhtfpaFZSxfDVnlXfaLpY1xekVOj2oC0FpBtnoxVKLpIcyLw6dkfSil5ANd+hl59W/bpPA8KT90ii1fSNCo3+FcwQVx0YsPznJNA60XfFuVsme7zNcOst6393e1WriZxBanFpfB63zVQc9u1fjyfktx/yiUNxIlre+sz9OCc0AACn94iRhBYh4bbzdleUOTnM7lnD4Dj2FP+xeDIP8CA8wXUeq5+9kopSp2kAmlUEyFUdg4no7naIeu1SZnopfUg56PsVCp9JHiUK1SYAyWbdC+FbUECu5CvI="
"type": "RsaSignature2017",
"nonce": "52c035e0a9e81dce8b486159204e97c22637e91f75cdfad5378de91de68e9117",
"creator": "https://apfed.club/channel/indio/public_key_pem",
"created": "2019-08-22T03:38:02Z",
"signatureValue": "oVliRCIqNIh6yUp851dYrF0y21aHp3Rz6VkIpW1pFMWfXuzExyWSfcELpyLseeRmsw5bUu9zJkH44B4G2LiJQKA9UoEQDjrDMZBmbeUpiQqq3DVUzkrBOI8bHZ7xyJ/CjSZcNHHh0MHhSKxswyxWMGi4zIqzkAZG3vRRgoPVHdjPm00sR3B8jBLw1cjoffv+KKeM/zEUpe13gqX9qHAWHHqZepxgSWmq+EKOkRvHUPBXiEJZfXzc5uW+vZ09F3WBYmaRoy8Y0e1P29fnRLqSy7EEINdrHaGclRqoUZyiawpkgy3lWWlynesV/HiLBR7EXT79eKstxf4wfTDaPKBCfTCsOWuMWHr7Genu37ew2/t7eiBGqCwwW12ylhml/OLHgNK3LOhmRABhtfpaFZSxfDVnlXfaLpY1xekVOj2oC0FpBtnoxVKLpIcyLw6dkfSil5ANd+hl59W/bpPA8KT90ii1fSNCo3+FcwQVx0YsPznJNA60XfFuVsme7zNcOst6393e1WriZxBanFpfB63zVQc9u1fjyfktx/yiUNxIlre+sz9OCc0AACn94iRhBYh4bbzdleUOTnM7lnD4Dj2FP+xeDIP8CA8wXUeq5+9kopSp2kAmlUEyFUdg4no7naIeu1SZnopfUg56PsVCp9JHiUK1SYAyWbdC+FbUECu5CvI="
}
}

View file

@ -431,7 +431,7 @@ test "cached purged after activity deletion", %{conn: conn} do
describe "/inbox" do
test "it inserts an incoming activity into the database", %{conn: conn} do
data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!()
data = File.read!("test/fixtures/mastodon-post-activity.json") |> Jason.decode!()
conn =
conn
@ -459,7 +459,7 @@ test "it inserts an incoming activity into the database" <>
data =
File.read!("test/fixtures/mastodon-post-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", user.ap_id)
|> put_in(["object", "attridbutedTo"], user.ap_id)
@ -476,7 +476,7 @@ test "it inserts an incoming activity into the database" <>
end
test "it clears `unreachable` federation status of the sender", %{conn: conn} do
data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!()
data = File.read!("test/fixtures/mastodon-post-activity.json") |> Jason.decode!()
sender_url = data["actor"]
Instances.set_consistently_unreachable(sender_url)
@ -534,8 +534,8 @@ test "accept follow activity", %{conn: conn} do
test "without valid signature, " <>
"it only accepts Create activities and requires enabled federation",
%{conn: conn} do
data = File.read!("test/fixtures/mastodon-post-activity.json") |> Poison.decode!()
non_create_data = File.read!("test/fixtures/mastodon-announce.json") |> Poison.decode!()
data = File.read!("test/fixtures/mastodon-post-activity.json") |> Jason.decode!()
non_create_data = File.read!("test/fixtures/mastodon-announce.json") |> Jason.decode!()
conn = put_req_header(conn, "content-type", "application/activity+json")
@ -564,7 +564,7 @@ test "without valid signature, " <>
setup do
data =
File.read!("test/fixtures/mastodon-post-activity.json")
|> Poison.decode!()
|> Jason.decode!()
[data: data]
end
@ -747,7 +747,7 @@ test "it removes all follower collections but actor's", %{conn: conn} do
data =
File.read!("test/fixtures/activitypub-client-post-activity.json")
|> Poison.decode!()
|> Jason.decode!()
object = Map.put(data["object"], "attributedTo", actor.ap_id)

View file

@ -22,7 +22,7 @@ defmodule Pleroma.Web.ActivityPub.MRF.ObjectAgePolicyTest do
defp get_old_message do
File.read!("test/fixtures/mastodon-post-activity.json")
|> Poison.decode!()
|> Jason.decode!()
end
defp get_new_message do

View file

@ -22,7 +22,7 @@ test "it works for incoming accepts which were pre-accepted" do
accept_data =
File.read!("test/fixtures/mastodon-accept-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", followed.ap_id)
object =
@ -52,7 +52,7 @@ test "it works for incoming accepts which are referenced by IRI only" do
accept_data =
File.read!("test/fixtures/mastodon-accept-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", followed.ap_id)
|> Map.put("object", follow_activity.data["id"])
@ -76,7 +76,7 @@ test "it fails for incoming accepts which cannot be correlated" do
accept_data =
File.read!("test/fixtures/mastodon-accept-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", followed.ap_id)
accept_data =

View file

@ -36,7 +36,7 @@ test "it works for incoming honk announces" do
end
test "it works for incoming announces with actor being inlined (kroeg)" do
data = File.read!("test/fixtures/kroeg-announce-with-inline-actor.json") |> Poison.decode!()
data = File.read!("test/fixtures/kroeg-announce-with-inline-actor.json") |> Jason.decode!()
_user = insert(:user, local: false, ap_id: data["actor"]["id"])
other_user = insert(:user)
@ -55,7 +55,7 @@ test "it works for incoming announces with actor being inlined (kroeg)" do
test "it works for incoming announces, fetching the announced object" do
data =
File.read!("test/fixtures/mastodon-announce.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", "http://mastodon.example.org/users/admin/statuses/99541947525187367")
Tesla.Mock.mock(fn
@ -90,7 +90,7 @@ test "it works for incoming announces with an existing activity" do
data =
File.read!("test/fixtures/mastodon-announce.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
_user = insert(:user, local: false, ap_id: data["actor"])
@ -113,7 +113,7 @@ test "it works for incoming announces with an existing activity" do
test "it works for incoming announces with an inlined activity" do
data =
File.read!("test/fixtures/mastodon-announce-private.json")
|> Poison.decode!()
|> Jason.decode!()
_user =
insert(:user,
@ -144,7 +144,7 @@ test "it rejects incoming announces with an inlined activity from another origin
data =
File.read!("test/fixtures/bogus-mastodon-announce.json")
|> Poison.decode!()
|> Jason.decode!()
_user = insert(:user, local: false, ap_id: data["actor"])
@ -157,7 +157,7 @@ test "it does not clobber the addressing on announce activities" do
data =
File.read!("test/fixtures/mastodon-announce.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", Object.normalize(activity).data["id"])
|> Map.put("to", ["http://mastodon.example.org/users/admin/followers"])
|> Map.put("cc", [])

View file

@ -31,7 +31,7 @@ test "incoming, rewrites Note to Answer and increments vote counters" do
data =
File.read!("test/fixtures/mastodon-vote.json")
|> Poison.decode!()
|> Jason.decode!()
|> Kernel.put_in(["to"], user.ap_id)
|> Kernel.put_in(["object", "inReplyTo"], object.data["id"])
|> Kernel.put_in(["object", "to"], user.ap_id)
@ -66,7 +66,7 @@ test "outgoing, rewrites Answer to Note" do
# TODO: Replace with CommonAPI vote creation when implemented
data =
File.read!("test/fixtures/mastodon-vote.json")
|> Poison.decode!()
|> Jason.decode!()
|> Kernel.put_in(["to"], user.ap_id)
|> Kernel.put_in(["object", "inReplyTo"], poll_object.data["id"])
|> Kernel.put_in(["object", "to"], user.ap_id)

View file

@ -53,7 +53,7 @@ test "Funkwhale Audio object" do
}
end)
data = File.read!("test/fixtures/tesla_mock/funkwhale_create_audio.json") |> Poison.decode!()
data = File.read!("test/fixtures/tesla_mock/funkwhale_create_audio.json") |> Jason.decode!()
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data)

View file

@ -16,7 +16,7 @@ test "it works for incoming blocks" do
data =
File.read!("test/fixtures/mastodon-block-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
blocker = insert(:user, ap_id: data["actor"])
@ -36,7 +36,7 @@ test "incoming blocks successfully tear down any follow relationship" do
data =
File.read!("test/fixtures/mastodon-block-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", blocked.ap_id)
|> Map.put("actor", blocker.ap_id)

View file

@ -53,7 +53,7 @@ test "handles chonks with attachment" do
test "it rejects messages that don't contain content" do
data =
File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!()
|> Jason.decode!()
object =
data["object"]
@ -79,7 +79,7 @@ test "it rejects messages that don't contain content" do
test "it rejects messages that don't concern local users" do
data =
File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!()
|> Jason.decode!()
_author =
insert(:user, ap_id: data["actor"], local: false, last_refreshed_at: DateTime.utc_now())
@ -97,7 +97,7 @@ test "it rejects messages that don't concern local users" do
test "it rejects messages where the `to` field of activity and object don't match" do
data =
File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!()
|> Jason.decode!()
author = insert(:user, ap_id: data["actor"])
_recipient = insert(:user, ap_id: List.first(data["to"]))
@ -115,7 +115,7 @@ test "it fetches the actor if they aren't in our system" do
data =
File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", "http://mastodon.example.org/users/admin")
|> put_in(["object", "actor"], "http://mastodon.example.org/users/admin")
@ -127,7 +127,7 @@ test "it fetches the actor if they aren't in our system" do
test "it doesn't work for deactivated users" do
data =
File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!()
|> Jason.decode!()
_author =
insert(:user,
@ -145,7 +145,7 @@ test "it doesn't work for deactivated users" do
test "it inserts it and creates a chat" do
data =
File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!()
|> Jason.decode!()
author =
insert(:user, ap_id: data["actor"], local: false, last_refreshed_at: DateTime.utc_now())

View file

@ -25,7 +25,7 @@ test "it works for incoming deletes" do
data =
File.read!("test/fixtures/mastodon-delete.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", deleting_user.ap_id)
|> put_in(["object", "id"], activity.data["object"])
@ -57,7 +57,7 @@ test "it works for incoming when the object has been pruned" do
data =
File.read!("test/fixtures/mastodon-delete.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", deleting_user.ap_id)
|> put_in(["object", "id"], activity.data["object"])
@ -78,7 +78,7 @@ test "it fails for incoming deletes with spoofed origin" do
data =
File.read!("test/fixtures/mastodon-delete.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", ap_id)
|> put_in(["object", "id"], activity.data["object"])
@ -91,7 +91,7 @@ test "it works for incoming user deletes" do
data =
File.read!("test/fixtures/mastodon-delete-user.json")
|> Poison.decode!()
|> Jason.decode!()
{:ok, _} = Transmogrifier.handle_incoming(data)
ObanHelpers.perform_all()
@ -104,7 +104,7 @@ test "it fails for incoming user deletes with spoofed origin" do
data =
File.read!("test/fixtures/mastodon-delete-user.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", ap_id)
assert match?({:error, _}, Transmogrifier.handle_incoming(data))

View file

@ -19,7 +19,7 @@ test "it works for incoming emoji reactions" do
data =
File.read!("test/fixtures/emoji-reaction.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
|> Map.put("actor", other_user.ap_id)
@ -44,7 +44,7 @@ test "it reject invalid emoji reactions" do
data =
File.read!("test/fixtures/emoji-reaction-too-long.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
|> Map.put("actor", other_user.ap_id)
@ -52,7 +52,7 @@ test "it reject invalid emoji reactions" do
data =
File.read!("test/fixtures/emoji-reaction-no-emoji.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
|> Map.put("actor", other_user.ap_id)

View file

@ -28,7 +28,7 @@ test "it works for osada follow request" do
data =
File.read!("test/fixtures/osada-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
{:ok, %Activity{data: data, local: false} = activity} = Transmogrifier.handle_incoming(data)
@ -47,7 +47,7 @@ test "it works for incoming follow requests" do
data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
{:ok, %Activity{data: data, local: false} = activity} = Transmogrifier.handle_incoming(data)
@ -69,7 +69,7 @@ test "with locked accounts, it does create a Follow, but not an Accept" do
data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
@ -100,7 +100,7 @@ test "it works for follow requests when you are already followed, creating a new
data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
{:ok, %Activity{local: false}} = Transmogrifier.handle_incoming(data)
@ -116,7 +116,7 @@ test "it works for follow requests when you are already followed, creating a new
data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("id", String.replace(data["id"], "2", "3"))
|> Map.put("object", user.ap_id)
@ -142,7 +142,7 @@ test "it rejects incoming follow requests from blocked users when deny_follow_bl
data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
{:ok, %Activity{data: %{"id" => id}}} = Transmogrifier.handle_incoming(data)
@ -157,7 +157,7 @@ test "it rejects incoming follow requests if the following errors for some reaso
data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
with_mock Pleroma.User, [:passthrough], follow: fn _, _, _ -> {:error, :testing} end do
@ -174,7 +174,7 @@ test "it works for incoming follow requests from hubzilla" do
data =
File.read!("test/fixtures/hubzilla-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
|> Utils.normalize_params()
@ -192,7 +192,7 @@ test "it works for incoming follows to locked account" do
data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)

View file

@ -18,7 +18,7 @@ test "it works for incoming likes" do
data =
File.read!("test/fixtures/mastodon-like.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
_actor = insert(:user, ap_id: data["actor"], local: false)
@ -40,7 +40,7 @@ test "it works for incoming misskey likes, turning them into EmojiReacts" do
data =
File.read!("test/fixtures/misskey-like.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
_actor = insert(:user, ap_id: data["actor"], local: false)
@ -61,7 +61,7 @@ test "it works for incoming misskey likes that contain unicode emojis, turning t
data =
File.read!("test/fixtures/misskey-like.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
|> Map.put("_misskey_reaction", "")

View file

@ -18,7 +18,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.QuestionHandlingTest do
end
test "Mastodon Question activity" do
data = File.read!("test/fixtures/mastodon-question-activity.json") |> Poison.decode!()
data = File.read!("test/fixtures/mastodon-question-activity.json") |> Jason.decode!()
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data)
@ -97,7 +97,7 @@ test "Mastodon Question activity with HTML tags in plaintext" do
data =
File.read!("test/fixtures/mastodon-question-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Kernel.put_in(["object", "oneOf"], options)
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data)
@ -142,7 +142,7 @@ test "Mastodon Question activity with custom emojis" do
data =
File.read!("test/fixtures/mastodon-question-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Kernel.put_in(["object", "oneOf"], options)
|> Kernel.put_in(["object", "tag"], tag)
@ -158,7 +158,7 @@ test "Mastodon Question activity with custom emojis" do
end
test "returns same activity if received a second time" do
data = File.read!("test/fixtures/mastodon-question-activity.json") |> Poison.decode!()
data = File.read!("test/fixtures/mastodon-question-activity.json") |> Jason.decode!()
assert {:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data)
@ -168,7 +168,7 @@ test "returns same activity if received a second time" do
test "accepts a Question with no content" do
data =
File.read!("test/fixtures/mastodon-question-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Kernel.put_in(["object", "content"], "")
assert {:ok, %Activity{local: false}} = Transmogrifier.handle_incoming(data)

View file

@ -18,7 +18,7 @@ test "it fails for incoming rejects which cannot be correlated" do
accept_data =
File.read!("test/fixtures/mastodon-reject-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", followed.ap_id)
accept_data =
@ -42,7 +42,7 @@ test "it works for incoming rejects which are referenced by IRI only" do
reject_data =
File.read!("test/fixtures/mastodon-reject-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", followed.ap_id)
|> Map.put("object", follow_activity.data["id"])
@ -58,7 +58,7 @@ test "it rejects activities without a valid ID" do
data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
|> Map.put("id", "")

View file

@ -21,7 +21,7 @@ test "it works for incoming emoji reaction undos" do
data =
File.read!("test/fixtures/mastodon-undo-like.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", reaction_activity.data["id"])
|> Map.put("actor", user.ap_id)
@ -38,7 +38,7 @@ test "it returns an error for incoming unlikes wihout a like activity" do
data =
File.read!("test/fixtures/mastodon-undo-like.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
assert Transmogrifier.handle_incoming(data) == :error
@ -50,7 +50,7 @@ test "it works for incoming unlikes with an existing like activity" do
like_data =
File.read!("test/fixtures/mastodon-like.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
_liker = insert(:user, ap_id: like_data["actor"], local: false)
@ -59,7 +59,7 @@ test "it works for incoming unlikes with an existing like activity" do
data =
File.read!("test/fixtures/mastodon-undo-like.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", like_data)
|> Map.put("actor", like_data["actor"])
@ -81,7 +81,7 @@ test "it works for incoming unlikes with an existing like activity and a compact
like_data =
File.read!("test/fixtures/mastodon-like.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
_liker = insert(:user, ap_id: like_data["actor"], local: false)
@ -90,7 +90,7 @@ test "it works for incoming unlikes with an existing like activity and a compact
data =
File.read!("test/fixtures/mastodon-undo-like.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", like_data["id"])
|> Map.put("actor", like_data["actor"])
@ -108,7 +108,7 @@ test "it works for incoming unannounces with an existing notice" do
announce_data =
File.read!("test/fixtures/mastodon-announce.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
_announcer = insert(:user, ap_id: announce_data["actor"], local: false)
@ -118,7 +118,7 @@ test "it works for incoming unannounces with an existing notice" do
data =
File.read!("test/fixtures/mastodon-undo-announce.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", announce_data)
|> Map.put("actor", announce_data["actor"])
@ -135,7 +135,7 @@ test "it works for incoming unfollows with an existing follow" do
follow_data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
_follower = insert(:user, ap_id: follow_data["actor"], local: false)
@ -144,7 +144,7 @@ test "it works for incoming unfollows with an existing follow" do
data =
File.read!("test/fixtures/mastodon-unfollow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", follow_data)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
@ -162,7 +162,7 @@ test "it works for incoming unblocks with an existing block" do
block_data =
File.read!("test/fixtures/mastodon-block-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
_blocker = insert(:user, ap_id: block_data["actor"], local: false)
@ -171,7 +171,7 @@ test "it works for incoming unblocks with an existing block" do
data =
File.read!("test/fixtures/mastodon-unblock-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", block_data)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)

View file

@ -14,7 +14,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.UserUpdateHandlingTest do
test "it works for incoming update activities" do
user = insert(:user, local: false)
update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!()
update_data = File.read!("test/fixtures/mastodon-update.json") |> Jason.decode!()
object =
update_data["object"]
@ -58,7 +58,7 @@ test "it works with alsoKnownAs" do
{:ok, _activity} =
"test/fixtures/mastodon-update.json"
|> File.read!()
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("actor", actor)
|> Map.update!("object", fn object ->
object
@ -82,7 +82,7 @@ test "it works with custom profile fields" do
assert user.fields == []
update_data = File.read!("test/fixtures/mastodon-update.json") |> Poison.decode!()
update_data = File.read!("test/fixtures/mastodon-update.json") |> Jason.decode!()
object =
update_data["object"]
@ -138,7 +138,7 @@ test "it works with custom profile fields" do
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!()
update_data = File.read!("test/fixtures/mastodon-update.json") |> Jason.decode!()
object =
update_data["object"]

View file

@ -31,14 +31,14 @@ test "it works for incoming unfollows with an existing follow" do
follow_data =
File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", user.ap_id)
{:ok, %Activity{data: _, local: false}} = Transmogrifier.handle_incoming(follow_data)
data =
File.read!("test/fixtures/mastodon-unfollow-activity.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", follow_data)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)

View file

@ -164,7 +164,7 @@ test "it does not crash if MRF rejects the post" do
params =
File.read!("test/fixtures/mastodon-post-activity.json")
|> Poison.decode!()
|> Jason.decode!()
assert {:ok, job} = Federator.incoming_ap_doc(params)
assert {:error, _} = ObanHelpers.perform(job)

View file

@ -81,7 +81,7 @@ test "GET /oauth/prepare_request encodes parameters as `state` and redirects", %
redirect_query = URI.parse(redirected_to(conn)).query
assert %{"state" => state_param} = URI.decode_query(redirect_query)
assert {:ok, state_components} = Poison.decode(state_param)
assert {:ok, state_components} = Jason.decode(state_param)
expected_client_id = app.client_id
expected_redirect_uri = app.redirect_uris
@ -115,7 +115,7 @@ test "with user-bound registration, GET /oauth/<provider>/callback redirects to
"oauth_token" => "G-5a3AAAAAAAwMH9AAABaektfSM",
"oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs",
"provider" => "twitter",
"state" => Poison.encode!(state_params)
"state" => Jason.encode!(state_params)
}
)
@ -147,7 +147,7 @@ test "with user-unbound registration, GET /oauth/<provider>/callback renders reg
"oauth_token" => "G-5a3AAAAAAAwMH9AAABaektfSM",
"oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs",
"provider" => "twitter",
"state" => Poison.encode!(state_params)
"state" => Jason.encode!(state_params)
}
)
@ -178,7 +178,7 @@ test "on authentication error, GET /oauth/<provider>/callback redirects to `redi
"oauth_token" => "G-5a3AAAAAAAwMH9AAABaektfSM",
"oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs",
"provider" => "twitter",
"state" => Poison.encode!(state_params)
"state" => Jason.encode!(state_params)
}
)

View file

@ -222,7 +222,7 @@ test "it streams boosts of mastodon user in the 'user' stream", %{
data =
File.read!("test/fixtures/mastodon-announce.json")
|> Poison.decode!()
|> Jason.decode!()
|> Map.put("object", activity.data["object"])
|> Map.put("actor", user.ap_id)

View file

@ -85,8 +85,8 @@ def render_json(view, template, assigns) do
assigns = Map.new(assigns)
view.render(template, assigns)
|> Poison.encode!()
|> Poison.decode!()
|> Jason.encode!()
|> Jason.decode!()
end
def stringify_keys(nil), do: nil