Skip to main content

jj mocks validator for openapi specs

Project description

Usage

  1. Decorate your mocked function with @validate_spec(), providing a link to a YAML or JSON OpenAPI spec.
import jj
from jj.mock import mocked
from jj_spec_validator import validate_spec


@validate_spec(spec_link="http://example.com/api/users/spec.yml")
async def your_mocked_function():
    matcher = jj.match("GET", "/users")
    response = jj.Response(status=200, json=[])
    
    mock = await mocked(matcher, response)
  1. is_strict key allows choosing between strict and non-strict comparison. Non-strict comparison allows you to mock only some fields from the spec. False (= non-strict) by default.

  2. Use the prefix key to specify a prefix that should be removed from the paths in the mock function before matching them against the OpenAPI spec.

from jj_spec_validator import validate_spec


@validate_spec(spec_link="http://example.com/api/users/spec.yml", prefix='/__mocked_api__')  # Goes to validate `/users` instead of `/__mocked_api__/users`
async def your_mocked_function():
    matcher = jj.match("GET", "/__mocked_api__/users")
    ...
  1. is_raise_error key allows raising an error when a mismatch occurs. False by default.

  2. force_strict key allows enforcing strict validation against the downloaded spec. This is useful when the spec is occasionally have all dicts relaxed. False by default.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jj_spec_validator-0.1.17.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

jj_spec_validator-0.1.17-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file jj_spec_validator-0.1.17.tar.gz.

File metadata

  • Download URL: jj_spec_validator-0.1.17.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.15

File hashes

Hashes for jj_spec_validator-0.1.17.tar.gz
Algorithm Hash digest
SHA256 3587045501056673595877a36e2c4e1ff21c0ab7f10e4570eccacbb428fccb41
MD5 328adf96abb3f49a5eb5af590c326d9e
BLAKE2b-256 94c98e5f2467b487921df7c2debb9b6e13181fc4286b16daf96d6b2460bfce14

See more details on using hashes here.

File details

Details for the file jj_spec_validator-0.1.17-py3-none-any.whl.

File metadata

File hashes

Hashes for jj_spec_validator-0.1.17-py3-none-any.whl
Algorithm Hash digest
SHA256 b66c1197b601eabe3cf8281b95886161fc92b35a4af55c62fd0d073abb184e9e
MD5 4e42711083ab497d3894766c3a0619c2
BLAKE2b-256 9388ee2201d3f905a517f818e288abac4b2d87e9e2fe1dd0a686ed95f28a0c39

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page