tchambers, (edited )

Hi @evan @cwebber@pfefferle
Timely question: Does anyone know the status of a formal or informal building out an test suite, akin to the one used to test http://webmention.rocks but for Acitivity pub.

I know the activitypub.rocks effort ended & I see this one that seemed to evolve from that but has been derelict for a while.

Is there any other effort active?

https://github.com/go-fed/testsuite

and: https://socialhub.activitypub.rocks/t/unofficial-test-suite-go-fed-testsuite/805

https://lists.w3.org/Archives/Public/public-swicg/2023Mar/0215.html

tchambers,

OK:
@evan @cwebber @pfefferle @activitypub @fedidevs
@OpinionatedGeek
@robz
@nodebb @devnull @dansup

Go try this: follow this group account just like following any fedi account:

➡️ @activitypubtestsuite

After you do anything you post mentioning that account bounces to all others who follow it.

I add such groups into my own list, and using hide that list from my main feed so it keeps the convo in one list view.
See if that works. If folks hate, will find another venue

tchambers,

@evan @cwebber @pfefferle
@robz
@OpinionatedGeek
@nodebb
@devnull
@dansup --

What do you think about the idea that i create a Frendica mastodon compatible "group" on the ActivityPub-Test-Suite idea?

To move this topic to that group, versus a long thread here?

(Did something the same with ActivityPub-BlueSky bridge discussions that was functional...)

benpate,
@benpate@mastodon.social avatar
robz,
@robz@toot.robzazueta.com avatar

@tchambers @evan @cwebber @pfefferle @OpinionatedGeek @nodebb @devnull @dansup only if you then explain how it works. ;-) Would this keep others on my timeline from seeing my rants about this? Not a deal breaker either way.

devnull, (edited )
@devnull@crag.social avatar

@robz @tchambers @evan @cwebber @pfefferle @OpinionatedGeek @nodebb @devnull @dansup put it on and we have a deal.

Oh wait, it's not federated yet 😂

Seriously, though, I am game to try. My experience with groups on Mastodon has been meh because like @robz said, it's not exactly intuitive.

I like the idea of ad-hoc working groups that form and dissipate. ✅

/cc @multiverseofbadness

multiverseofbadness,
@multiverseofbadness@toot.wales avatar

@devnull @robz @tchambers @evan @cwebber @pfefferle @OpinionatedGeek @nodebb @devnull @dansup

Thank you Julian! I'd love to be included in these brain shares/discussions.

tchambers,

@devnull @robz @evan @cwebber @pfefferle @OpinionatedGeek @nodebb @devnull @dansup
@benpate
OK tomorrow will try setting one up and if we hate it we can move to something else, but can't wait for federated for a real solution!

Super encouraging to see this activity today, thanks to you all.

smallcircles,
@smallcircles@social.coop avatar

@tchambers

I would also ping @dansup here, regarding plans with fediDB.

tchambers,

@smallcircles @dansup

Very cool. But Dan, if you are on break feel no rush to reply!

OpinionatedGeek,
@OpinionatedGeek@mastodon.social avatar

@tchambers @evan @cwebber @pfefferle Not a test suite, but I think @gabek has been trying to get some ActivityPub samples from different implementations to put up on Fedidevs, e.g.: https://fedidevs.org/projects/kbin/activities/create

tchambers,

@OpinionatedGeek @evan @cwebber @pfefferle @gabek

All of this super helpful: but def seems that a full Test Suite feels critical now to get together quickly, for the exact reason @pfefferle mentioned and that was mentioned in the w3 mailing list:

"If someone came along selling you an ‘activitypub’ app or service— or a ‘fediverse’ or social ‘web’ thingo— In an open market where people lie, cheat, or bend the truth, how would you or any of us try to figure out if it was compliant?"

OpinionatedGeek,
@OpinionatedGeek@mastodon.social avatar

@tchambers @evan @cwebber @pfefferle @gabek Oh I agree! I'd love to see a test suite.

I remember back in RSS days, there were a bunch of RSS checkers that would validate and say 'yes, this is valid RSS' but there was one exceptional one that could say 'Yeah, it's valid, but doing X would be better', and 'OK, but RSS client Y won't accept or see that tag'.

