Django REST Assured instantly test-covers your Django REST Framework based API.
Project description
Instantly test-cover your Django REST Framework based API.
Django-REST-Assured adds another layer on top of Django REST Framework’s APITestCase which allows covering a set of RESTful resource’s endpoints with a single class declaration.
This gives both a quick coverage of sanity tests to your API and a more DRY and more friendly platform for writing additional, more comprehensive tests.
As easy as
class CategoryTestCase(ReadWriteRESTAPITestCaseMixin, BaseRESTAPITestCase):
base_name = 'category'
factory_class = CategoryFactory
create_data = {'name': 'comedy'}
update_data = {'name': 'horror'}
Django-REST-Assured is designed to work with factory_boy for mocking objects to test against. However, you can easily extend the BaseRESTAPITestCase to work directly with Django Models or any other factory.
Main features
Class-based declarative API for creating tests.
Covers the stack through: route > view > serializer > model.
Uses Django REST Framework’s conventions to minimize configuration.
All tests return the response object for more extensive assertions.
Automatic mocking of authentication if a user factory is provided.
Usage
The basic form of usage is simply to create a class that extends any mixin from rest_assured.testcases, according to the endpoints you wish to cover, and the BaseRESTAPITestCase class.
Then just set the required attributes, and continue extending it from there.
If your API requires authentication and/or authorization just add a user factory class. Assuming you use factory_boy:
Requirements
Django >= 1.6
Django REST Framework >= 2.4.3
Currently supporting python 2.7 & 3.4.
Installation
PyPI: https://pypi.python.org/pypi/django-rest-assured
$ pip install django-rest-assured
Source: https://github.com/ydaniv/django-rest-assured
$ git clone https://github.com/ydaniv/django-rest-assured
$ python setup.py install
Contributing
Issues are tracked in the github repository.
Pull requests are welcome!
License
Django-REST-Assured is distributed under the BSD license.
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
Hashes for django-rest-assured-0.0.11.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d033b584a04e50bc4c98a1a376a8b978e0808d2601628f15dbf6c76e0087eeb4 |
|
MD5 | f8979932cfc344910087c985aa22da89 |
|
BLAKE2b-256 | 08c75f6eaa632e8f388dd4aed5b8d180f1601eca3e9f0a45b2aaf5256468dcad |