Skip to main content

jj mocks validator for openapi specs

Project description

Version Compatibility Notice

  • For versions of this package below 1.0.0, only version 1 of the d42 package is compatible.
  • For versions of this package 1.0.0 and later, only version 2 of the d42 package is compatible.

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-1.0.0.tar.gz (8.3 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-1.0.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jj_spec_validator-1.0.0.tar.gz
  • Upload date:
  • Size: 8.3 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-1.0.0.tar.gz
Algorithm Hash digest
SHA256 17edc5bc114a73350123fb942d503264e10f5c5036681e0d6ec93c0939b46f99
MD5 8f873415f71080725290cbfb29431570
BLAKE2b-256 f40e16ae06894ffaa5ccb6935672715557e33ae74baabd16168771a569529781

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jj_spec_validator-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc838784f4be5dada0528397a4824d982d368c268f695b830ea87bd1b8f6b554
MD5 1543bfa495ecaaaf81570331775e09d2
BLAKE2b-256 f0fc382ca6438f016ea81b690d80703963d63cbd89521030023c6acb30f02109

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