The ActivityPub test suite

Golang can do.

Tentative requirements for this webapp:

  1. test suite results are generated as static HTML files that can be accessed publicly from a permalink; there is a summary page for all implementations, with the lastest test

  2. to start a test, the user has to log in to an “implementer dashboard” using her socialhub.activitypub.rocks account (we can use discourse as a SSO provider, there is an official golang implementation) and request it, filling a form

  3. test requests are stored in a queue and asynchronously processed; basic queue management: list tests, test status, cancel test, retry test

  4. notifications (“test failed”, “test passed” etc.) are posted to a discourse category (https://socialhub.activitypub.rocks/c/tests), quoting the user (@rocco) so that she is pinged

Types of test suites:

  • user has a client up and running:

    • c2s: test user’s client against our server
  • user has a server up and running:

    • c2s: test user’s server against our client
    • s2s: test user’s server against our server

The webapp must be dockerized so that it can be run standalone with a development local discourse instance.

It should be also possible to run each test suite locally from CLI so that the same tests can be run as local tests or as part of CI for each implementation (go implementations will benefit more from this).

1 Like