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.20.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jj_spec_validator-0.1.20-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for jj_spec_validator-0.1.20.tar.gz
Algorithm Hash digest
SHA256 f62a30c43df152f5e2a3bba0789d05c5310141101af9761828adb1bcde03fa8f
MD5 bd142d13df7bf475140ceb353968d703
BLAKE2b-256 714a1957d68dbe4380687750c04ed3e55cfdb6234d2ecb39a968b9c84dd5e8c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jj_spec_validator-0.1.20-py3-none-any.whl
Algorithm Hash digest
SHA256 d70b9b6988714047c517460fce085d350f003e7bcc7a02c16fd0ccbe80afe680
MD5 0102d8be0488c4a69c1ca3a44488d0ad
BLAKE2b-256 30fe0890ee359a298a2b285fac83d4328cdf5ef2f674bc31f174f3e1cd79482b

See more details on using hashes here.

Supported by

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