Skip to content

ipfs-shipyard/pinning-service-compliance

Repository files navigation

@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.