Automatic smoke tests for Django project.
Project description
Django command that finds all endpoints in project, executes HTTP requests against them and checks if there are any unexpected responses.
Requirements
Python (2.7, 3.4, 3.5, 3.6)
Django (1.8, 1.9, 1.10, 1.11, 2.0)
Installation
Install using pip:
pip install django-smoke-tests
Add it to your INSTALLED_APPS:
INSTALLED_APPS = (
...
'django_smoke_tests',
...
)
Quickstart
Execute smoke tests for the whole project:
python manage.py smoke_tests
Usage
Parameters
$ python manage.py smoke_tests --help usage: manage.py smoke_tests [-h] [--http-methods HTTP_METHODS] [--allow-status-codes ALLOW_STATUS_CODES] [--disallow-status-codes DISALLOW_STATUS_CODES] [--no-db] [app_names] Smoke tests for Django endpoints. positional arguments: app_names names of apps to test optional arguments: -h, --help show this help message and exit --http-methods HTTP_METHODS comma separated HTTP methods that will be executed for all endpoints, eg. GET,POST,DELETE [default: GET,POST,PUT,DELETE] -g, --get-only shortcut for --http-methods GET --allow-status-codes ALLOW_STATUS_CODES comma separated HTTP status codes that will be considered as success responses, eg. 200,201,204 [default: 200,201,301,302,304,405] --disallow-status-codes DISALLOW_STATUS_CODES comma separated HTTP status codes that will be considered as fail responses, eg. 404,500 --settings SETTINGS path to the Django settings module, eg. myproject.settings --configuration CONFIGURATION name of the configuration class to load, eg. Development --no-migrations flag for skipping migrations, database will be created directly from models --no-db flag for skipping database creation
Skipping tests
To skip tests for specific URLs add SKIP_SMOKE_TESTS option in your settings.
This setting should contain list of URLs’ names.
SKIP_SMOKE_TESTS = (
'all-astronauts', # to skip url(r'^astronauts/', AllAstronauts.as_view(), name='all-astronauts')
)
Reporting bugs
If you face any problems please report them to the issue tracker at https://github.com/kamilkijak/django-smoke-tests/issues
Contributing
Running Tests
Does the code actually work?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
Credits
Tools used in rendering this package:
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 Distribution
Hashes for django_smoke_tests-0.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36fe9700d05d383fcb02406be88b274f577a7931e123a533f8ab72fd951c7e98 |
|
MD5 | 90826dfcea753f07a003c6bff112d963 |
|
BLAKE2b-256 | 87d571e1b860f06101b1bc48337b5a7a340266cfca6905dab83d6801c3608009 |