Metadata-Version: 2.1
Name: bravado-django-test-client
Version: 1.0.1
Summary: Bravado Django Test Client
Home-page: https://github.com/maximilianhurl/bravado-django-test-client
Author: Max Hurl
Author-email: max@maxhurl.co.uk
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Description-Content-Type: text/markdown
Requires-Dist: django
Requires-Dist: bravado

# Bravado Django Test Client

[![Build Status](https://travis-ci.org/maximilianhurl/bravado-django-test-client.svg?branch=master)](https://travis-ci.org/maximilianhurl/bravado-django-test-client)

[Django Test Client](https://docs.djangoproject.com/en/2.1/topics/testing/tools/\#the-test-client) compatible HTTP Client with [Bravado](https://github.com/Yelp/bravado).

This allows your Django API and OpenAPI v2 (Swagger) specification files to be tested against each other in your unit tests. The aim being to quickly highlight any potential discrepancies between the specification and your actual API.

## Basic Usage

```python
from bravado.client import SwaggerClient
from bravado.swagger_model import load_file
from bravado_django_test_client.django_test_client import DjangoTestHttpClient
from bravado_django_test_client.config import config
from rest_framework.test import APIClient


swagger_file = load_file("schema.yaml")

test_client = APIClient()  # or the standard django test client

bravado_http_client = DjangoTestHttpClient(test_client)

client = SwaggerClient.from_spec(swagger_file, http_client=bravado_http_client, config=config)

# now use as you would a normal bravado client
pet_result = client.pet.getPetById(petId=42).response().result

# any request or response that doesnt match your schema will raise an exception
```

See the [tests directory](https://github.com/maximilianhurl/bravado-django-test-client/blob/master/tests/tests.py) for a more complete example.


