Add some basic webfingering.
[akkoma] / test / web / web_finger / web_finger_test.exs
1 defmodule Pleroma.Web.WebFingerTest do
2 use Pleroma.DataCase
3 alias Pleroma.Web.WebFinger
4
5 describe "host meta" do
6 test "returns a link to the xml lrdd" do
7 host_info = WebFinger.host_meta()
8
9 assert String.contains?(host_info, Pleroma.Web.base_url)
10 end
11 end
12
13 describe "fingering" do
14 test "returns the info for a user" do
15 user = "shp@social.heldscal.la"
16
17 getter = fn(_url, _headers, [params: [resource: ^user]]) ->
18 {:ok, %{status_code: 200, body: File.read!("test/fixtures/webfinger.xml")}}
19 end
20
21 {:ok, data} = WebFinger.finger(user, getter)
22
23 assert data.magic_key == "RSA.wQ3i9UA0qmAxZ0WTIp4a-waZn_17Ez1pEEmqmqoooRsG1_BvpmOvLN0G2tEcWWxl2KOtdQMCiPptmQObeZeuj48mdsDZ4ArQinexY2hCCTcbV8Xpswpkb8K05RcKipdg07pnI7tAgQ0VWSZDImncL6YUGlG5YN8b5TjGOwk2VG8=.AQAB"
24 assert data.topic == "https://social.heldscal.la/api/statuses/user_timeline/29191.atom"
25 assert data.subject == "acct:shp@social.heldscal.la"
26 assert data.salmon == "https://social.heldscal.la/main/salmon/user/29191"
27 end
28 end
29 end