Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec Compliance Test App #64

Open
7 of 11 tasks
lidel opened this issue Sep 15, 2020 · 2 comments
Open
7 of 11 tasks

Spec Compliance Test App #64

lidel opened this issue Sep 15, 2020 · 2 comments
Assignees
Labels
dif/easy Someone with a little familiarity can pick up effort/days Estimated to take multiple days, but less than a week help wanted Seeking public contribution on this issue kind/support This is a question or a request for support need/community-input Needs input from the wider community P1 High: Likely tackled by core team if no one steps up status/ready Ready to be worked topic/devexp Developer experience related things topic/docs Improvements or additions to documentation

Comments

@lidel
Copy link
Member

lidel commented Sep 15, 2020

Summary

  • We need a conformance test suite that implementers and service providers can run against their service to confirm it works as expected.
  • ideally this would be CLI tool that takes <access-token> and the URL with API <endpoint> and runs a set of tests
    • tests should be designed to run idempotently and reduce friction (e.g. remove all pins as the first step and confirm there are no pins as the second, and remove everything as the last step)

I'm available to review / feed edge cases is anyone wants to pick this up.

Implementation details

Create JS client library

CLI Compliance Test suite

The compliance test would be a separate package (@ipfs-shipyard/pinning-service-complicance-checks) that uses the client library to run tests and exits with code 0 if there were no hard errors:

$ npx ipfs-pinning-service-complicance-checks https://service.example.com secret-token
Checking compliance of Pinning Service API at  https://service.example.com:
  (output)
Done!

Web interface (nice to have)

Would be nice to have a static website with two inputs for <access-token> and <endpoint> and "Test" button, but this is lower priority than CLI tool (we want something that can run automatically on CI to constantly validate services we list in ipfs-webui – ipfs/ipfs-webui#1854 (comment))

Test scenarios

Below are things we want to test, in order:

MVP list

@lidel lidel added P1 High: Likely tackled by core team if no one steps up dif/easy Someone with a little familiarity can pick up effort/days Estimated to take multiple days, but less than a week help wanted Seeking public contribution on this issue kind/support This is a question or a request for support need/community-input Needs input from the wider community status/ready Ready to be worked topic/devexp Developer experience related things topic/docs Improvements or additions to documentation labels Sep 15, 2020
@lidel lidel self-assigned this Sep 16, 2020
@lidel

This comment has been minimized.

@lidel lidel unassigned Gozala and lidel Sep 2, 2021
@lidel lidel pinned this issue Dec 14, 2021
@SgtPooki SgtPooki self-assigned this Feb 2, 2022
@SgtPooki
Copy link
Member

I've moved all of the checklist items from this issue to https://github.com/ipfs-shipyard/pinning-service-compliance/issues. We should update any of those task items in the appropriate issues going forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dif/easy Someone with a little familiarity can pick up effort/days Estimated to take multiple days, but less than a week help wanted Seeking public contribution on this issue kind/support This is a question or a request for support need/community-input Needs input from the wider community P1 High: Likely tackled by core team if no one steps up status/ready Ready to be worked topic/devexp Developer experience related things topic/docs Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants