Test that prismo url-map transforms into a string
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Thu, 1 Nov 2018 10:27:22 +0000 (11:27 +0100)
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Thu, 1 Nov 2018 10:30:50 +0000 (11:30 +0100)
test/fixtures/prismo-url-map.json [new file with mode: 0644]
test/web/activity_pub/transmogrifier_test.exs

diff --git a/test/fixtures/prismo-url-map.json b/test/fixtures/prismo-url-map.json
new file mode 100644 (file)
index 0000000..9088d01
--- /dev/null
@@ -0,0 +1,52 @@
+{
+  "id": "https://prismo.news/posts/83",
+  "type": "Article",
+  "name": "Introducing: Federated follows!",
+  "published": "2018-11-01T07:10:05Z",
+  "content": "We are more than thrilled to announce that Prismo now supports federated follows! It means you ca...",
+  "url": {
+    "type": "Link",
+    "mimeType": "text/html",
+    "href": "https://prismo.news/posts/83"
+  },
+  "votes": 12,
+  "attributedTo": [
+    {
+      "type": "Person",
+      "id": "https://prismo.news/@mxb"
+    }
+  ],
+  "to": [
+    "https://www.w3.org/ns/activitystreams#Public"
+  ],
+  "tags": [
+    {
+      "type": "Hashtag",
+      "href": "https://prismo.news/tags/prismo",
+      "name": "#prismo"
+    },
+    {
+      "type": "Hashtag",
+      "href": "https://prismo.news/tags/prismodev",
+      "name": "#prismodev"
+    },
+    {
+      "type": "Hashtag",
+      "href": "https://prismo.news/tags/meta",
+      "name": "#meta"
+    }
+  ],
+  "@context": [
+    "https://www.w3.org/ns/activitystreams",
+    "https://w3id.org/security/v1",
+    {
+      "Hashtag": "as:Hashtag"
+    },
+    {
+      "votes": {
+        "@id": "as:votes",
+        "@type": "@id"
+      }
+    }
+  ]
+}
index 6a6f2a44cce24dea66d4dc43e9550d630f46403a..14b02eb719f05ef3fb76b97c157e6065d6337aac 100644 (file)
@@ -145,6 +145,14 @@ defmodule Pleroma.Web.ActivityPub.TransmogrifierTest do
       assert "test" in data["object"]["tag"]
     end
 
+    test "it works for incoming notices with url not being a string (prismo)" do
+      data = File.read!("test/fixtures/prismo-url-map.json") |> Poison.decode!()
+
+      {:ok, %Activity{data: data, local: false}} = Transmogrifier.handle_incoming(data)
+
+      assert data["object"]["url"] == "https://prismo.news/posts/83"
+    end
+
     test "it works for incoming follow requests" do
       user = insert(:user)