[feature] Parse funkwhale Album as Statusable to allow barebones interacting with bandwagon (#3931)

* bump activity version

* parse funkwhale / bandwagon album as statusable
This commit is contained in:
tobi
2025-03-24 11:56:42 +01:00
committed by GitHub
parent 4af8d1a2cb
commit 27171a78de
131 changed files with 26449 additions and 3098 deletions

View File

@ -80,6 +80,56 @@ func (suite *ResolveTestSuite) TestResolveNonAPJSONAsAccountable() {
suite.Nil(accountable)
}
func (suite *ResolveTestSuite) TestResolveBandwagonAlbumAsStatusable() {
b := []byte(`{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"discoverable": "toot:discoverable",
"indexable": "toot:indexable",
"toot": "https://joinmastodon.org/ns#"
},
"https://funkwhale.audio/ns"
],
"artists": [
{
"id": "https://bandwagon.fm/@67a0a0808121f77ed3466870",
"name": "Luka Prinčič",
"type": "Artist"
}
],
"attachment": [
{
"mediaType": "image/webp",
"name": "image",
"type": "Document",
"url": "https://bandwagon.fm/67a0a219f050061c8b4ce427/attachments/67a0a21bf050061c8b4ce429"
}
],
"attributedTo": "https://bandwagon.fm/@67a0a0808121f77ed3466870",
"content": "... a transgenre mutation, a fluid entity, jagged pop, electro-funk, techno-cabaret, a schlager, and soft alternative, queer to the core, satire and tragedy, sharp and fun indulgence for the dance of bodies and brains, activism and hedonism, which would all like to steal your attention.\r\n\r\nDRAGX̶FUNK is pronounced /dɹæɡɑːfʌŋk/.\r\n\r\n---\r\n\r\n## Buy digital\r\n💳 [Stripe](https://buy.stripe.com/6oE8x52iG1Kq5pKeV3)\r\n\r\n---\r\n\r\n## Buy dl/merch\r\n🎵 [Bandcamp](https://lukaprincic.bandcamp.com/album/dragx-funk) \r\n\r\n---\r\n\r\n## More:\r\n🌐 [prin.lu](https://prin.lu/music/241205_dragx-funk/) \r\n👉 [kamizdat.si](https://kamizdat.si/releases/dragx-funk-2/)\r\n",
"context": "https://bandwagon.fm/67a0a219f050061c8b4ce427",
"id": "https://bandwagon.fm/67a0a219f050061c8b4ce427",
"library": "https://bandwagon.fm/67a0a219f050061c8b4ce427/pub/children",
"license": "CC-BY-NC-SA",
"name": "DRAGX̶FUNK",
"published": "2025-03-17T11:40:53Z",
"to": [
"https://www.w3.org/ns/activitystreams#Public"
],
"tracks": "https://bandwagon.fm/67a0a219f050061c8b4ce427/pub/children",
"type": "Album",
"url": "https://bandwagon.fm/67a0a219f050061c8b4ce427"
}`)
statusable, err := ap.ResolveStatusable(
context.Background(), io.NopCloser(bytes.NewReader(b)),
)
suite.NoError(err)
suite.NotNil(statusable)
}
func TestResolveTestSuite(t *testing.T) {
suite.Run(t, &ResolveTestSuite{})
}