Emulates the conditions of an AWS "Serverless" environment (API Gateway + Lambda) in your test and development environments (such as those deployed by Zappa).
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
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.
Does the code actually work?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
Tools used in rendering this package: