ipfs-shipyard / pinning-service-compliance

This repo checks the compliance of IPFS Pinning Services against the pinning spec
https://ipfs-shipyard.github.io/pinning-service-compliance/
Other
14 stars 10 forks source link
ipfs ipfs-gui web3

@ipfs-shipyard/pinning-service-compliance

codecov CI

The compliance test suite for IPFS Pinning Service API Spec

Getting started

Run the compliance checker against a service:

Disclaimer: It is recommended to use an auth_token separate from your production/live services. The compliance checks will do their best not to corrupt any existing pins you have, but consistent tests without consistent data is challenging.

npx @ipfs-shipyard/pinning-service-compliance -s <pinning_service_endpoint> <auth_token>

Development

Run the script

npm ci
npm run build

npm start -- -s $API_ENDPOINT $ACCESS_TOKEN
 # or multiple endpoints
npm start -- -s $API_ENDPOINT1 $ACCESS_TOKEN1 -s $API_ENDPOINT2 $ACCESS_TOKEN2

Debugging

To debug problems, you should use the -d flag, and the dev-start script:

npm run dev-start -- -s $API_ENDPOINT $ACCESS_TOKEN

FAQ

What is a Compliance Check?

A compliance check consists of:

  1. An API call
  2. A Payload
  3. An expected response
  4. A summary

How to avoid typing secrets by hand?

To avoid setting secrets by hand:

cp .env-copy .env

Then replace all variables with the appropriate endpoints and tokens

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.