๐Ÿ€ ATproto library for gleam
atproto library gleam
35

Configure Feed

Select the types of activity you want to include in your feed.

test: add tests for resolving did documents

kacaii.dev (Jun 29, 2026, 3:22 PM -0300) a6176134 9bd248a4

+30 -9
+30 -9
test/possum_test.gleam
··· 9 9 gleeunit.main() 10 10 } 11 11 12 - // const did = "did:plc:ewvi7nxzyoun6zhxrhs64oiz" 12 + const did = "did:plc:ewvi7nxzyoun6zhxrhs64oiz" 13 13 14 - const host = "service-endpoint" 14 + const pds = "service-endpoint.pds" 15 + 16 + const handle = "gleam.run" 15 17 16 18 pub fn resolve_handle_test() -> Nil { 17 - let handle = "gleam.run" 18 - let got = 19 + let request = 19 20 request.new() 20 - |> request.set_host(host) 21 + |> request.set_host(pds) 21 22 |> possum.resolve_handle(handle) 22 23 23 - assert got.method == http.Get 24 - assert got.query == option.Some("handle=" <> uri.percent_encode(handle)) 24 + assert request.method == http.Get 25 + assert request.query == option.Some("handle=" <> uri.percent_encode(handle)) 26 + 27 + assert request.host == pds 28 + assert request.path == "xrpc/com.atproto.identity.resolveHandle" 29 + } 30 + 31 + pub fn resolve_did_test() -> Nil { 32 + let request = 33 + request.new() 34 + |> possum.resolve_did_document(did) 35 + 36 + assert request.method == http.Get 37 + assert request.host == "plc.directory" 38 + assert request.path == uri.percent_encode(did) 39 + } 40 + 41 + pub fn resolve_well_known_did_test() -> Nil { 42 + let request = 43 + request.new() 44 + |> possum.resolve_well_known_did(handle) 25 45 26 - assert got.host == host 27 - assert got.path == "xrpc/com.atproto.identity.resolveHandle" 46 + assert request.method == http.Get 47 + assert request.host == handle 48 + assert request.path == ".well-known/atproto-did" 28 49 }