Since many folks have lamented the test suite being down, I've decided to spin up a based test suite with the goal of being mostly-automated:

Each test starts up a short-lived & completely hermetic environment. Its own database, its own S2S+C2S (federating & social) set of actors, so multiple folks can use the automated tests without interfering with one another.

Still a lot more actual tests that need to be written. Contributions welcome!

Ugly screenshots lol

Β· Β· Web Β· 2 Β· 12 Β· 16

It is up to 22 tests, been starting on the S2S stuff. While some instructions await you to input something to fetch, many of these S2S tests now give you instructions of sending an actor an activity, so it can continue the testing process automatically upon receipt.

This, at a practical level, means I had to add webfinger as an optional technology to support during a test run. Which means instructions will list both the IRI and the webfinger for the generated test actor(s) for that test run.

Alright, I created an issue for interested parties to follow for the unofficial test suite implementation:

It lists the mapping of the official test suite's tests over to the ones I'm hammering out using .

Unfortunately there's not a good way to track this, I don't think edits to the OP trigger notifications so I'll have to find a balance between editing OP and pinging the thread. Boo github (I don't have the cycles to migrate & deal with consequences).

Down to just 4 more "MUST" S2S test cases to port over.

There's still 24 S2S tests to port over in general, though.

I am halfway towards completing the "Common" and "S2S" tests in the official test suite, as automated tests for the unofficial suite. There's now 44 such unofficial tests, which map to 23 of the 46 original ones. Unfortunately, one test still relies on the honor of the test-user.

It's not as "automated" as I like, so I think I need a new word. The server definitely sends/receives and diagnoses the software under test, but most tests require additional input or actions to be done by the test-user.

Down to just 1 more MUST test to port over for go-fed/testsuite. Easier to say than do. Somehow porting over the official test suite's 25 questions has turned into 52 machine-assisted test cases.

Also, what's funny is, once I get this thing stable, I'll need help and/or kind volunteers using it so that the testsuite itself can be examined for bugs. LOL!

Whew! All the Common and S2S MUST cases are covered in the testsuite.

Alright, is up for y'all and not looking like Times New Roman font on a white background. If you poke around responsibly, please file bugs.

There's still a lot of work that needs to happen. I accept PRs!

@mariusor Not at the moment, but that'll change soon. You can clone and run some of the tests locally since they just require HTTP client fetches.

Since I'm about to tackle the federation tests though, yeah I'll need to toss it up someplace.

@cj that domain sounded pretty nice. :)

@mariusor Haha yep indeed, you're pretty good at predicting the future aren't you? :D

@cj probably not, or I wouldn't develop ActivityPub services. :P

@cj @lanodan > and no javascript

that awkward moment when all the old smalltalk web frameworks became relevant again :blobcatwhatsthis:

@icedquinn @lanodan LOL! It's also over a decade of every year repeating "I don't need to learn a javascript framework yet, I'll wait 'til things calm down next year when I really need it" and so far this recursion has not stopped.

@cj @icedquinn It took me almost a decade to need to write JavaScript.
I did it in vanilla javascript and it's just to sort tables.
@cj @lanodan i sperged about how awesome the way seaside works to people in the past, and they just went "but .. why not just javascript."

@cj @lanodan basically they had components w/ server rendering before react :blobcatsurprised: and then use wizardry to let you tie these components to one another as though you were calling modal dialogs in a regular desktop applicaiton, and the framework buries all that in a page-by-page presentation to the user. they won an award or two, nobody cared, now it just kind of sits there forgotten about in a weird corner of the internet.

@icedquinn @lanodan One part of me wants to be silly and say "The internet is a sphere, there are no corners!" or "yeah but now you can write assembly for your backends *and* frontends" but also I had never heard of seaside before so in all seriousness thanks for mentioning it -- learning about this is great!

@icedquinn @lanodan Aha, I see your ultimate goal is to fill up my browser's bookmarks! I'm on to you and your trail of success!

Sign in to participate in the conversation
Mastodon for Tech Folks

This Mastodon instance is for people interested in technology. Discussions aren't limited to technology, because tech folks shouldn't be limited to technology either!