django-emulate-aws-env

Emulates the conditions of an AWS "Serverless" environment (API Gateway + Lambda) in your test and development environments.


Keywords
django-emulate-aws-env, api-gateway, aws, django, lambda, zappa, zappa-django
License
MIT
Install
pip install django-emulate-aws-env==0.2.0

Documentation

Django Emulate AWS Env

https://travis-ci.org/danielholmes/django-emulate-aws-env.svg?branch=master

Emulates the conditions of an AWS "Serverless" environment (API Gateway + Lambda) in your test and development environments (such as those deployed by Zappa).

Quickstart

Install Django Emulate AWS Env:

pip install django-emulate-aws-env

Add the Django Emulate AWS Env middleware. This should be the highest possible priority in your list and just in your development and test environments:

MIDDLEWARE = [
    'emulate_aws_env.middleware.modify_request',
    ...
]

Or if you're using a dedicated settings file for tests/development:

from .base import *

...

MIDDLEWARE = ['emulate_aws_env.middleware.modify_request'] + MIDDLEWARE

Features

The API Gateway service has the following restrictions which aren't present in the default environment used to test Django projects:

The provided middleware modifies the request to these restrictions.

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox

Credits

Tools used in rendering this package: