Skip to main content

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)

Source distribution for optic-document-flask 0.1.3
File Size Uploaded
optic-document-flask-0.1.3.tar.gz 2.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for optic-document-flask 0.1.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page