A test suite that validated base ActivityPub functionality/compliance would be great. One that understood common extensions - even better!

robz,
@robz@toot.robzazueta.com avatar

@OpinionatedGeek @tchambers @evan @cwebber @pfefferle @gabek Well, let's get the ball rolling then... What kinds of features do we need / want from a test suite? How would we be able to test Fediverse instances on it? How can we make sure it's useful as devs are creating new ActivityPub tooling?

robz,
@robz@toot.robzazueta.com avatar

@OpinionatedGeek @tchambers @evan @cwebber @pfefferle @gabek And, off the top of my head, those items would be: Digest signature authentication, Webfinger, Inbox, outbox, and other required endpoints, and confirm that messages of all types are properly formed.

tchambers,

@robz @OpinionatedGeek @evan @cwebber @pfefferle @gabek

Do you see anything in here to salvage and reuse, or build on?

https://github.com/go-fed/testsuite

robz,
@robz@toot.robzazueta.com avatar

@tchambers @OpinionatedGeek @evan @cwebber @pfefferle @gabek LOL, well it does bring us into the first debate for any project of this size - what language should we use? I haven;t taken the time to learn go yet, but I guess it's going to be a necessity at some point. Not sure how complete this application is, so not sure how much effort it would be to revive it.

tchambers,

@robz @OpinionatedGeek @evan @cwebber @pfefferle @gabek

And I leave it to others here who know the issues better as to what here is worth keeping, versus just a "page one rewrite" of the whole thing....

robz,
@robz@toot.robzazueta.com avatar

