schemathesis 3.18.5__py3-none-any.whl → 3.19.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- schemathesis/__init__.py +1 -3
- schemathesis/auths.py +218 -43
- schemathesis/cli/__init__.py +37 -20
- schemathesis/cli/callbacks.py +13 -1
- schemathesis/cli/cassettes.py +18 -18
- schemathesis/cli/context.py +25 -24
- schemathesis/cli/debug.py +3 -3
- schemathesis/cli/junitxml.py +4 -4
- schemathesis/cli/options.py +1 -1
- schemathesis/cli/output/default.py +2 -0
- schemathesis/constants.py +3 -3
- schemathesis/exceptions.py +9 -9
- schemathesis/extra/pytest_plugin.py +1 -1
- schemathesis/failures.py +65 -66
- schemathesis/filters.py +269 -0
- schemathesis/hooks.py +11 -11
- schemathesis/lazy.py +21 -16
- schemathesis/models.py +149 -107
- schemathesis/parameters.py +12 -7
- schemathesis/runner/events.py +55 -55
- schemathesis/runner/impl/core.py +26 -26
- schemathesis/runner/impl/solo.py +6 -7
- schemathesis/runner/impl/threadpool.py +5 -5
- schemathesis/runner/serialization.py +50 -50
- schemathesis/schemas.py +38 -23
- schemathesis/serializers.py +3 -3
- schemathesis/service/ci.py +25 -25
- schemathesis/service/client.py +2 -2
- schemathesis/service/events.py +12 -13
- schemathesis/service/hosts.py +4 -4
- schemathesis/service/metadata.py +14 -15
- schemathesis/service/models.py +12 -13
- schemathesis/service/report.py +30 -31
- schemathesis/service/serialization.py +2 -4
- schemathesis/specs/graphql/loaders.py +21 -2
- schemathesis/specs/graphql/schemas.py +8 -8
- schemathesis/specs/openapi/expressions/context.py +4 -4
- schemathesis/specs/openapi/expressions/lexer.py +11 -12
- schemathesis/specs/openapi/expressions/nodes.py +16 -16
- schemathesis/specs/openapi/expressions/parser.py +1 -1
- schemathesis/specs/openapi/links.py +15 -17
- schemathesis/specs/openapi/loaders.py +29 -2
- schemathesis/specs/openapi/negative/__init__.py +5 -5
- schemathesis/specs/openapi/negative/mutations.py +6 -6
- schemathesis/specs/openapi/parameters.py +12 -13
- schemathesis/specs/openapi/references.py +2 -2
- schemathesis/specs/openapi/schemas.py +11 -15
- schemathesis/specs/openapi/security.py +12 -7
- schemathesis/specs/openapi/stateful/links.py +4 -4
- schemathesis/stateful.py +19 -19
- schemathesis/targets.py +5 -6
- schemathesis/throttling.py +34 -0
- schemathesis/types.py +11 -13
- schemathesis/utils.py +2 -2
- {schemathesis-3.18.5.dist-info → schemathesis-3.19.1.dist-info}/METADATA +4 -3
- schemathesis-3.19.1.dist-info/RECORD +107 -0
- schemathesis-3.18.5.dist-info/RECORD +0 -105
- {schemathesis-3.18.5.dist-info → schemathesis-3.19.1.dist-info}/WHEEL +0 -0
- {schemathesis-3.18.5.dist-info → schemathesis-3.19.1.dist-info}/entry_points.txt +0 -0
- {schemathesis-3.18.5.dist-info → schemathesis-3.19.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
"""Processing of ``securityDefinitions`` or ``securitySchemes`` keywords."""
|
|
2
|
+
from dataclasses import dataclass
|
|
2
3
|
from typing import Any, ClassVar, Dict, Generator, List, Tuple, Type
|
|
3
4
|
|
|
4
|
-
import attr
|
|
5
5
|
from jsonschema import RefResolver
|
|
6
6
|
|
|
7
7
|
from ...models import APIOperation
|
|
8
8
|
from .parameters import OpenAPI20Parameter, OpenAPI30Parameter, OpenAPIParameter
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
@
|
|
11
|
+
@dataclass
|
|
12
12
|
class BaseSecurityProcessor:
|
|
13
|
-
api_key_locations: Tuple[str, ...] = ("header", "query")
|
|
14
|
-
http_security_name = "basic"
|
|
13
|
+
api_key_locations: ClassVar[Tuple[str, ...]] = ("header", "query")
|
|
14
|
+
http_security_name: ClassVar[str] = "basic"
|
|
15
15
|
parameter_cls: ClassVar[Type[OpenAPIParameter]] = OpenAPI20Parameter
|
|
16
16
|
|
|
17
17
|
def process_definitions(self, schema: Dict[str, Any], operation: APIOperation, resolver: RefResolver) -> None:
|
|
18
18
|
"""Add relevant security parameters to data generation."""
|
|
19
19
|
for definition in self._get_active_definitions(schema, operation, resolver):
|
|
20
|
+
name = definition.get("name")
|
|
21
|
+
location = definition.get("in")
|
|
22
|
+
if name is not None and location is not None and operation.get_parameter(name, location) is not None:
|
|
23
|
+
# Such parameter is already defined
|
|
24
|
+
continue
|
|
20
25
|
if definition["type"] == "apiKey":
|
|
21
26
|
self.process_api_key_security_definition(definition, operation)
|
|
22
27
|
self.process_http_security_definition(definition, operation)
|
|
@@ -107,10 +112,10 @@ def make_api_key_schema(definition: Dict[str, Any], **kwargs: Any) -> Dict[str,
|
|
|
107
112
|
SwaggerSecurityProcessor = BaseSecurityProcessor
|
|
108
113
|
|
|
109
114
|
|
|
110
|
-
@
|
|
115
|
+
@dataclass
|
|
111
116
|
class OpenAPISecurityProcessor(BaseSecurityProcessor):
|
|
112
|
-
api_key_locations = ("header", "cookie", "query")
|
|
113
|
-
http_security_name = "http"
|
|
117
|
+
api_key_locations: ClassVar[Tuple[str, ...]] = ("header", "cookie", "query")
|
|
118
|
+
http_security_name: ClassVar[str] = "http"
|
|
114
119
|
parameter_cls: ClassVar[Type[OpenAPIParameter]] = OpenAPI30Parameter
|
|
115
120
|
|
|
116
121
|
def get_security_definitions(self, schema: Dict[str, Any], resolver: RefResolver) -> Dict[str, Any]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
1
2
|
from typing import TYPE_CHECKING, Callable, Dict, List, Tuple
|
|
2
3
|
|
|
3
|
-
import attr
|
|
4
4
|
import hypothesis.strategies as st
|
|
5
5
|
from requests.structures import CaseInsensitiveDict
|
|
6
6
|
|
|
@@ -14,10 +14,10 @@ if TYPE_CHECKING:
|
|
|
14
14
|
FilterFunction = Callable[[StepResult], bool]
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
@
|
|
17
|
+
@dataclass
|
|
18
18
|
class Connection:
|
|
19
|
-
source: str
|
|
20
|
-
strategy: st.SearchStrategy[Tuple[StepResult, OpenAPILink]]
|
|
19
|
+
source: str
|
|
20
|
+
strategy: st.SearchStrategy[Tuple[StepResult, OpenAPILink]]
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
APIOperationConnections = Dict[str, List[Connection]]
|
schemathesis/stateful.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import enum
|
|
2
2
|
import json
|
|
3
3
|
import time
|
|
4
|
+
from dataclasses import dataclass, field
|
|
4
5
|
from typing import TYPE_CHECKING, Any, Callable, ClassVar, Dict, Generator, List, Optional, Tuple, Type
|
|
5
6
|
|
|
6
|
-
import attr
|
|
7
7
|
import hypothesis
|
|
8
8
|
from hypothesis.stateful import RuleBasedStateMachine
|
|
9
9
|
from hypothesis.stateful import run_state_machine_as_test as _run_state_machine_as_test
|
|
@@ -25,15 +25,15 @@ class Stateful(enum.Enum):
|
|
|
25
25
|
links = 2
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
@
|
|
28
|
+
@dataclass
|
|
29
29
|
class ParsedData:
|
|
30
30
|
"""A structure that holds information parsed from a test outcome.
|
|
31
31
|
|
|
32
32
|
It is used later to create a new version of an API operation that will reuse this data.
|
|
33
33
|
"""
|
|
34
34
|
|
|
35
|
-
parameters: Dict[str, Any]
|
|
36
|
-
body: Any =
|
|
35
|
+
parameters: Dict[str, Any]
|
|
36
|
+
body: Any = NOT_SET
|
|
37
37
|
|
|
38
38
|
def __hash__(self) -> int:
|
|
39
39
|
"""Custom hash simplifies deduplication of parsed data."""
|
|
@@ -48,11 +48,11 @@ class ParsedData:
|
|
|
48
48
|
return value
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
@
|
|
51
|
+
@dataclass
|
|
52
52
|
class StatefulTest:
|
|
53
53
|
"""A template for a test that will be executed after another one by reusing the outcomes from it."""
|
|
54
54
|
|
|
55
|
-
name: str
|
|
55
|
+
name: str
|
|
56
56
|
|
|
57
57
|
def parse(self, case: Case, response: GenericResponse) -> ParsedData:
|
|
58
58
|
raise NotImplementedError
|
|
@@ -61,12 +61,12 @@ class StatefulTest:
|
|
|
61
61
|
raise NotImplementedError
|
|
62
62
|
|
|
63
63
|
|
|
64
|
-
@
|
|
64
|
+
@dataclass
|
|
65
65
|
class StatefulData:
|
|
66
66
|
"""Storage for data that will be used in later tests."""
|
|
67
67
|
|
|
68
|
-
stateful_test: StatefulTest
|
|
69
|
-
container: List[ParsedData] =
|
|
68
|
+
stateful_test: StatefulTest
|
|
69
|
+
container: List[ParsedData] = field(default_factory=list)
|
|
70
70
|
|
|
71
71
|
def make_operation(self) -> APIOperation:
|
|
72
72
|
return self.stateful_test.make_operation(self.container)
|
|
@@ -77,16 +77,16 @@ class StatefulData:
|
|
|
77
77
|
self.container.append(parsed)
|
|
78
78
|
|
|
79
79
|
|
|
80
|
-
@
|
|
80
|
+
@dataclass
|
|
81
81
|
class Feedback:
|
|
82
82
|
"""Handler for feedback from tests.
|
|
83
83
|
|
|
84
84
|
Provides a way to control runner's behavior from tests.
|
|
85
85
|
"""
|
|
86
86
|
|
|
87
|
-
stateful: Optional[Stateful]
|
|
88
|
-
operation: APIOperation =
|
|
89
|
-
stateful_tests: Dict[str, StatefulData] =
|
|
87
|
+
stateful: Optional[Stateful]
|
|
88
|
+
operation: APIOperation = field(repr=False)
|
|
89
|
+
stateful_tests: Dict[str, StatefulData] = field(default_factory=dict, repr=False)
|
|
90
90
|
|
|
91
91
|
def add_test_case(self, case: Case, response: GenericResponse) -> None:
|
|
92
92
|
"""Store test data to reuse it in the future additional tests."""
|
|
@@ -117,13 +117,13 @@ class Feedback:
|
|
|
117
117
|
yield Ok((operation, test_function))
|
|
118
118
|
|
|
119
119
|
|
|
120
|
-
@
|
|
120
|
+
@dataclass
|
|
121
121
|
class StepResult:
|
|
122
122
|
"""Output from a single transition of a state machine."""
|
|
123
123
|
|
|
124
|
-
response: GenericResponse
|
|
125
|
-
case: Case
|
|
126
|
-
elapsed: float
|
|
124
|
+
response: GenericResponse
|
|
125
|
+
case: Case
|
|
126
|
+
elapsed: float
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
class Direction:
|
|
@@ -148,11 +148,11 @@ def _print_case(case: Case, kwargs: Dict[str, Any]) -> str:
|
|
|
148
148
|
return f"{operation}.make_case({', '.join(data)})"
|
|
149
149
|
|
|
150
150
|
|
|
151
|
-
@
|
|
151
|
+
@dataclass(repr=False)
|
|
152
152
|
class _DirectionWrapper:
|
|
153
153
|
"""Purely to avoid modification of `Direction.__repr__`."""
|
|
154
154
|
|
|
155
|
-
direction: Direction
|
|
155
|
+
direction: Direction
|
|
156
156
|
|
|
157
157
|
def __repr__(self) -> str:
|
|
158
158
|
path = self.direction.operation.path
|
schemathesis/targets.py
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
1
2
|
from typing import TYPE_CHECKING, Callable, Tuple
|
|
2
3
|
|
|
3
|
-
import attr
|
|
4
|
-
|
|
5
4
|
from .utils import GenericResponse
|
|
6
5
|
|
|
7
6
|
if TYPE_CHECKING:
|
|
8
7
|
from .models import Case
|
|
9
8
|
|
|
10
9
|
|
|
11
|
-
@
|
|
10
|
+
@dataclass
|
|
12
11
|
class TargetContext:
|
|
13
12
|
"""Context for targeted testing.
|
|
14
13
|
|
|
@@ -17,9 +16,9 @@ class TargetContext:
|
|
|
17
16
|
:ivar float response_time: API response time.
|
|
18
17
|
"""
|
|
19
18
|
|
|
20
|
-
case: "Case"
|
|
21
|
-
response: GenericResponse
|
|
22
|
-
response_time: float
|
|
19
|
+
case: "Case"
|
|
20
|
+
response: GenericResponse
|
|
21
|
+
response_time: float
|
|
23
22
|
|
|
24
23
|
|
|
25
24
|
def response_time(context: TargetContext) -> float:
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from typing import Tuple
|
|
2
|
+
|
|
3
|
+
from pyrate_limiter import Duration, Limiter, RequestRate
|
|
4
|
+
|
|
5
|
+
from .exceptions import UsageError
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def parse_units(rate: str) -> Tuple[int, int]:
|
|
9
|
+
try:
|
|
10
|
+
limit, interval_text = rate.split("/")
|
|
11
|
+
interval = {
|
|
12
|
+
"s": Duration.SECOND,
|
|
13
|
+
"m": Duration.MINUTE,
|
|
14
|
+
"h": Duration.HOUR,
|
|
15
|
+
"d": Duration.DAY,
|
|
16
|
+
}.get(interval_text)
|
|
17
|
+
if interval is None:
|
|
18
|
+
raise invalid_rate(rate)
|
|
19
|
+
return int(limit), interval
|
|
20
|
+
except ValueError as exc:
|
|
21
|
+
raise invalid_rate(rate) from exc
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def invalid_rate(value: str) -> UsageError:
|
|
25
|
+
return UsageError(
|
|
26
|
+
f"Invalid rate limit value: `{value}`. Should be in form `limit/interval`. "
|
|
27
|
+
"Example: `10/m` for 10 requests per minute."
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def build_limiter(rate: str) -> Limiter:
|
|
32
|
+
limit, interval = parse_units(rate)
|
|
33
|
+
rate = RequestRate(limit, interval)
|
|
34
|
+
return Limiter(rate)
|
schemathesis/types.py
CHANGED
|
@@ -7,15 +7,15 @@ if TYPE_CHECKING:
|
|
|
7
7
|
from . import DataGenerationMethod
|
|
8
8
|
from .hooks import HookContext
|
|
9
9
|
|
|
10
|
-
PathLike = Union[Path, str]
|
|
10
|
+
PathLike = Union[Path, str]
|
|
11
11
|
|
|
12
|
-
Query = Dict[str, Any]
|
|
12
|
+
Query = Dict[str, Any]
|
|
13
13
|
# Body can be of any Python type that corresponds to JSON Schema types + `bytes`
|
|
14
|
-
Body = Union[List, Dict[str, Any], str, int, float, bool, bytes]
|
|
15
|
-
PathParameters = Dict[str, Any]
|
|
16
|
-
Headers = Dict[str, Any]
|
|
17
|
-
Cookies = Dict[str, Any]
|
|
18
|
-
FormData = Dict[str, Any]
|
|
14
|
+
Body = Union[List, Dict[str, Any], str, int, float, bool, bytes]
|
|
15
|
+
PathParameters = Dict[str, Any]
|
|
16
|
+
Headers = Dict[str, Any]
|
|
17
|
+
Cookies = Dict[str, Any]
|
|
18
|
+
FormData = Dict[str, Any]
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class NotSet:
|
|
@@ -26,13 +26,11 @@ RequestCert = Union[str, Tuple[str, str]]
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
# A filter for path / method
|
|
29
|
-
Filter = Union[str, List[str], Tuple[str], Set[str], NotSet]
|
|
29
|
+
Filter = Union[str, List[str], Tuple[str], Set[str], NotSet]
|
|
30
30
|
|
|
31
|
-
Hook = Union[
|
|
32
|
-
Callable[[SearchStrategy], SearchStrategy], Callable[[SearchStrategy, "HookContext"], SearchStrategy]
|
|
33
|
-
] # pragma: no mutate
|
|
31
|
+
Hook = Union[Callable[[SearchStrategy], SearchStrategy], Callable[[SearchStrategy, "HookContext"], SearchStrategy]]
|
|
34
32
|
|
|
35
|
-
RawAuth = Tuple[str, str]
|
|
33
|
+
RawAuth = Tuple[str, str]
|
|
36
34
|
# Generic test with any arguments and no return
|
|
37
|
-
GenericTest = Callable[..., None]
|
|
35
|
+
GenericTest = Callable[..., None]
|
|
38
36
|
DataGenerationMethodInput = Union["DataGenerationMethod", Iterable["DataGenerationMethod"]]
|
schemathesis/utils.py
CHANGED
|
@@ -80,7 +80,7 @@ def is_latin_1_encodable(value: str) -> bool:
|
|
|
80
80
|
|
|
81
81
|
|
|
82
82
|
# Adapted from http.client._is_illegal_header_value
|
|
83
|
-
INVALID_HEADER_RE = re.compile(r"\n(?![ \t])|\r(?![ \t\n])")
|
|
83
|
+
INVALID_HEADER_RE = re.compile(r"\n(?![ \t])|\r(?![ \t\n])")
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
def has_invalid_characters(name: str, value: str) -> bool:
|
|
@@ -258,7 +258,7 @@ def get_requests_auth(auth: Optional[RawAuth], auth_type: Optional[str]) -> Opti
|
|
|
258
258
|
return auth
|
|
259
259
|
|
|
260
260
|
|
|
261
|
-
GenericResponse = Union[requests.Response, WSGIResponse]
|
|
261
|
+
GenericResponse = Union[requests.Response, WSGIResponse]
|
|
262
262
|
|
|
263
263
|
|
|
264
264
|
def copy_response(response: GenericResponse) -> GenericResponse:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.19.1
|
|
4
4
|
Summary: Property-based testing framework for Open API and GraphQL based apps
|
|
5
5
|
Project-URL: Documentation, https://schemathesis.readthedocs.io/en/stable/
|
|
6
6
|
Project-URL: Changelog, https://schemathesis.readthedocs.io/en/stable/changelog.html
|
|
@@ -28,7 +28,6 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
28
28
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
29
29
|
Classifier: Topic :: Software Development :: Testing
|
|
30
30
|
Requires-Python: >=3.7
|
|
31
|
-
Requires-Dist: attrs>=22.1
|
|
32
31
|
Requires-Dist: backoff<3.0,>=2.1.2
|
|
33
32
|
Requires-Dist: click<9.0,>=7.0
|
|
34
33
|
Requires-Dist: colorama<1.0,>=0.4
|
|
@@ -40,10 +39,11 @@ Requires-Dist: hypothesis<7,>=6.13.3
|
|
|
40
39
|
Requires-Dist: importlib-metadata!=3.8,<5,>=1.1; python_version < '3.8'
|
|
41
40
|
Requires-Dist: jsonschema<5.0,>=4.3.2
|
|
42
41
|
Requires-Dist: junit-xml<2.0,>=1.9
|
|
42
|
+
Requires-Dist: pyrate-limiter<3.0,>=2.10
|
|
43
43
|
Requires-Dist: pytest-subtests<0.8.0,>=0.2.1
|
|
44
44
|
Requires-Dist: pytest<8,>=4.6.4
|
|
45
45
|
Requires-Dist: pyyaml<7.0,>=5.1
|
|
46
|
-
Requires-Dist: requests
|
|
46
|
+
Requires-Dist: requests<2.29,>=2.22
|
|
47
47
|
Requires-Dist: starlette-testclient==0.2.0
|
|
48
48
|
Requires-Dist: starlette<1,>=0.13
|
|
49
49
|
Requires-Dist: tomli-w<2.0,>=1.0.0
|
|
@@ -277,6 +277,7 @@ to Schemathesis, see the [contributing guidelines](https://github.com/schemathes
|
|
|
277
277
|
- [An article](https://dygalo.dev/blog/schemathesis-property-based-testing-for-api-schemas/) about Schemathesis by **@Stranger6667**
|
|
278
278
|
- [Effective API schemas testing](https://youtu.be/VVLZ25JgjD4) from DevConf.cz by **@Stranger6667**
|
|
279
279
|
- [How to use Schemathesis to test Flask API in GitHub Actions](https://notes.lina-is-here.com/2022/08/04/schemathesis-docker-compose.html) by **@lina-is-here**
|
|
280
|
+
- [Testing APIFlask with schemathesis](http://blog.pamelafox.org/2023/02/testing-apiflask-with-schemathesis.html) by **@pamelafox**
|
|
280
281
|
- [A video](https://www.youtube.com/watch?v=9FHRwrv-xuQ) from EuroPython 2020 by **@hultner**
|
|
281
282
|
- [Schemathesis tutorial](https://appdev.consulting.redhat.com/tracks/contract-first/automated-testing-with-schemathesis.html) with an accompanying [video](https://www.youtube.com/watch?v=4r7OC-lBKMg) by Red Hat
|
|
282
283
|
- [Using Hypothesis and Schemathesis to Test FastAPI](https://testdriven.io/blog/fastapi-hypothesis/) by **@amalshaji**
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
schemathesis/__init__.py,sha256=GtEW0EhNpXSxdtVr3wpqYjzATip2EM56FcLxNbvcXeI,1222
|
|
2
|
+
schemathesis/_compat.py,sha256=F7SdeJcpenxFe0mNtpddS0yFhJuNaG_e0t6b_AB_t2E,2437
|
|
3
|
+
schemathesis/_hypothesis.py,sha256=wNyKEjhs1oRtUJcckaZz0ylG6pltecQ6u6VqYIVxnrs,5914
|
|
4
|
+
schemathesis/auths.py,sha256=CKKRLp5k0qOj4XkcSdNECwgf_Xpsv4U63R8ALFof-rY,13540
|
|
5
|
+
schemathesis/checks.py,sha256=-oqV4ncw53lNM81kt6j08_cx-eeSXngKYqPcVDWoEp0,1612
|
|
6
|
+
schemathesis/constants.py,sha256=EvMnxDhfZAmQXfO0ZWDA2deRpuL7tiebykQPuF4SuZ4,3279
|
|
7
|
+
schemathesis/exceptions.py,sha256=scN97sqnKvwQB4T0GaLcAlMAWqrPv-PhWLJ9Kxl-_PA,8586
|
|
8
|
+
schemathesis/failures.py,sha256=Nm__XeORrRYqZbY5lKeGz03JTrh7Vqsg7mSg1qR57cU,4470
|
|
9
|
+
schemathesis/filters.py,sha256=cuR7yJzAZ4p9pjnKcD9B061aMQAOJzutg_5HJKNEr0g,9449
|
|
10
|
+
schemathesis/graphql.py,sha256=YkoKWY5K8lxp7H3ikAs-IsoDbiPwJvChG7O8p3DgwtI,229
|
|
11
|
+
schemathesis/hooks.py,sha256=jBlnDMv3guUYOvVppR63CkESdZZfxOkI3CbxuTpnEbA,10145
|
|
12
|
+
schemathesis/internal.py,sha256=KDFEDOkwGj5gl2yj3PiKjirTzt32kjHd2M8BezdhFHA,155
|
|
13
|
+
schemathesis/lazy.py,sha256=ydUeMeUDlfzYXE1_KYU_3w2oDQfhK1IPgNFDgPJv9JU,12729
|
|
14
|
+
schemathesis/models.py,sha256=vSE1fnplTVkhhu2GizcqanPN0Wj34_jsy3U-QdAuhHw,44136
|
|
15
|
+
schemathesis/parameters.py,sha256=e1pV4R9vTKeF5UJ3cx7TIMuxhErwa8x1JgS-QP3O5fk,2591
|
|
16
|
+
schemathesis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
schemathesis/schemas.py,sha256=DXvWYQB2OynOk_Swb4BCpF82Qe-MQNP8azftH7qcsD8,15206
|
|
18
|
+
schemathesis/serializers.py,sha256=RxLZwSU4Zvxk-J36vUtFRUY7H1vNeWC7Kv5Lj1Ru0is,9138
|
|
19
|
+
schemathesis/stateful.py,sha256=9z8GxwSFvF-Tf7eaN1iQRrI2HABshf8uTY16xff2Mq8,15009
|
|
20
|
+
schemathesis/targets.py,sha256=FnxcZ9SBWgyyD-DQKj-_CbxmkEARc_7ur5Wo8eDPju0,1118
|
|
21
|
+
schemathesis/throttling.py,sha256=kDU0G75FxzxalcIOnWgeYDPNLoZZpkMjSXYG5cLALmg,942
|
|
22
|
+
schemathesis/types.py,sha256=ZRJJKTBBucAIvI7d_Wdb4sGQzmg-I0II7rONccncV3E,1043
|
|
23
|
+
schemathesis/utils.py,sha256=QpwdJo3OpB4uqUsnsqM6F-5ZUMWuf0uvrohq9ujd4J8,16839
|
|
24
|
+
schemathesis/cli/__init__.py,sha256=w5EzD1NqV1Xp8QUCJy7mTq_TRVWy4w2VfJJaIOEUkIg,48286
|
|
25
|
+
schemathesis/cli/callbacks.py,sha256=37DWEIDPX762wGB3tmqcDeYrRWmaserolCJqCGJb2oM,10717
|
|
26
|
+
schemathesis/cli/cassettes.py,sha256=jarSEWd_p_u1pOsL_-ZnCbciZRbQX5CRZRXUD4GqB7Q,12689
|
|
27
|
+
schemathesis/cli/constants.py,sha256=OpyINEiuVqdsJ9bn3NOBoQeD-bdxKFbawLKkgahk2uw,63
|
|
28
|
+
schemathesis/cli/context.py,sha256=93RfqxDPkSW2S7c3gglOm9Jb7ZMzWzYmqo49k4iKgxk,1363
|
|
29
|
+
schemathesis/cli/debug.py,sha256=CFGNdwGrm3GjAy5zR_MU7PWJIvio9CF5AqYpjh_cyeY,538
|
|
30
|
+
schemathesis/cli/handlers.py,sha256=rnhFGGYI4z9lKGugj206btJP80isopBzFR1LihfGFuM,293
|
|
31
|
+
schemathesis/cli/junitxml.py,sha256=7yl3thxc4pvdw54CnE2ox3-VufmibIlBaIJ8HAfkG6k,1700
|
|
32
|
+
schemathesis/cli/options.py,sha256=gAk_Iy4FCKNTuFKLOYX0TzVcibQSPQaQOen7D45gXmY,2589
|
|
33
|
+
schemathesis/cli/output/__init__.py,sha256=AXaUzQ1nhQ-vXhW4-X-91vE2VQtEcCOrGtQXXNN55iQ,29
|
|
34
|
+
schemathesis/cli/output/default.py,sha256=l23UItr0FinAWNzKJrfKVQnITkE3H3i-TF0pX6xUY7U,22984
|
|
35
|
+
schemathesis/cli/output/short.py,sha256=Ui21Ko7eY5igs4CyNFb88-KRXKmMjz776l9aCHpYq8o,1628
|
|
36
|
+
schemathesis/contrib/__init__.py,sha256=FH8NL8NXgSKBFOF8Jy_EB6T4CJEaiM-tmDhz16B2o4k,187
|
|
37
|
+
schemathesis/contrib/unique_data.py,sha256=1jer4q8HOvEX6ktXHxSzrqJduXKyYKVhdIqSrR7BHRo,704
|
|
38
|
+
schemathesis/contrib/openapi/__init__.py,sha256=9jG6b909V2ediVl-yVIIfNqfbNcqLpEMWh20EiDXCdU,120
|
|
39
|
+
schemathesis/contrib/openapi/formats/__init__.py,sha256=OpHWPW8MkTLVv83QXPYY1HVLflhmSH49hSVefm1oVV0,111
|
|
40
|
+
schemathesis/contrib/openapi/formats/uuid.py,sha256=xDTFWySI4zmjJ_HkqqKrcVxSwYxXVlHoXy-Z-hcgzPA,348
|
|
41
|
+
schemathesis/extra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
|
+
schemathesis/extra/_aiohttp.py,sha256=CtebXNceFdovCImZMGzUel4ypIcDuSuHbYVQXzFo8eI,952
|
|
43
|
+
schemathesis/extra/_flask.py,sha256=_VEnaEOngLpyyXU7tZ8L2Fpeg1j46c9AvasM8e6R4V4,285
|
|
44
|
+
schemathesis/extra/_server.py,sha256=wkEe5SUdeA9dmhWR8FCevY8YFRx5vFKwD779e20P0Ek,518
|
|
45
|
+
schemathesis/extra/pytest_plugin.py,sha256=nW2o-hRg3BTflpCxPcYV9z3jgO6u4E2eK5dRGY0u1_8,9610
|
|
46
|
+
schemathesis/fixups/__init__.py,sha256=SWwgcvCcE7qDUOyuGl0saNYLGR1AkGdF6IbuXI0S764,795
|
|
47
|
+
schemathesis/fixups/fast_api.py,sha256=Rq7EAXf0jV2No4jWcIIjkXK04bmVesZtJKIuGF8ZABk,1022
|
|
48
|
+
schemathesis/fixups/utf8_bom.py,sha256=YM3HiuvItCZKMir-SVcLt3cTdb_Ek2c6H4gbYYsBI-s,549
|
|
49
|
+
schemathesis/runner/__init__.py,sha256=Z_SPevx6RAoT5PTfgzQZS5H_5uzbaiwtpzy-l79nHRk,18180
|
|
50
|
+
schemathesis/runner/events.py,sha256=yP4Sur4KURTqsA521sQVMBek2-UkU-7YmMJD2rWdm3I,8440
|
|
51
|
+
schemathesis/runner/serialization.py,sha256=ziPWnvQppDLokdO61Bhcsx1OEUnK_0vM07vT7JMJDbc,7126
|
|
52
|
+
schemathesis/runner/impl/__init__.py,sha256=1E2iME8uthYPBh9MjwVBCTFV-P3fi7AdphCCoBBspjs,199
|
|
53
|
+
schemathesis/runner/impl/core.py,sha256=jmpay7t-vQgvURkmUmoOkC-f7woBTU8Opfq-Fnj75PA,32307
|
|
54
|
+
schemathesis/runner/impl/solo.py,sha256=FDhZu6s34CTDHMf4nNlAcBAwzouDEZBxqkXEI_lFrHk,2999
|
|
55
|
+
schemathesis/runner/impl/threadpool.py,sha256=a9yAmbNhd4CIOC_3E3uoegVExD5orVrzVGnqANjL5fM,14347
|
|
56
|
+
schemathesis/service/__init__.py,sha256=cJLwStsKelQDCnOjGnwL50oQJrOrCykpk4qJD84mGLU,506
|
|
57
|
+
schemathesis/service/auth.py,sha256=Cy9noPdwO7lyRPTrj_Nix89eEA50vkla_xyF6DKkSE0,440
|
|
58
|
+
schemathesis/service/ci.py,sha256=_xwv2CyftDARF5mBGiEVE_5Q1vC0FxJHArpl68u9RX8,6827
|
|
59
|
+
schemathesis/service/client.py,sha256=WMxyQIjLr-RF4BgYjz0uN6rBkeElW-8_2GS4Lm-sBVU,3267
|
|
60
|
+
schemathesis/service/constants.py,sha256=TwpudgOYqvDs98Asu-NmNb7OtXMkECB5g036fT6Be7Y,1397
|
|
61
|
+
schemathesis/service/events.py,sha256=pw_SLmDj-rFjH6DsvtcIkhUh8XoXDnSAG_tUkDqwmDI,1228
|
|
62
|
+
schemathesis/service/hosts.py,sha256=_oCbUZGnnd7-WF0J9vBbYBkYezTtjK8bjLHP6o2GGrQ,3395
|
|
63
|
+
schemathesis/service/metadata.py,sha256=ZFyzmdMzf-UcAtj_YMwhGn435hWmBvi0Un4vSwEmkPI,1243
|
|
64
|
+
schemathesis/service/models.py,sha256=xh1snR_UFeZOKMp6utoWQM3MXUQRloLJ0Ii9N9gvlCs,341
|
|
65
|
+
schemathesis/service/report.py,sha256=bAtv-GaUzh5huud9wuz9ESs40vkif2PBUYREEnpC5O0,8194
|
|
66
|
+
schemathesis/service/serialization.py,sha256=aRrnHEVzo7sNZUOsCJxRVEdABH_2TrQkQ1ZcYUF61_I,6791
|
|
67
|
+
schemathesis/service/usage.py,sha256=tIsF59Pb-2IHhPnfm5IK6ABE32MwcUZPveUVlqf8PeE,2401
|
|
68
|
+
schemathesis/specs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
69
|
+
schemathesis/specs/graphql/__init__.py,sha256=fgyHtvWNUVWismBTOqxQtgLoTighTfvMv6v6QCD_Oyc,85
|
|
70
|
+
schemathesis/specs/graphql/loaders.py,sha256=8s0VdpBuA1vYF339qshBLj7Tc17XcUcp98DUqqJ9HGk,8638
|
|
71
|
+
schemathesis/specs/graphql/nodes.py,sha256=JFmmV4OXGgUnSEEcOJ5ifVlChEPefLov7PwMknQyO2A,146
|
|
72
|
+
schemathesis/specs/graphql/scalars.py,sha256=L0szUzqDWAXo2F0srgit4KwIZZXHP7K_bZS2M6dNkI0,826
|
|
73
|
+
schemathesis/specs/graphql/schemas.py,sha256=Dborf7jc9HuUnlfC10ptqbuP7PJ9CuFi1QVh1Q_BKsE,8444
|
|
74
|
+
schemathesis/specs/openapi/__init__.py,sha256=Wze9HCPpUHJzhPXO-lHox7OaFJ-lfnJs-CQtCv8231g,228
|
|
75
|
+
schemathesis/specs/openapi/_hypothesis.py,sha256=r0d26dQwHmEtwGomh5kCjyvoSAZ7Yny8FeSoHqWQK7g,19648
|
|
76
|
+
schemathesis/specs/openapi/checks.py,sha256=dLBZmC63-MBk9-B13dy8O_pvrlu0Z3jyyiM5RkMCXzM,5359
|
|
77
|
+
schemathesis/specs/openapi/constants.py,sha256=JqM_FHOenqS_MuUE9sxVQ8Hnw0DNM8cnKDwCwPLhID4,783
|
|
78
|
+
schemathesis/specs/openapi/converter.py,sha256=Al_x0p0rWiI6jhtLc8yTR9flYr5xt_fE6YYqjH04eqo,2612
|
|
79
|
+
schemathesis/specs/openapi/definitions.py,sha256=-KzyE7e4Sa5HCce6aPXy607giVXCYC357k4-rqeb9zQ,65266
|
|
80
|
+
schemathesis/specs/openapi/examples.py,sha256=LfWn2bDUzpPGg6av3w7uO5JP5_u5pJM39t5lLwXD4Co,9049
|
|
81
|
+
schemathesis/specs/openapi/filters.py,sha256=n2F4tV_j1RBTBfQj_n9AbIiZKw0gpV0xHX7EJS5raF4,1335
|
|
82
|
+
schemathesis/specs/openapi/links.py,sha256=2wmP-vgO__YPLKuA18B_9S_puO2tuqlxGxzwIwyvBKk,14486
|
|
83
|
+
schemathesis/specs/openapi/loaders.py,sha256=Klnztd5F4ug3RtXepxvnAnZFC90n9p7we2_PfHvcdFI,19043
|
|
84
|
+
schemathesis/specs/openapi/parameters.py,sha256=bxd1unBArPIwAJ_6Z2gvkkR5enahN_94FbA4GsjeBzo,14879
|
|
85
|
+
schemathesis/specs/openapi/references.py,sha256=4NrUuQFapB-bO9drgrCyteSnT5DZlfKuAWT7HIVQZtc,8694
|
|
86
|
+
schemathesis/specs/openapi/schemas.py,sha256=lUaRQ263h2fqBzF-wUZ07g7EfwmuaFiYNEUqdjsN6E0,41988
|
|
87
|
+
schemathesis/specs/openapi/security.py,sha256=vGtMitfVN1Fv4b3vIIMgAPc_2o69gOmrXZgkBj1gt9A,6452
|
|
88
|
+
schemathesis/specs/openapi/serialization.py,sha256=cTt5NsF_dipmAVqoYJvxq9uuL-cn_EBL7iJGkhzx7Lo,11449
|
|
89
|
+
schemathesis/specs/openapi/utils.py,sha256=Dublwaz5EXNLDlzDLQPaBF3c8VNnrkv0cPqbcu9Kqzo,731
|
|
90
|
+
schemathesis/specs/openapi/validation.py,sha256=AFLSS9P8yGvhONP9QfieoAAjHqfMPl5wvtPT71TFPQk,989
|
|
91
|
+
schemathesis/specs/openapi/expressions/__init__.py,sha256=7TZeRPpCPt0Bjzs5L--AkQnnIbDgTRnpkgYeJKma5Bc,660
|
|
92
|
+
schemathesis/specs/openapi/expressions/context.py,sha256=4DJj6HUGqONuSs749PO-7GNdP7E799G1tQDFKA8x67A,240
|
|
93
|
+
schemathesis/specs/openapi/expressions/errors.py,sha256=YLVhps-sYcslgVaahfcUYxUSHlIfWL-rQMeT5PZSMZ8,219
|
|
94
|
+
schemathesis/specs/openapi/expressions/lexer.py,sha256=pYoqIlogmw2gyAwec01OTvUb_d8fG1zLiKwlCkLK8RA,3824
|
|
95
|
+
schemathesis/specs/openapi/expressions/nodes.py,sha256=vrNzFvPjw2QPEdiA3G-Y-zk4U6B-Y8ggz9TveHSQwXI,3274
|
|
96
|
+
schemathesis/specs/openapi/expressions/parser.py,sha256=Mff_d0ZxOeU-7lnFCV0GVHlfU8eLPnUN4p81zdt730Y,3515
|
|
97
|
+
schemathesis/specs/openapi/negative/__init__.py,sha256=KtDM--DPOVx4tkNsexEg-8d209N2Mdcu2g2deHEEDMI,3517
|
|
98
|
+
schemathesis/specs/openapi/negative/mutations.py,sha256=8rhCcNw_oKwCajvP4bMLQWtxZhNDVhRN6pyFWB1PlJs,18468
|
|
99
|
+
schemathesis/specs/openapi/negative/types.py,sha256=a7buCcVxNBG6ILBM3A7oNTAX0lyDseEtZndBuej8MbI,174
|
|
100
|
+
schemathesis/specs/openapi/negative/utils.py,sha256=ozcOIuASufLqZSgnKUACjX-EOZrrkuNdXX0SDnLoGYA,168
|
|
101
|
+
schemathesis/specs/openapi/stateful/__init__.py,sha256=CS8yxgIwvbiGkvav4xEPYkKOIhVK4-xpUAv7U45nW8M,4466
|
|
102
|
+
schemathesis/specs/openapi/stateful/links.py,sha256=yrTHH6kdPhM2WpxksyfShf98mkb8ZP6fjXFyTzUbXfo,3487
|
|
103
|
+
schemathesis-3.19.1.dist-info/METADATA,sha256=m9XYpX-yocQvXQf3i5tbwUVsIf_t6JkuM_FJFOKMNvY,13005
|
|
104
|
+
schemathesis-3.19.1.dist-info/WHEEL,sha256=hKi7AIIx6qfnsRbr087vpeJnrVUuDokDHZacPPMW7-Y,87
|
|
105
|
+
schemathesis-3.19.1.dist-info/entry_points.txt,sha256=VHyLcOG7co0nOeuk8WjgpRETk5P1E2iCLrn26Zkn5uk,158
|
|
106
|
+
schemathesis-3.19.1.dist-info/licenses/LICENSE,sha256=PsPYgrDhZ7g9uwihJXNG-XVb55wj2uYhkl2DD8oAzY0,1103
|
|
107
|
+
schemathesis-3.19.1.dist-info/RECORD,,
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
schemathesis/__init__.py,sha256=A9e13_FrKjXGzQxF1OGI_kRXQ1P6eRrLDEcPyMq0qvg,1255
|
|
2
|
-
schemathesis/_compat.py,sha256=F7SdeJcpenxFe0mNtpddS0yFhJuNaG_e0t6b_AB_t2E,2437
|
|
3
|
-
schemathesis/_hypothesis.py,sha256=wNyKEjhs1oRtUJcckaZz0ylG6pltecQ6u6VqYIVxnrs,5914
|
|
4
|
-
schemathesis/auths.py,sha256=GVncup-VZ_5pkRjGgRHoHTOkrgse3RY7vrrgOpol-Uo,7779
|
|
5
|
-
schemathesis/checks.py,sha256=-oqV4ncw53lNM81kt6j08_cx-eeSXngKYqPcVDWoEp0,1612
|
|
6
|
-
schemathesis/constants.py,sha256=0oT2xAWIwR50wZ4hth4ehOknyORvSyLse7AhGN1lbGk,3342
|
|
7
|
-
schemathesis/exceptions.py,sha256=sILeOeHHnGAppPJHQ8LNDVxJaKVP1h8IE86rwVfPBiM,8725
|
|
8
|
-
schemathesis/failures.py,sha256=nw7fcy8Rj-eRpTjalxl9mmoxm_dii0QTMBmJfTta5VE,5353
|
|
9
|
-
schemathesis/graphql.py,sha256=YkoKWY5K8lxp7H3ikAs-IsoDbiPwJvChG7O8p3DgwtI,229
|
|
10
|
-
schemathesis/hooks.py,sha256=rZu5zfpoLfDxVsE3ilXbEpRy4l44hK_BqXfFrgSL6JY,10359
|
|
11
|
-
schemathesis/internal.py,sha256=KDFEDOkwGj5gl2yj3PiKjirTzt32kjHd2M8BezdhFHA,155
|
|
12
|
-
schemathesis/lazy.py,sha256=ncz79e8g3sZIyldiYty2nJMuQNHAxtxFet1SegJMzaM,12949
|
|
13
|
-
schemathesis/models.py,sha256=jRqMzcEqYab-K4RP7fgcks-dm1q32p8BQqu6B0NUKVE,45010
|
|
14
|
-
schemathesis/parameters.py,sha256=P1xGT7oxuxO9i1ecbGSPeR5Ald5-D0oG3eX5MMg5TkY,2468
|
|
15
|
-
schemathesis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
schemathesis/schemas.py,sha256=zu59Z-y4d9uO9buemoGAB1gSX7IGiP2lIllfzE8tT9g,15109
|
|
17
|
-
schemathesis/serializers.py,sha256=v4XdFNICF-B7qvyCg3CCRrlOEUaSmUhK9lBzvFiDBbI,9179
|
|
18
|
-
schemathesis/stateful.py,sha256=aT4NKYuTMq1PV3uvJFDR5cK9g6kbZWYtFJ4FyMFRqyw,15527
|
|
19
|
-
schemathesis/targets.py,sha256=COnpS2FkMIQCY_IrJT8mofRCtFUVX4kJeVxQWMf18GM,1226
|
|
20
|
-
schemathesis/types.py,sha256=G4DZUwL1e6kuxJvfef-WUz5lG1zj9w5lOPVfqSJAYkI,1280
|
|
21
|
-
schemathesis/utils.py,sha256=K_zPRwYJ79RdppXNSaCm-BDRGm4H1mSz67jALN6-O7s,16881
|
|
22
|
-
schemathesis/cli/__init__.py,sha256=rCl3LGbCF_uK55_AGPMaTJ5lSQMyIBqeSOf-0cl3Sx4,48245
|
|
23
|
-
schemathesis/cli/callbacks.py,sha256=zWrneIJti0P-9iM4D08xcyWfEDiaP7-b9dJ67d1q9-Q,10342
|
|
24
|
-
schemathesis/cli/cassettes.py,sha256=NlfmwY-lGtZjPjhS_uQ57gw75d4YFwwbgaprx2dY4nc,13151
|
|
25
|
-
schemathesis/cli/constants.py,sha256=OpyINEiuVqdsJ9bn3NOBoQeD-bdxKFbawLKkgahk2uw,63
|
|
26
|
-
schemathesis/cli/context.py,sha256=kgjmsTw-QlpoRUoNsLdxCJ3T8sLHArnZ4LyTjY8pYjc,2048
|
|
27
|
-
schemathesis/cli/debug.py,sha256=tgZDU9aopuKh-r4ESwA45S_RNhdf4O9XDeinG0C_vyY,579
|
|
28
|
-
schemathesis/cli/handlers.py,sha256=rnhFGGYI4z9lKGugj206btJP80isopBzFR1LihfGFuM,293
|
|
29
|
-
schemathesis/cli/junitxml.py,sha256=P5rrfjOenjmo27vM11bNx-T12sV5GSd_E6yoOVSQ34o,1749
|
|
30
|
-
schemathesis/cli/options.py,sha256=lPIi89J8QladAmhN5vqpMQBNhT7GXqbIcZHSucnkBpw,2583
|
|
31
|
-
schemathesis/cli/output/__init__.py,sha256=AXaUzQ1nhQ-vXhW4-X-91vE2VQtEcCOrGtQXXNN55iQ,29
|
|
32
|
-
schemathesis/cli/output/default.py,sha256=4OorV7oL5YGCaOoPm4qJYgb2xxNY8Hiu5VITynKWfCw,22877
|
|
33
|
-
schemathesis/cli/output/short.py,sha256=Ui21Ko7eY5igs4CyNFb88-KRXKmMjz776l9aCHpYq8o,1628
|
|
34
|
-
schemathesis/contrib/__init__.py,sha256=FH8NL8NXgSKBFOF8Jy_EB6T4CJEaiM-tmDhz16B2o4k,187
|
|
35
|
-
schemathesis/contrib/unique_data.py,sha256=1jer4q8HOvEX6ktXHxSzrqJduXKyYKVhdIqSrR7BHRo,704
|
|
36
|
-
schemathesis/contrib/openapi/__init__.py,sha256=9jG6b909V2ediVl-yVIIfNqfbNcqLpEMWh20EiDXCdU,120
|
|
37
|
-
schemathesis/contrib/openapi/formats/__init__.py,sha256=OpHWPW8MkTLVv83QXPYY1HVLflhmSH49hSVefm1oVV0,111
|
|
38
|
-
schemathesis/contrib/openapi/formats/uuid.py,sha256=xDTFWySI4zmjJ_HkqqKrcVxSwYxXVlHoXy-Z-hcgzPA,348
|
|
39
|
-
schemathesis/extra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
40
|
-
schemathesis/extra/_aiohttp.py,sha256=CtebXNceFdovCImZMGzUel4ypIcDuSuHbYVQXzFo8eI,952
|
|
41
|
-
schemathesis/extra/_flask.py,sha256=_VEnaEOngLpyyXU7tZ8L2Fpeg1j46c9AvasM8e6R4V4,285
|
|
42
|
-
schemathesis/extra/_server.py,sha256=wkEe5SUdeA9dmhWR8FCevY8YFRx5vFKwD779e20P0Ek,518
|
|
43
|
-
schemathesis/extra/pytest_plugin.py,sha256=1FZ5FHkmjHGr44PYcKnnp5DiVnS8RTU8jaZsFg2o3kY,9631
|
|
44
|
-
schemathesis/fixups/__init__.py,sha256=SWwgcvCcE7qDUOyuGl0saNYLGR1AkGdF6IbuXI0S764,795
|
|
45
|
-
schemathesis/fixups/fast_api.py,sha256=Rq7EAXf0jV2No4jWcIIjkXK04bmVesZtJKIuGF8ZABk,1022
|
|
46
|
-
schemathesis/fixups/utf8_bom.py,sha256=YM3HiuvItCZKMir-SVcLt3cTdb_Ek2c6H4gbYYsBI-s,549
|
|
47
|
-
schemathesis/runner/__init__.py,sha256=Z_SPevx6RAoT5PTfgzQZS5H_5uzbaiwtpzy-l79nHRk,18180
|
|
48
|
-
schemathesis/runner/events.py,sha256=RjPMTZxTH4LCHRlcWTVKyKOprxPL2QyiK5Ic9nXZGTA,9974
|
|
49
|
-
schemathesis/runner/serialization.py,sha256=Xyr-5NlL178UNxxNBOEqY2pGekreYFHplxavPvT7U44,8457
|
|
50
|
-
schemathesis/runner/impl/__init__.py,sha256=1E2iME8uthYPBh9MjwVBCTFV-P3fi7AdphCCoBBspjs,199
|
|
51
|
-
schemathesis/runner/impl/core.py,sha256=pe84cwPqn6Uvjtfd49GfXGRg3-EN4ihXHLF5pYpZs4I,33108
|
|
52
|
-
schemathesis/runner/impl/solo.py,sha256=f77G2NOVT5vSQGznV4pA5DAx-sZa6JhzSzbcOvi8-z8,3144
|
|
53
|
-
schemathesis/runner/impl/threadpool.py,sha256=DgWGR83RiCi-Tf2y1hFVcKoMM6_IdgkIkIqro1UVwr8,14469
|
|
54
|
-
schemathesis/service/__init__.py,sha256=cJLwStsKelQDCnOjGnwL50oQJrOrCykpk4qJD84mGLU,506
|
|
55
|
-
schemathesis/service/auth.py,sha256=Cy9noPdwO7lyRPTrj_Nix89eEA50vkla_xyF6DKkSE0,440
|
|
56
|
-
schemathesis/service/ci.py,sha256=yzwqW8Wv9oazOpgkeXt0juWEAD4I6b15nhN89HQpFUM,7033
|
|
57
|
-
schemathesis/service/client.py,sha256=MwZ34TBjGh-b94f6TW-sT_A3OTjcEhD4ij9tZEeYupo,3253
|
|
58
|
-
schemathesis/service/constants.py,sha256=TwpudgOYqvDs98Asu-NmNb7OtXMkECB5g036fT6Be7Y,1397
|
|
59
|
-
schemathesis/service/events.py,sha256=6EHAVIvCsXXeULqAI6-wmgnKSZKSLu3Qz_9pZy4PmOk,1324
|
|
60
|
-
schemathesis/service/hosts.py,sha256=DyYIIbE9UAwN-y7McCeX3YRV4uTGg_6IvBRKhNZiw0g,3406
|
|
61
|
-
schemathesis/service/metadata.py,sha256=MDJiwHu7wdL9Rji83Cn2YvkypVYhnqLP_zmkkoB4J1c,1220
|
|
62
|
-
schemathesis/service/models.py,sha256=4Lde-we48Zf0sz5iB63qWJ78poIigN6dErv0oGck44c,440
|
|
63
|
-
schemathesis/service/report.py,sha256=SuHryRQZcE54g0_2C3Nse0LpUOR1lDGAnKw4AJZB8f0,8884
|
|
64
|
-
schemathesis/service/serialization.py,sha256=MPoaUTqH84HcFUTyUHyu0jJ3IyyAwsbOiOYz_X1AFlI,6886
|
|
65
|
-
schemathesis/service/usage.py,sha256=tIsF59Pb-2IHhPnfm5IK6ABE32MwcUZPveUVlqf8PeE,2401
|
|
66
|
-
schemathesis/specs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
67
|
-
schemathesis/specs/graphql/__init__.py,sha256=fgyHtvWNUVWismBTOqxQtgLoTighTfvMv6v6QCD_Oyc,85
|
|
68
|
-
schemathesis/specs/graphql/loaders.py,sha256=HeNCqZePlJQE1hfEIU-N7ubscuIqlXj0dgLQ2VdEnck,7988
|
|
69
|
-
schemathesis/specs/graphql/nodes.py,sha256=JFmmV4OXGgUnSEEcOJ5ifVlChEPefLov7PwMknQyO2A,146
|
|
70
|
-
schemathesis/specs/graphql/scalars.py,sha256=L0szUzqDWAXo2F0srgit4KwIZZXHP7K_bZS2M6dNkI0,826
|
|
71
|
-
schemathesis/specs/graphql/schemas.py,sha256=cIYRYphF_37vCwGDGdpazHXcUrZ0bdcOi153mYanZ20,8528
|
|
72
|
-
schemathesis/specs/openapi/__init__.py,sha256=Wze9HCPpUHJzhPXO-lHox7OaFJ-lfnJs-CQtCv8231g,228
|
|
73
|
-
schemathesis/specs/openapi/_hypothesis.py,sha256=r0d26dQwHmEtwGomh5kCjyvoSAZ7Yny8FeSoHqWQK7g,19648
|
|
74
|
-
schemathesis/specs/openapi/checks.py,sha256=dLBZmC63-MBk9-B13dy8O_pvrlu0Z3jyyiM5RkMCXzM,5359
|
|
75
|
-
schemathesis/specs/openapi/constants.py,sha256=JqM_FHOenqS_MuUE9sxVQ8Hnw0DNM8cnKDwCwPLhID4,783
|
|
76
|
-
schemathesis/specs/openapi/converter.py,sha256=Al_x0p0rWiI6jhtLc8yTR9flYr5xt_fE6YYqjH04eqo,2612
|
|
77
|
-
schemathesis/specs/openapi/definitions.py,sha256=-KzyE7e4Sa5HCce6aPXy607giVXCYC357k4-rqeb9zQ,65266
|
|
78
|
-
schemathesis/specs/openapi/examples.py,sha256=LfWn2bDUzpPGg6av3w7uO5JP5_u5pJM39t5lLwXD4Co,9049
|
|
79
|
-
schemathesis/specs/openapi/filters.py,sha256=n2F4tV_j1RBTBfQj_n9AbIiZKw0gpV0xHX7EJS5raF4,1335
|
|
80
|
-
schemathesis/specs/openapi/links.py,sha256=jJn6uRXr03pKzsxvjs_Ke3Cwa5j0rERrSTzCvQREDdA,14858
|
|
81
|
-
schemathesis/specs/openapi/loaders.py,sha256=fIMw_twITxZc6hXtFPzLmr9tP9m4SeRbupTvEkwUMrM,18081
|
|
82
|
-
schemathesis/specs/openapi/parameters.py,sha256=9atJD9xZOYMo-PnfMMcp_JmxrGp4-9VEVsO3Y9U6KIk,14931
|
|
83
|
-
schemathesis/specs/openapi/references.py,sha256=g7Tbd_X5uv3u6BT07dkoCb6O-yw9RRcMyZeNYOvN1No,8736
|
|
84
|
-
schemathesis/specs/openapi/schemas.py,sha256=aTdgiWFA3VLmZQmytAMgnlVeIuS1JE74IIJrXQBt-mM,41956
|
|
85
|
-
schemathesis/specs/openapi/security.py,sha256=j-4ckCMK93VbUy2RawDOoW7_Gz-gUhCp8ISV5JcMQMs,6146
|
|
86
|
-
schemathesis/specs/openapi/serialization.py,sha256=cTt5NsF_dipmAVqoYJvxq9uuL-cn_EBL7iJGkhzx7Lo,11449
|
|
87
|
-
schemathesis/specs/openapi/utils.py,sha256=Dublwaz5EXNLDlzDLQPaBF3c8VNnrkv0cPqbcu9Kqzo,731
|
|
88
|
-
schemathesis/specs/openapi/validation.py,sha256=AFLSS9P8yGvhONP9QfieoAAjHqfMPl5wvtPT71TFPQk,989
|
|
89
|
-
schemathesis/specs/openapi/expressions/__init__.py,sha256=7TZeRPpCPt0Bjzs5L--AkQnnIbDgTRnpkgYeJKma5Bc,660
|
|
90
|
-
schemathesis/specs/openapi/expressions/context.py,sha256=dB4J-eEEw-tqVexmBfSfOWevxEcuMabIKWzR4jfjtiI,314
|
|
91
|
-
schemathesis/specs/openapi/expressions/errors.py,sha256=YLVhps-sYcslgVaahfcUYxUSHlIfWL-rQMeT5PZSMZ8,219
|
|
92
|
-
schemathesis/specs/openapi/expressions/lexer.py,sha256=WYo-4-KzxJomxqHhlXBBMMlFuD8vW5iTYoLclrIL420,4046
|
|
93
|
-
schemathesis/specs/openapi/expressions/nodes.py,sha256=iXffWPaSiRP-1AJ4Mi-HEvzyM2FwmTvYi4J2fEccYcw,3730
|
|
94
|
-
schemathesis/specs/openapi/expressions/parser.py,sha256=JmFJXGzP2eZ2JpAHlC1b-dbWnTU2dksHXnMtHW6Mnmk,3536
|
|
95
|
-
schemathesis/specs/openapi/negative/__init__.py,sha256=ZE77VAQP0WXZvdGlzZezOoXYFN_VHW6TNw0gq6q-veo,3552
|
|
96
|
-
schemathesis/specs/openapi/negative/mutations.py,sha256=7NIk3unC5LepdAttm-G7srJkJVNaO87SsVyZhL8eGJk,18503
|
|
97
|
-
schemathesis/specs/openapi/negative/types.py,sha256=a7buCcVxNBG6ILBM3A7oNTAX0lyDseEtZndBuej8MbI,174
|
|
98
|
-
schemathesis/specs/openapi/negative/utils.py,sha256=ozcOIuASufLqZSgnKUACjX-EOZrrkuNdXX0SDnLoGYA,168
|
|
99
|
-
schemathesis/specs/openapi/stateful/__init__.py,sha256=CS8yxgIwvbiGkvav4xEPYkKOIhVK4-xpUAv7U45nW8M,4466
|
|
100
|
-
schemathesis/specs/openapi/stateful/links.py,sha256=uojhNS4_7KCWexuQQHe6pKcDPaM7C4CoV7AvIq0FEAs,3498
|
|
101
|
-
schemathesis-3.18.5.dist-info/METADATA,sha256=Iwy_XMB-DlnMDpCbPYwlsjqFFW8D9eE5zbyBBVk42yg,12862
|
|
102
|
-
schemathesis-3.18.5.dist-info/WHEEL,sha256=hKi7AIIx6qfnsRbr087vpeJnrVUuDokDHZacPPMW7-Y,87
|
|
103
|
-
schemathesis-3.18.5.dist-info/entry_points.txt,sha256=VHyLcOG7co0nOeuk8WjgpRETk5P1E2iCLrn26Zkn5uk,158
|
|
104
|
-
schemathesis-3.18.5.dist-info/licenses/LICENSE,sha256=PsPYgrDhZ7g9uwihJXNG-XVb55wj2uYhkl2DD8oAzY0,1103
|
|
105
|
-
schemathesis-3.18.5.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|