From 27171a78ded38a7142aecfcaa75ede86f73b7a5b Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Mon, 24 Mar 2025 11:56:42 +0100 Subject: [feature] Parse funkwhale `Album` as Statusable to allow barebones interacting with bandwagon (#3931) * bump activity version * parse funkwhale / bandwagon album as statusable --- internal/ap/resolve_test.go | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'internal/ap/resolve_test.go') diff --git a/internal/ap/resolve_test.go b/internal/ap/resolve_test.go index aaf90ab0a..b70dba77b 100644 --- a/internal/ap/resolve_test.go +++ b/internal/ap/resolve_test.go @@ -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{}) } -- cgit v1.2.3