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 https://refget.server.com/ --serve

The following will generate a JSON report of your server:

refget-compliance report -s https://refget.server.com/ --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 setup.py 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 setup.py sdist bdist_wheel
twine upload --repository-url https://test.pypi.org/legacy/ 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 https://github.com/ga4gh/refget-compliance.git

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 https://github.com/ga4gh/refget-compliance.git

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.

Source Distribution

refget-compliance-1.2.5.tar.gz (204.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

refget_compliance-1.2.5-py3.5.egg (230.0 kB view details)

Uploaded Egg

refget_compliance-1.2.5-py3-none-any.whl (212.1 kB view details)

Uploaded Python 3

File details

Details for the file refget-compliance-1.2.5.tar.gz.

File metadata

  • Download URL: refget-compliance-1.2.5.tar.gz
  • Upload date:
  • Size: 204.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.2

File hashes

Hashes for refget-compliance-1.2.5.tar.gz
Algorithm Hash digest
SHA256 fcc017fe0d33bde9e688662f0d777b9b2f3ae34419a1bfd3e40b464612a438dc
MD5 1aed3516a9eac8cc5e48ce90792ce340
BLAKE2b-256 37156d641d3ca323f59f78da814c6f5e4affda2bb1139f335f3a90fc500bcd5f

See more details on using hashes here.

File details

Details for the file refget_compliance-1.2.5-py3.5.egg.

File metadata

  • Download URL: refget_compliance-1.2.5-py3.5.egg
  • Upload date:
  • Size: 230.0 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.2

File hashes

Hashes for refget_compliance-1.2.5-py3.5.egg
Algorithm Hash digest
SHA256 1ab94af2aaa4ee37f7585cc584a1a13fa9dc8e6f381f9a94a9b850201fa2fe44
MD5 d04e2e360d4de46a246beb0e2404910e
BLAKE2b-256 c486a5060fc29c8236997bf445cb48f7806b6c61350c2c26a013634b3ac35af2

See more details on using hashes here.

File details

Details for the file refget_compliance-1.2.5-py3-none-any.whl.

File metadata

  • Download URL: refget_compliance-1.2.5-py3-none-any.whl
  • Upload date:
  • Size: 212.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.2

File hashes

Hashes for refget_compliance-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 29af3ba36cfd890ab8e98af8dd723a4ce9ed26f8223692067d3e2426b93bc168
MD5 e7ff138f3a3276e945081e630b16fead
BLAKE2b-256 cfd244127e0d7f648f1980663b2f0b64b4333e5c728e8a740cb83fcd1cb35051

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page