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.
Files changed (60) hide show
  1. schemathesis/__init__.py +1 -3
  2. schemathesis/auths.py +218 -43
  3. schemathesis/cli/__init__.py +37 -20
  4. schemathesis/cli/callbacks.py +13 -1
  5. schemathesis/cli/cassettes.py +18 -18
  6. schemathesis/cli/context.py +25 -24
  7. schemathesis/cli/debug.py +3 -3
  8. schemathesis/cli/junitxml.py +4 -4
  9. schemathesis/cli/options.py +1 -1
  10. schemathesis/cli/output/default.py +2 -0
  11. schemathesis/constants.py +3 -3
  12. schemathesis/exceptions.py +9 -9
  13. schemathesis/extra/pytest_plugin.py +1 -1
  14. schemathesis/failures.py +65 -66
  15. schemathesis/filters.py +269 -0
  16. schemathesis/hooks.py +11 -11
  17. schemathesis/lazy.py +21 -16
  18. schemathesis/models.py +149 -107
  19. schemathesis/parameters.py +12 -7
  20. schemathesis/runner/events.py +55 -55
  21. schemathesis/runner/impl/core.py +26 -26
  22. schemathesis/runner/impl/solo.py +6 -7
  23. schemathesis/runner/impl/threadpool.py +5 -5
  24. schemathesis/runner/serialization.py +50 -50
  25. schemathesis/schemas.py +38 -23
  26. schemathesis/serializers.py +3 -3
  27. schemathesis/service/ci.py +25 -25
  28. schemathesis/service/client.py +2 -2
  29. schemathesis/service/events.py +12 -13
  30. schemathesis/service/hosts.py +4 -4
  31. schemathesis/service/metadata.py +14 -15
  32. schemathesis/service/models.py +12 -13
  33. schemathesis/service/report.py +30 -31
  34. schemathesis/service/serialization.py +2 -4
  35. schemathesis/specs/graphql/loaders.py +21 -2
  36. schemathesis/specs/graphql/schemas.py +8 -8
  37. schemathesis/specs/openapi/expressions/context.py +4 -4
  38. schemathesis/specs/openapi/expressions/lexer.py +11 -12
  39. schemathesis/specs/openapi/expressions/nodes.py +16 -16
  40. schemathesis/specs/openapi/expressions/parser.py +1 -1
  41. schemathesis/specs/openapi/links.py +15 -17
  42. schemathesis/specs/openapi/loaders.py +29 -2
  43. schemathesis/specs/openapi/negative/__init__.py +5 -5
  44. schemathesis/specs/openapi/negative/mutations.py +6 -6
  45. schemathesis/specs/openapi/parameters.py +12 -13
  46. schemathesis/specs/openapi/references.py +2 -2
  47. schemathesis/specs/openapi/schemas.py +11 -15
  48. schemathesis/specs/openapi/security.py +12 -7
  49. schemathesis/specs/openapi/stateful/links.py +4 -4
  50. schemathesis/stateful.py +19 -19
  51. schemathesis/targets.py +5 -6
  52. schemathesis/throttling.py +34 -0
  53. schemathesis/types.py +11 -13
  54. schemathesis/utils.py +2 -2
  55. {schemathesis-3.18.5.dist-info → schemathesis-3.19.1.dist-info}/METADATA +4 -3
  56. schemathesis-3.19.1.dist-info/RECORD +107 -0
  57. schemathesis-3.18.5.dist-info/RECORD +0 -105
  58. {schemathesis-3.18.5.dist-info → schemathesis-3.19.1.dist-info}/WHEEL +0 -0
  59. {schemathesis-3.18.5.dist-info → schemathesis-3.19.1.dist-info}/entry_points.txt +0 -0
  60. {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
- @attr.s(slots=True) # pragma: no mutate
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
- @attr.s(slots=True) # pragma: no mutate
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
- @attr.s(slots=True)
17
+ @dataclass
18
18
  class Connection:
19
- source: str = attr.ib()
20
- strategy: st.SearchStrategy[Tuple[StepResult, OpenAPILink]] = attr.ib()
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
- @attr.s(slots=True, hash=False) # pragma: no mutate
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] = attr.ib() # pragma: no mutate
36
- body: Any = attr.ib(default=NOT_SET) # pragma: no mutate
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
- @attr.s(slots=True) # pragma: no mutate
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 = attr.ib() # pragma: no mutate
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
- @attr.s(slots=True) # pragma: no mutate
64
+ @dataclass
65
65
  class StatefulData:
66
66
  """Storage for data that will be used in later tests."""
67
67
 
68
- stateful_test: StatefulTest = attr.ib() # pragma: no mutate
69
- container: List[ParsedData] = attr.ib(factory=list) # pragma: no mutate
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
- @attr.s(slots=True) # pragma: no mutate
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] = attr.ib() # pragma: no mutate
88
- operation: APIOperation = attr.ib(repr=False) # pragma: no mutate
89
- stateful_tests: Dict[str, StatefulData] = attr.ib(factory=dict, repr=False) # pragma: no mutate
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
- @attr.s(slots=True) # pragma: no mutate
120
+ @dataclass
121
121
  class StepResult:
122
122
  """Output from a single transition of a state machine."""
123
123
 
124
- response: GenericResponse = attr.ib() # pragma: no mutate
125
- case: Case = attr.ib() # pragma: no mutate
126
- elapsed: float = attr.ib() # pragma: no mutate
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
- @attr.s(slots=True, repr=False) # pragma: no mutate
151
+ @dataclass(repr=False)
152
152
  class _DirectionWrapper:
153
153
  """Purely to avoid modification of `Direction.__repr__`."""
154
154
 
155
- direction: Direction = attr.ib() # pragma: no mutate
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
- @attr.s(slots=True) # pragma: no mutate
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" = attr.ib() # pragma: no mutate
21
- response: GenericResponse = attr.ib() # pragma: no mutate
22
- response_time: float = attr.ib() # pragma: no mutate
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] # pragma: no mutate
10
+ PathLike = Union[Path, str]
11
11
 
12
- Query = Dict[str, Any] # pragma: no mutate
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] # pragma: no mutate
15
- PathParameters = Dict[str, Any] # pragma: no mutate
16
- Headers = Dict[str, Any] # pragma: no mutate
17
- Cookies = Dict[str, Any] # pragma: no mutate
18
- FormData = Dict[str, Any] # pragma: no mutate
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] # pragma: no mutate
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] # pragma: no mutate
33
+ RawAuth = Tuple[str, str]
36
34
  # Generic test with any arguments and no return
37
- GenericTest = Callable[..., None] # pragma: no mutate
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])") # pragma: no mutate
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] # pragma: no mutate
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.18.5
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<=2.28.1,>=2.22
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,,