This project now lives in https://github.com/ckan/pytest-ckan
This project backports the pytest
environment for CKAN from CKAN 2.9 to CKAN
2.8. This allows CKAN extension developers to test CKAN plugins built to
work with CKAN 2.8 as well as CKAN 2.9 or newer using a single unified test
suite.
To use this in your project:
- Add this library to your CKAN plugin project
- Write your tests with pytest (you can use CKAN fixtures as described below)
- Run
pytest
- When tested with CKAN 2.9 or newer, CKAN's built-in pytest plugin and fixtures will be used
- When tested with older versions of CKAN, the code in
pytest_ckan
will be used instead
To use this plugin to test your CKAN extension, simply install this library to your development / testing environment:
pip install pytest-ckan
If you maintain a dev-requirements.txt
or test-requirements.txt
file you
can add this library to it.
To enable CKAN testing, simply add --ckan-ini=<path/to/test.ini>
to your
pytest
command, for example:
pytest --ckan-ini=test.ini ckanext/yourextension/tests
TBD;
For now, see CKAN 2.9's extension testing guide for some examples.
This work is largely based on @wardi's work for ckanext-scheming. It has been extracted so it can be re-used by other CKAN extensions.
ckanext-scheming is copyright (c) Her Majesty the Queen in Right of Canada, represented by the President of the Treasury Board, 2013-2018
This plugin is free software districuted under the terms of the MIT License. See COPYING for details.
Copyright 2020 (c) Viderum Inc. / Datopian