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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for refget_compliance-1.2.6-py3.5.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | baefc223f5a45ec602606c596a9d7459c5ed77ec2284f0285e5320864d2a034f |
|
MD5 | 9332e40d39bfdf1d668f39f348222cab |
|
BLAKE2b-256 | c801b655d0d3d2dc58c3270877e34636a36d8ce8e58832609232c5e0014d4b0d |
Hashes for refget_compliance-1.2.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa1403922b26e52d444bc62b9029387894e1b045f22f79bf3573b81d1255090f |
|
MD5 | d5d5878761bdde4b09b29776468ce9f8 |
|
BLAKE2b-256 | 7f461739dad985f7f94c520af79103530acd34ee393f109f5beed5a3a43e5e95 |