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

Use Jason instead of Poison in tests

See merge request pleroma/pleroma!3171
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", "type": "Delete",
"signature": { "signature": {
"type": "RsaSignature2017", "type": "RsaSignature2017",
"signatureValue": "cw0RlfNREf+5VdsOYcCBDrv521eiLsDTAYNHKffjF0bozhCnOh+wHkFik7WamUk$ "signatureValue": "cw0RlfNREf+5VdsOYcCBDrv521eiLsDTAYNHKffjF0bozhCnOh+wHkFik7WamUk$uEiN4L2H6vPlGRprAZGRhEwgy+A7rIFQNmLrpW5qV5UNVI/2F7kngEHqZQgbQYj9hW+5GMYmPkHdv3D72ZefGw$4Xa2NBLGFpAjQllfzt7kzZLKKY2DM99FdUa64I2Wj3iD04Hs23SbrUdAeuGk/c1Cg6bwGNG4vxoiwn1jikgJLA$NAlSGjsRGdR7LfbC7GqWWsW3cSNsLFPoU6FyALjgTrrYoHiXe0QHggw+L3yMLfzB2S/L46/VRbyb+WDKMBIXUL$5owmzHSi6e/ZtCI3w==",
uEiN4L2H6vPlGRprAZGRhEwgy+A7rIFQNmLrpW5qV5UNVI/2F7kngEHqZQgbQYj9hW+5GMYmPkHdv3D72ZefGw$ "creator": "http://mastodon.example.org/users/gargron#main-key",
4Xa2NBLGFpAjQllfzt7kzZLKKY2DM99FdUa64I2Wj3iD04Hs23SbrUdAeuGk/c1Cg6bwGNG4vxoiwn1jikgJLA$ "created": "2018-03-03T16:24:11Z"
NAlSGjsRGdR7LfbC7GqWWsW3cSNsLFPoU6FyALjgTrrYoHiXe0QHggw+L3yMLfzB2S/L46/VRbyb+WDKMBIXUL$
5owmzHSi6e/ZtCI3w==",
"creator": "http://mastodon.example.org/users/gargron#main-key", "created": "2018-03-03T16:24:11Z"
}, },
"object": { "object": {
"type": "Tombstone", "type": "Tombstone",

View File

@ -1,56 +1,52 @@
{ {
"@context":[ "@context": [
"https://www.w3.org/ns/activitystreams", "https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1", "https://w3id.org/security/v1",
"https://apfed.club/apschema/v1.4" "https://apfed.club/apschema/v1.4"
], ],
"id":"https://apfed.club/follow/9", "id": "https://apfed.club/follow/9",
"type":"Follow", "type": "Follow",
"actor":{ "actor": {
"type":"Person", "type": "Person",
"id":"https://apfed.club/channel/indio", "id": "https://apfed.club/channel/indio",
"preferredUsername":"indio", "preferredUsername": "indio",
"name":"Indio", "name": "Indio",
"updated":"2019-08-20T23:52:34Z", "updated": "2019-08-20T23:52:34Z",
"icon":{ "icon": {
"type":"Image", "type": "Image",
"mediaType":"image/jpeg", "mediaType": "image/jpeg",
"updated":"2019-08-20T23:53:37Z", "updated": "2019-08-20T23:53:37Z",
"url":"https://apfed.club/photo/profile/l/2", "url": "https://apfed.club/photo/profile/l/2",
"height":300, "height": 300,
"width":300 "width": 300
}, },
"url":"https://apfed.club/channel/indio", "url": "https://apfed.club/channel/indio",
"inbox":"https://apfed.club/inbox/indio", "inbox": "https://apfed.club/inbox/indio",
"outbox":"https://apfed.club/outbox/indio", "outbox": "https://apfed.club/outbox/indio",
"followers":"https://apfed.club/followers/indio", "followers": "https://apfed.club/followers/indio",
"following":"https://apfed.club/following/indio", "following": "https://apfed.club/following/indio",
"endpoints":{ "endpoints": {
"sharedInbox":"https://apfed.club/inbox" "sharedInbox": "https://apfed.club/inbox"
}, },
"publicKey":{ "publicKey": {
"id":"https://apfed.club/channel/indio", "id": "https://apfed.club/channel/indio",
"owner":"https://apfed.club/channel/indio", "owner": "https://apfed.club/channel/indio",
"publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA77TIR1VuSYFnmDRFGHHb\n4vaGdx9ranzRX4bfOKAqa++Ch5L4EqJpPy08RuM+NrYCYiYl4QQFDSSDXAEgb5g9\nC1TgWTfI7q/E0UBX2Vr0mU6X4i1ztv0tuQvegRjcSJ7l1AvoBs8Ip4MEJ3OPEQhB\ngJqAACB3Gnps4zi2I0yavkxUfGVKr6zKT3BxWh5hTpKC7Do+ChIrVZC2EwxND9K6 "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"
\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", "object": "https://pleroma.site/users/kaniini",
"to":[ "to": [
"https://pleroma.site/users/kaniini" "https://pleroma.site/users/kaniini"
], ],
"signature":{ "signature": {
"@context":[ "@context": [
"https://www.w3.org/ns/activitystreams", "https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1" "https://w3id.org/security/v1"
], ],
"type":"RsaSignature2017", "type": "RsaSignature2017",
"nonce":"52c035e0a9e81dce8b486159204e97c22637e91f75cdfad5378de91de68e9117", "nonce": "52c035e0a9e81dce8b486159204e97c22637e91f75cdfad5378de91de68e9117",
"creator":"https://apfed.club/channel/indio/public_key_pem", "creator": "https://apfed.club/channel/indio/public_key_pem",
"created":"2019-08-22T03:38:02Z", "created": "2019-08-22T03:38:02Z",
"signatureValue":"oVliRCIqNIh6yUp851dYrF0y21aHp3Rz6VkIpW1pFMWfXuzExyWSfcELpyLseeRmsw5bUu9zJkH44B4G2LiJQKA9UoEQDjrDMZBmbeUpiQqq3DVUzkrBOI8bHZ7xyJ/CjSZcNHHh0MHhSKxswyxWMGi4zIqzkAZG3vRRgoPVHdjPm00sR3B8jBLw1cjoffv+KKeM/zEUpe13gqX9qHAWHHqZepxgSWmq+EKOkRvHUPBXiEJZfXzc5uW+vZ09F3WBYmaRoy8Y0e1P29fnRLqSy7EEINdrHaGclRqoUZyiawpkgy3lWWlynesV/HiLBR7EXT79eKstxf4wfTDaPKBCfTCsOWuMWHr7Genu37ew2/t7eiBGqCwwW12ylhml/OLHgNK3LOhmRABhtfpaFZSxfDVnlXfaLpY1xekVOj2oC0FpBtnoxVKLpIcyLw6dkfSil5ANd+hl59W/bpPA8KT90ii1fSNCo3+FcwQVx0YsPznJNA60XfFuVsme7zNcOst6393e1WriZxBanFpfB63zVQc9u1fjyfktx/yiUNxIlre+sz9OCc0AACn94iRhBYh4bbzdleUOTnM7lnD4Dj2FP+xeDIP8CA8wXUeq5+9kopSp2kAmlUEyFUdg4no7naIeu1SZnopfUg56PsVCp9JHiUK1SYAyWbdC+FbUECu5CvI=" "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 describe "/inbox" do
test "it inserts an incoming activity into the database", %{conn: conn} 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 =
conn conn
@ -459,7 +459,7 @@ test "it inserts an incoming activity into the database" <>
data = data =
File.read!("test/fixtures/mastodon-post-activity.json") File.read!("test/fixtures/mastodon-post-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("actor", user.ap_id) |> Map.put("actor", user.ap_id)
|> put_in(["object", "attridbutedTo"], user.ap_id) |> put_in(["object", "attridbutedTo"], user.ap_id)
@ -476,7 +476,7 @@ test "it inserts an incoming activity into the database" <>
end end
test "it clears `unreachable` federation status of the sender", %{conn: conn} do 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"] sender_url = data["actor"]
Instances.set_consistently_unreachable(sender_url) Instances.set_consistently_unreachable(sender_url)
@ -534,8 +534,8 @@ test "accept follow activity", %{conn: conn} do
test "without valid signature, " <> test "without valid signature, " <>
"it only accepts Create activities and requires enabled federation", "it only accepts Create activities and requires enabled federation",
%{conn: conn} do %{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!()
non_create_data = File.read!("test/fixtures/mastodon-announce.json") |> Poison.decode!() non_create_data = File.read!("test/fixtures/mastodon-announce.json") |> Jason.decode!()
conn = put_req_header(conn, "content-type", "application/activity+json") conn = put_req_header(conn, "content-type", "application/activity+json")
@ -564,7 +564,7 @@ test "without valid signature, " <>
setup do setup do
data = data =
File.read!("test/fixtures/mastodon-post-activity.json") File.read!("test/fixtures/mastodon-post-activity.json")
|> Poison.decode!() |> Jason.decode!()
[data: data] [data: data]
end end
@ -747,7 +747,7 @@ test "it removes all follower collections but actor's", %{conn: conn} do
data = data =
File.read!("test/fixtures/activitypub-client-post-activity.json") File.read!("test/fixtures/activitypub-client-post-activity.json")
|> Poison.decode!() |> Jason.decode!()
object = Map.put(data["object"], "attributedTo", actor.ap_id) 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 defp get_old_message do
File.read!("test/fixtures/mastodon-post-activity.json") File.read!("test/fixtures/mastodon-post-activity.json")
|> Poison.decode!() |> Jason.decode!()
end end
defp get_new_message do defp get_new_message do

View File

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

View File

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

View File

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

View File

@ -53,7 +53,7 @@ test "Funkwhale Audio object" do
} }
end) 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) {:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data)

View File

@ -16,7 +16,7 @@ test "it works for incoming blocks" do
data = data =
File.read!("test/fixtures/mastodon-block-activity.json") File.read!("test/fixtures/mastodon-block-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
blocker = insert(:user, ap_id: data["actor"]) blocker = insert(:user, ap_id: data["actor"])
@ -36,7 +36,7 @@ test "incoming blocks successfully tear down any follow relationship" do
data = data =
File.read!("test/fixtures/mastodon-block-activity.json") File.read!("test/fixtures/mastodon-block-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", blocked.ap_id) |> Map.put("object", blocked.ap_id)
|> Map.put("actor", blocker.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 test "it rejects messages that don't contain content" do
data = data =
File.read!("test/fixtures/create-chat-message.json") File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!() |> Jason.decode!()
object = object =
data["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 test "it rejects messages that don't concern local users" do
data = data =
File.read!("test/fixtures/create-chat-message.json") File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!() |> Jason.decode!()
_author = _author =
insert(:user, ap_id: data["actor"], local: false, last_refreshed_at: DateTime.utc_now()) 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 test "it rejects messages where the `to` field of activity and object don't match" do
data = data =
File.read!("test/fixtures/create-chat-message.json") File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!() |> Jason.decode!()
author = insert(:user, ap_id: data["actor"]) author = insert(:user, ap_id: data["actor"])
_recipient = insert(:user, ap_id: List.first(data["to"])) _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 = data =
File.read!("test/fixtures/create-chat-message.json") File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("actor", "http://mastodon.example.org/users/admin") |> Map.put("actor", "http://mastodon.example.org/users/admin")
|> put_in(["object", "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 test "it doesn't work for deactivated users" do
data = data =
File.read!("test/fixtures/create-chat-message.json") File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!() |> Jason.decode!()
_author = _author =
insert(:user, insert(:user,
@ -145,7 +145,7 @@ test "it doesn't work for deactivated users" do
test "it inserts it and creates a chat" do test "it inserts it and creates a chat" do
data = data =
File.read!("test/fixtures/create-chat-message.json") File.read!("test/fixtures/create-chat-message.json")
|> Poison.decode!() |> Jason.decode!()
author = author =
insert(:user, ap_id: data["actor"], local: false, last_refreshed_at: DateTime.utc_now()) 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 = data =
File.read!("test/fixtures/mastodon-delete.json") File.read!("test/fixtures/mastodon-delete.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("actor", deleting_user.ap_id) |> Map.put("actor", deleting_user.ap_id)
|> put_in(["object", "id"], activity.data["object"]) |> put_in(["object", "id"], activity.data["object"])
@ -57,7 +57,7 @@ test "it works for incoming when the object has been pruned" do
data = data =
File.read!("test/fixtures/mastodon-delete.json") File.read!("test/fixtures/mastodon-delete.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("actor", deleting_user.ap_id) |> Map.put("actor", deleting_user.ap_id)
|> put_in(["object", "id"], activity.data["object"]) |> put_in(["object", "id"], activity.data["object"])
@ -78,7 +78,7 @@ test "it fails for incoming deletes with spoofed origin" do
data = data =
File.read!("test/fixtures/mastodon-delete.json") File.read!("test/fixtures/mastodon-delete.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("actor", ap_id) |> Map.put("actor", ap_id)
|> put_in(["object", "id"], activity.data["object"]) |> put_in(["object", "id"], activity.data["object"])
@ -91,7 +91,7 @@ test "it works for incoming user deletes" do
data = data =
File.read!("test/fixtures/mastodon-delete-user.json") File.read!("test/fixtures/mastodon-delete-user.json")
|> Poison.decode!() |> Jason.decode!()
{:ok, _} = Transmogrifier.handle_incoming(data) {:ok, _} = Transmogrifier.handle_incoming(data)
ObanHelpers.perform_all() ObanHelpers.perform_all()
@ -104,7 +104,7 @@ test "it fails for incoming user deletes with spoofed origin" do
data = data =
File.read!("test/fixtures/mastodon-delete-user.json") File.read!("test/fixtures/mastodon-delete-user.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("actor", ap_id) |> Map.put("actor", ap_id)
assert match?({:error, _}, Transmogrifier.handle_incoming(data)) assert match?({:error, _}, Transmogrifier.handle_incoming(data))

View File

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

View File

@ -28,7 +28,7 @@ test "it works for osada follow request" do
data = data =
File.read!("test/fixtures/osada-follow-activity.json") File.read!("test/fixtures/osada-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
{:ok, %Activity{data: data, local: false} = activity} = Transmogrifier.handle_incoming(data) {:ok, %Activity{data: data, local: false} = activity} = Transmogrifier.handle_incoming(data)
@ -47,7 +47,7 @@ test "it works for incoming follow requests" do
data = data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
{:ok, %Activity{data: data, local: false} = activity} = Transmogrifier.handle_incoming(data) {: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 = data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) {: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 = data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
{:ok, %Activity{local: false}} = Transmogrifier.handle_incoming(data) {: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 = data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("id", String.replace(data["id"], "2", "3")) |> Map.put("id", String.replace(data["id"], "2", "3"))
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
@ -142,7 +142,7 @@ test "it rejects incoming follow requests from blocked users when deny_follow_bl
data = data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
{:ok, %Activity{data: %{"id" => id}}} = Transmogrifier.handle_incoming(data) {: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 = data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
with_mock Pleroma.User, [:passthrough], follow: fn _, _, _ -> {:error, :testing} end do 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 = data =
File.read!("test/fixtures/hubzilla-follow-activity.json") File.read!("test/fixtures/hubzilla-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
|> Utils.normalize_params() |> Utils.normalize_params()
@ -192,7 +192,7 @@ test "it works for incoming follows to locked account" do
data = data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data) {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)

View File

@ -18,7 +18,7 @@ test "it works for incoming likes" do
data = data =
File.read!("test/fixtures/mastodon-like.json") File.read!("test/fixtures/mastodon-like.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", activity.data["object"]) |> Map.put("object", activity.data["object"])
_actor = insert(:user, ap_id: data["actor"], local: false) _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 = data =
File.read!("test/fixtures/misskey-like.json") File.read!("test/fixtures/misskey-like.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", activity.data["object"]) |> Map.put("object", activity.data["object"])
_actor = insert(:user, ap_id: data["actor"], local: false) _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 = data =
File.read!("test/fixtures/misskey-like.json") File.read!("test/fixtures/misskey-like.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", activity.data["object"]) |> Map.put("object", activity.data["object"])
|> Map.put("_misskey_reaction", "") |> Map.put("_misskey_reaction", "")

View File

@ -18,7 +18,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier.QuestionHandlingTest do
end end
test "Mastodon Question activity" do 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) {:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data)
@ -97,7 +97,7 @@ test "Mastodon Question activity with HTML tags in plaintext" do
data = data =
File.read!("test/fixtures/mastodon-question-activity.json") File.read!("test/fixtures/mastodon-question-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Kernel.put_in(["object", "oneOf"], options) |> Kernel.put_in(["object", "oneOf"], options)
{:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data) {:ok, %Activity{local: false} = activity} = Transmogrifier.handle_incoming(data)
@ -142,7 +142,7 @@ test "Mastodon Question activity with custom emojis" do
data = data =
File.read!("test/fixtures/mastodon-question-activity.json") File.read!("test/fixtures/mastodon-question-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Kernel.put_in(["object", "oneOf"], options) |> Kernel.put_in(["object", "oneOf"], options)
|> Kernel.put_in(["object", "tag"], tag) |> Kernel.put_in(["object", "tag"], tag)
@ -158,7 +158,7 @@ test "Mastodon Question activity with custom emojis" do
end end
test "returns same activity if received a second time" do 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) 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 test "accepts a Question with no content" do
data = data =
File.read!("test/fixtures/mastodon-question-activity.json") File.read!("test/fixtures/mastodon-question-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Kernel.put_in(["object", "content"], "") |> Kernel.put_in(["object", "content"], "")
assert {:ok, %Activity{local: false}} = Transmogrifier.handle_incoming(data) 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 = accept_data =
File.read!("test/fixtures/mastodon-reject-activity.json") File.read!("test/fixtures/mastodon-reject-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("actor", followed.ap_id) |> Map.put("actor", followed.ap_id)
accept_data = accept_data =
@ -42,7 +42,7 @@ test "it works for incoming rejects which are referenced by IRI only" do
reject_data = reject_data =
File.read!("test/fixtures/mastodon-reject-activity.json") File.read!("test/fixtures/mastodon-reject-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("actor", followed.ap_id) |> Map.put("actor", followed.ap_id)
|> Map.put("object", follow_activity.data["id"]) |> Map.put("object", follow_activity.data["id"])
@ -58,7 +58,7 @@ test "it rejects activities without a valid ID" do
data = data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
|> Map.put("id", "") |> Map.put("id", "")

View File

@ -21,7 +21,7 @@ test "it works for incoming emoji reaction undos" do
data = data =
File.read!("test/fixtures/mastodon-undo-like.json") File.read!("test/fixtures/mastodon-undo-like.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", reaction_activity.data["id"]) |> Map.put("object", reaction_activity.data["id"])
|> Map.put("actor", user.ap_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 = data =
File.read!("test/fixtures/mastodon-undo-like.json") File.read!("test/fixtures/mastodon-undo-like.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", activity.data["object"]) |> Map.put("object", activity.data["object"])
assert Transmogrifier.handle_incoming(data) == :error assert Transmogrifier.handle_incoming(data) == :error
@ -50,7 +50,7 @@ test "it works for incoming unlikes with an existing like activity" do
like_data = like_data =
File.read!("test/fixtures/mastodon-like.json") File.read!("test/fixtures/mastodon-like.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", activity.data["object"]) |> Map.put("object", activity.data["object"])
_liker = insert(:user, ap_id: like_data["actor"], local: false) _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 = data =
File.read!("test/fixtures/mastodon-undo-like.json") File.read!("test/fixtures/mastodon-undo-like.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", like_data) |> Map.put("object", like_data)
|> Map.put("actor", like_data["actor"]) |> 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 = like_data =
File.read!("test/fixtures/mastodon-like.json") File.read!("test/fixtures/mastodon-like.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", activity.data["object"]) |> Map.put("object", activity.data["object"])
_liker = insert(:user, ap_id: like_data["actor"], local: false) _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 = data =
File.read!("test/fixtures/mastodon-undo-like.json") File.read!("test/fixtures/mastodon-undo-like.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", like_data["id"]) |> Map.put("object", like_data["id"])
|> Map.put("actor", like_data["actor"]) |> Map.put("actor", like_data["actor"])
@ -108,7 +108,7 @@ test "it works for incoming unannounces with an existing notice" do
announce_data = announce_data =
File.read!("test/fixtures/mastodon-announce.json") File.read!("test/fixtures/mastodon-announce.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", activity.data["object"]) |> Map.put("object", activity.data["object"])
_announcer = insert(:user, ap_id: announce_data["actor"], local: false) _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 = data =
File.read!("test/fixtures/mastodon-undo-announce.json") File.read!("test/fixtures/mastodon-undo-announce.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", announce_data) |> Map.put("object", announce_data)
|> Map.put("actor", announce_data["actor"]) |> Map.put("actor", announce_data["actor"])
@ -135,7 +135,7 @@ test "it works for incoming unfollows with an existing follow" do
follow_data = follow_data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
_follower = insert(:user, ap_id: follow_data["actor"], local: false) _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 = data =
File.read!("test/fixtures/mastodon-unfollow-activity.json") File.read!("test/fixtures/mastodon-unfollow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", follow_data) |> Map.put("object", follow_data)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(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 = block_data =
File.read!("test/fixtures/mastodon-block-activity.json") File.read!("test/fixtures/mastodon-block-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
_blocker = insert(:user, ap_id: block_data["actor"], local: false) _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 = data =
File.read!("test/fixtures/mastodon-unblock-activity.json") File.read!("test/fixtures/mastodon-unblock-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", block_data) |> Map.put("object", block_data)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(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 test "it works for incoming update activities" do
user = insert(:user, local: false) 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 = object =
update_data["object"] update_data["object"]
@ -58,7 +58,7 @@ test "it works with alsoKnownAs" do
{:ok, _activity} = {:ok, _activity} =
"test/fixtures/mastodon-update.json" "test/fixtures/mastodon-update.json"
|> File.read!() |> File.read!()
|> Poison.decode!() |> Jason.decode!()
|> Map.put("actor", actor) |> Map.put("actor", actor)
|> Map.update!("object", fn object -> |> Map.update!("object", fn object ->
object object
@ -82,7 +82,7 @@ test "it works with custom profile fields" do
assert user.fields == [] 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 = object =
update_data["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 test "it works for incoming update activities which lock the account" do
user = insert(:user, local: false) 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 = object =
update_data["object"] update_data["object"]

View File

@ -31,14 +31,14 @@ test "it works for incoming unfollows with an existing follow" do
follow_data = follow_data =
File.read!("test/fixtures/mastodon-follow-activity.json") File.read!("test/fixtures/mastodon-follow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", user.ap_id) |> Map.put("object", user.ap_id)
{:ok, %Activity{data: _, local: false}} = Transmogrifier.handle_incoming(follow_data) {:ok, %Activity{data: _, local: false}} = Transmogrifier.handle_incoming(follow_data)
data = data =
File.read!("test/fixtures/mastodon-unfollow-activity.json") File.read!("test/fixtures/mastodon-unfollow-activity.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", follow_data) |> Map.put("object", follow_data)
{:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(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 = params =
File.read!("test/fixtures/mastodon-post-activity.json") File.read!("test/fixtures/mastodon-post-activity.json")
|> Poison.decode!() |> Jason.decode!()
assert {:ok, job} = Federator.incoming_ap_doc(params) assert {:ok, job} = Federator.incoming_ap_doc(params)
assert {:error, _} = ObanHelpers.perform(job) 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 redirect_query = URI.parse(redirected_to(conn)).query
assert %{"state" => state_param} = URI.decode_query(redirect_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_client_id = app.client_id
expected_redirect_uri = app.redirect_uris 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_token" => "G-5a3AAAAAAAwMH9AAABaektfSM",
"oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs", "oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs",
"provider" => "twitter", "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_token" => "G-5a3AAAAAAAwMH9AAABaektfSM",
"oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs", "oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs",
"provider" => "twitter", "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_token" => "G-5a3AAAAAAAwMH9AAABaektfSM",
"oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs", "oauth_verifier" => "QZl8vUqNvXMTKpdmUnGejJxuHG75WWWs",
"provider" => "twitter", "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 = data =
File.read!("test/fixtures/mastodon-announce.json") File.read!("test/fixtures/mastodon-announce.json")
|> Poison.decode!() |> Jason.decode!()
|> Map.put("object", activity.data["object"]) |> Map.put("object", activity.data["object"])
|> Map.put("actor", user.ap_id) |> Map.put("actor", user.ap_id)

View File

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