@OpinionatedGeek @tchambers @evan @cwebber @pfefferle @gabek The real challenge is that a test suite is actually a reference implementation - it by definition becomes the standard that others are expected to follow because it enforces that standard. So... whomever builds it (and I'd be glad to contribute) needs to implement according to both the published spec and the ad hoc spec as created by Mastodon and Lemmy. Is there a canonical spec to follow these days, or is W3C it?

OpinionatedGeek,
@OpinionatedGeek@mastodon.social avatar

@robz @tchambers @evan @cwebber @pfefferle @gabek There was such a reference implementation (sortof?) and test suite, I believe: https://gitlab.com/dustyweb/pubstrate/-/tree/master/

Here's the thread I found it on: https://octodon.social/@cwebber/109393635461692593

(I had a brief look at it and couldn't see an easy way to run it in a container, and I really didn't want to get into installing Guile/Scheme back then.)

tchambers,

@robz @OpinionatedGeek @evan @cwebber @pfefferle @gabek

I'm happy to try to find other stakeholders, and others here might recommend some.

nodebb,
@nodebb@fosstodon.org avatar

@robz @OpinionatedGeek @tchambers @evan @cwebber @pfefferle @gabek

Hi all, what @robz mentioned is exactly what I am building out. The only problem is it's the test suite I use to validate my own implementation of Fediverse logic in @nodebb.

https://github.com/NodeBB/NodeBB/blob/activitypub/test/activitypub.js

I think theoretically, one could rip the entire mocha file out and use it in their project as a test suite 🤔

tchambers,

@nodebb @robz @OpinionatedGeek @evan @cwebber @pfefferle @gabek @devnull

I love where this conversation is going and was exactly what I hoped to spark here...

devnull,
@devnull@crag.social avatar

@tchambers Using this test file you can see exactly how far along I am implementing — that is... not very far at the moment.

But we do have sanity tests, actor endpoint, and now http signature (!!) signing and verificiation tests.

sfunk1x,

@devnull @tchambers I'm honestly still confused how webfinger works for hosting multiple ActivityPub services on the same domain.

j3j5,
@j3j5@hachyderm.io avatar

@tchambers @nodebb @robz @OpinionatedGeek @evan @cwebber @pfefferle @gabek @devnull

Hey, in case you missed this, this could be helpful as well

https://mastodon.social/@dansup/110585755463038897

robz,
@robz@toot.robzazueta.com avatar

@OpinionatedGeek @tchambers @evan @cwebber @pfefferle @gabek I can kind of kick it off. I'm building some tooling that exchanges ActibityPub messages. I need to test the secure digest signature part as well as ensure my messages are well formed. But I feel like these are separate things to test - I need to get the digest right to federate and pass messages, but I need messages to pass to test the digest. I'd like a tool that allows me to test each separately, then together.

tchambers,

@robz @OpinionatedGeek @evan @cwebber @pfefferle @gabek

That sounds great: it seems that this very much needs to be resuscitated.... Happy to build awareness around your efforts, Rob...

by_caballero,
@by_caballero@mastodon.social avatar

@tchambers @robz @OpinionatedGeek @evan @cwebber @pfefferle @gabek

Yes, I've been researching/designing a modular test suite that would layer out different groups/scripts of tests for different actors, first of AP then (optionally/extensibly) of specific supersets of AP. is there a repo I can watch or a mailing list I can join to coordinate so we don't all do redundant work?

tchambers,

@by_caballero @robz @OpinionatedGeek @evan @cwebber @pfefferle @gabek

I'll be creating a mastodon-compatible fediverse "group" we can all post to and see how that works... No one group repo....YET, tho we have found several older dead Github and Gitlab efforts that were abandoned that might be worth looking at what we can pull from those. All those in the thread here.

by_caballero,
@by_caballero@mastodon.social avatar

@tchambers @robz @OpinionatedGeek @evan @cwebber @pfefferle @gabek hey where'd that "group" go do i have to confirm or consent or follow something

devnull,
@devnull@crag.social avatar

@OpinionatedGeek

"Yeah, your actor endpoint is valid, except expects preferredUsername to never change (it's your unique identifier), and name to be the one that is in flux, despite the nomenclature"

😆

OpinionatedGeek,
@OpinionatedGeek@mastodon.social avatar

@devnull Heh, yeah, I've barely scratched the surface of those gotchas...!

liaizon,
@liaizon@wake.st avatar

@tchambers I think the bigger issues is what exactly you are trying to test against, because implementing "valid activitypub" doesn't mean you get compatibility with anything really. We basically need a test thats a bunch of "fake" mastodon, lemmy, pixelfed etc servers that can be have automated testing against.

tchambers,

@liaizon Having a complete test suite is key for sure. I suspect that this is a hard task. But a crucial one. I Do think real world testing is key also - but wonder if folks think is something to build on too: https://github.com/go-fed/testsuite

liaizon,
@liaizon@wake.st avatar

@tchambers But what does having a "complete test suite" mean? None of the software we use in the fediverse is "complaint" to a single spec cause everyone is implementing a different set of features and are only partially compatible across the spectrum what is and is not the fediverse.

I agree we need a way to test compatibility, but I think the harder part is figuring out what is a sup-standard that all these things MUST implement to be compatible.

OpinionatedGeek,
@OpinionatedGeek@mastodon.social avatar

@tchambers @liaizon I struggled with that test suite (I'm trying to write an ActivityPub server of sorts).

What I wanted was something that would tell me 'yes, you're sending a valid ActivityPub response to event X' or 'no, that's not valid', or 'hmm, OK, that's valid but Mastodon expects Y'.

Instead that test suite starts a web site for you to interact with, requires you provide TLS certificates, and after all that I couldn't get it to accept my ActivityPub responses. It just sat waiting.

benpate,
@benpate@mastodon.social avatar

Unfortunately, I have not had any success with go-fed. I think it’s pretty much the standard in the Go world, but it’s far too unwieldy for me. @tchambers @liaizon

pfefferle,
@pfefferle@mastodon.social avatar

@liaizon @tchambers that is a really good point and it is the problem that costed me the most time. Getting a basic ActivityPub node interoperable with Mastodon, Pixelfed and others!

andypiper,
@andypiper@macaw.social avatar

@tchambers @evan @cwebber 👀

  • All
  • Subscribed
  • Moderated
  • Favorites
  • fediverse
  • rosin
  • Youngstown
  • osvaldo12
  • khanakhh
  • slotface
  • tacticalgear
  • mdbf
  • InstantRegret
  • kavyap
  • DreamBathrooms
  • thenastyranch
  • everett
  • magazineikmin
  • Durango
  • JUstTest
  • GTA5RPClips
  • ethstaker
  • modclub
  • cisconetworking
  • ngwrru68w68
  • tester
  • normalnudes
  • cubers
  • Leos
  • megavids
  • provamag3
  • anitta
  • lostlight
  • All magazines