Allow parsing of webmention.io mentions

This commit is contained in:
2023-12-21 19:36:22 +11:00
parent e6e3dee896
commit 6a0adf1f81
2 changed files with 40 additions and 9 deletions

View File

@@ -29,9 +29,38 @@ RSpec.describe Adamantium::WebmentionRequestParser do
}'
}
let(:webmention_io_json) {
'{
"post": {
"type":"entry",
"author": {
"type":"card",
"name":"nitza",
"photo":"https://webmention.io/avatar/micro.blog/2aa75068b73fe7777faf37c7933486a6acd5d158fcdf769064c0472ecd55f120.jpg",
"url":"https://micro.blog/nitza"
},
"url":"https://micro.blog/nitza/28127218",
"published":"2023-12-20T22:28:40+00:00",
"wm-received":"2023-12-20T22:28:42Z",
"wm-id":1756646,
"wm-source":"https://micro.blog/nitza/28127218",
"wm-target":"https://dnitza.com/post/b9d5bfca-4f51-463c-a63c-7b2e1b8a5ad9",
"wm-protocol":"webmention",
"content":{
"html": "<p><a href=\"https://micro.blog/example\">@example</a> hah! I thought the same thing — but this is the most affordable thing that Teenage Engineering makes 😅</p>",
"text": "@example hah! I thought the same thing — but this is the most affordable thing that Teenage Engineering makes 😅"
},
"in-reply-to":"https://dnitza.com/post/b9d5bfca-4f51-463c-a63c-7b2e1b8a5ad9",
"wm-property":"in-reply-to",
"wm-private":false
}
}'
}
context "reply" do
it "parses a reply" do
expect(subject.call(params: JSON.parse(reply_json, symbolize_names: true))).to be_success
expect(subject.call(params: JSON.parse(webmention_io_json, symbolize_names: true))).to be_success
end
it "fails to parses a reply" do