Skip to main content

A compliance utility reporting system for refget server implementations

Project description

Refget Compliance Suite

Repository for the refget API Compliance document and test suite.

Important URLS

Installing the compliance suite

pip3 install refget-compliance

Running the compliance suite

The following will generate a HTML report for your server and serve said HTML. It will also generate a tarball locally of the report

refget-compliance report -s --serve

The following will generate a JSON report of your server:

refget-compliance report -s --json server.json

Setting --json - will have the compliance suite write the JSON to STDOUT.

Additional components

Building and uploading the package to PyPI

First do your edits, test and update with your new version number. Then run the following and provide your user credentials before doing this. This will upload the compliance suite to the test PyPI server.

python3 sdist bdist_wheel
twine upload --repository-url dist/*

Assuming this works then upload to live PyPI and provide your live login details.

twine upload dist/*

Compliance Documentation

To generate this documentation locally, follow these steps:

git clone

cd refget-compliance

pip3 install mkdocs

mkdocs serve

Compliance Test Suite

Compliance test suite is an API testing suite for refget servers.

To run the tests, follow these steps:

git clone

cd refget-compliance-suite/test_suite

pip3 install -r requirements.txt

If the server to be tested supports circular sequences then run

py.test --server <your-server-base-url-without-http://-prefix> --cir

and if it doesn't support circular sequences then run

py.test --server <your-server-base-url-without-http://-prefix>

If the server to be tested supports trunc512 algorithm then run

py.test --server <your-server-base-url-without-http://-prefix> --trunc512

and if it doesn't support trunc512 algorithm then run

py.test --server <your-server-base-url-without-http://-prefix>

If the server to be tested redirects success queries then run

py.test --server <your-server-base-url-without-http://-prefix> --redir

And if it doesn't redirects then run

py.test --server <your-server-base-url-without-http://-prefix>

You can try multiple combinations of these flags as per the server implementation for example

py.test --server <your-server-base-url-without-http://-prefix> --cir --trunc512

py.test --server <your-server-base-url-without-http://-prefix> --cir --redir

py.test --server <your-server-base-url-without-http://-prefix> --redir --trunc512

py.test --server <your-server-base-url-without-http://-prefix> --cir --trunc512 --redir

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for refget-compliance, version 1.2.3
Filename, size File type Python version Upload date Hashes
Filename, size refget_compliance-1.2.3-py3-none-any.whl (211.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size refget-compliance-1.2.3.tar.gz (204.4 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page