Optic for Flask
Optic Proxy Setup
Python APIs built on top of Flask are easy to connect to Optic using our custom middleware. In this tutorial we'll show you how to connect the Optic Documenting Middleware to your Flask app so that your integration tests document your code as they execute.
Add the Middleware to your Project
Install the Optic Documenting Middleware using pip
pip3 install optic-document-flask
Making the Middleware Run During Testing
Now add the middleware to your Flask App. Since we only want the middleware to run while Optic executes your tests, make sure you wrap it in a check for the OPTIC_SERVER_LISTENING environment variable.
We like performing this check within the block where we setup our test config, but you can do it anywhere that makes sense for your app.
from optic import OpticDocumentingMiddleware
def create_app(test_config=None):
# Setup Code...
if test_config is None:
# load the instance config, if it exists, when not testing
app.config.from_pyfile('config.py', silent=True)
else:
if 'OPTIC_SERVER_LISTENING' in os.environ:
OpticDocumentingMiddleware(app)
app.config.update(test_config)
return app
Using the Proxy Fixture
The Documenting middleware will document all the requests/responses that your tests run. Since it is integrated at the middleware level there's no need to update any of your tests files or fixtures.
Metadata
Release files for optic-document-flask 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| optic-document-flask-0.1.3.tar.gz | 2.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| optic_document_flask-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.9 kB
Release files / optic-document-flask-0.1.3.tar.gz
| Download URL | optic-document-flask-0.1.3.tar.gz |
|---|---|
| Size | 2.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ca9bfe37a6c6f9b7981d053f9ed342a9c97eade372c8b6e6142a9ba4cc74b81e
|
|
BLAKE2b-256 checksum How to use checksums |
1c21d61b7674d9203bf47c7b9554e852d3b25776a8f674c21a82de0d266228a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
|
Release files / optic_document_flask-0.1.3-py3-none-any.whl
| Download URL | optic_document_flask-0.1.3-py3-none-any.whl |
|---|---|
| Size | 3.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6de2a63167dee712ca2f43d4e3b9d7804227f9f36bcfa949389bb5dadb8e8f9
|
|
BLAKE2b-256 checksum How to use checksums |
0563d05daa0d8d01519016986e738ae02efdc172dd6848e26026e463d7469d9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
|