django-smoke-tests 2.1.0

Creator: codyrutscher

Last updated:

Add to Cart

Description:

djangosmoketests 2.1.0

Django command that finds all endpoints in project, executes HTTP requests against them and checks if there are any unexpected responses.


Contents

Requirements
Installation
Quickstart
Usage

Parameters
Skipping tests


Reporting bugs
Contributing
Credits



Requirements

Python (3.7, 3.8, 3.9, 3.10)
Django (2.2 LTS, 3.2 LTS)



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]
[--settings SETTINGS]
[--configuration CONFIGURATION]
[--fixture FIXTURE] [--no-migrations] [--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;
404 is allowed by default for detail URLs (paths with parameters)
[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
--fixture FIXTURE Django fixture JSON file to be loaded before executing
smoke tests
--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 URL pattern names.
SKIP_SMOKE_TESTS = (
'all-astronauts', # to skip url(r'^astronauts/', AllAstronauts.as_view(), name='all-astronauts')
'missions:all-launches', # to skip 'all-launches' from 'missions' app
)



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:

Cookiecutter
cookiecutter-djangopackage

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.