jj mocks validator for openapi specs
Project description
Usage
- 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)
-
Control discrepancy handling with
validate_level
key:"warning"
(default, logs a warning, continues execution)"error"
(raises exceptions, stops execution)"skip"
(skips validation)
-
Control the output mode of warning messages with the
output_mode
key:"std"
(default, prints warnings to stdout)"file"
(writes warnings to a file)
Note: The output_mode
parameter is only applicable when validate_level
is set to "warning"
-
is_strict
key will allow choosing between strict and non-strict comparison. False by default. -
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")
...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for jj_spec_validator-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6913e86b1e5407533d102452c1c5e69cd89fe7409b38c8ce71a939a71efa894f |
|
MD5 | 2d0d4ad1a78bd9d2c3e4510c6ed3bfbe |
|
BLAKE2b-256 | 52568c3b0509626f7e1c52ca93490fb6f8d36aa0aad771c7a33a65208bfa1e71 |