schemathesis 3.33.3__py3-none-any.whl → 3.34.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.
@@ -60,6 +60,9 @@ class StatefulTest:
60
60
  def parse(self, case: Case, response: GenericResponse) -> ParsedData:
61
61
  raise NotImplementedError
62
62
 
63
+ def is_match(self) -> bool:
64
+ raise NotImplementedError
65
+
63
66
  def make_operation(self, collected: list[ParsedData]) -> APIOperation:
64
67
  raise NotImplementedError
65
68
 
@@ -113,22 +116,23 @@ class Feedback:
113
116
  from .._hypothesis import create_test
114
117
 
115
118
  for data in self.stateful_tests.values():
116
- operation = data.make_operation()
117
- _as_strategy_kwargs: dict[str, Any] | None
118
- if callable(as_strategy_kwargs):
119
- _as_strategy_kwargs = as_strategy_kwargs(operation)
120
- else:
121
- _as_strategy_kwargs = as_strategy_kwargs
122
- test_function = create_test(
123
- operation=operation,
124
- test=test,
125
- settings=settings,
126
- seed=seed,
127
- data_generation_methods=operation.schema.data_generation_methods,
128
- generation_config=generation_config,
129
- as_strategy_kwargs=_as_strategy_kwargs,
130
- )
131
- yield Ok((operation, test_function))
119
+ if data.stateful_test.is_match():
120
+ operation = data.make_operation()
121
+ _as_strategy_kwargs: dict[str, Any] | None
122
+ if callable(as_strategy_kwargs):
123
+ _as_strategy_kwargs = as_strategy_kwargs(operation)
124
+ else:
125
+ _as_strategy_kwargs = as_strategy_kwargs
126
+ test_function = create_test(
127
+ operation=operation,
128
+ test=test,
129
+ settings=settings,
130
+ seed=seed,
131
+ data_generation_methods=operation.schema.data_generation_methods,
132
+ generation_config=generation_config,
133
+ as_strategy_kwargs=_as_strategy_kwargs,
134
+ )
135
+ yield Ok((operation, test_function))
132
136
 
133
137
 
134
138
  def run_state_machine_as_test(
@@ -19,15 +19,20 @@ if TYPE_CHECKING:
19
19
 
20
20
  def _default_checks_factory() -> tuple[CheckFunction, ...]:
21
21
  from ..checks import ALL_CHECKS
22
- from ..specs.openapi.checks import use_after_free
22
+ from ..specs.openapi.checks import ensure_resource_availability, use_after_free
23
23
 
24
- return ALL_CHECKS + (use_after_free,)
24
+ return ALL_CHECKS + (use_after_free, ensure_resource_availability)
25
25
 
26
26
 
27
27
  def _get_default_hypothesis_settings_kwargs() -> dict[str, Any]:
28
28
  import hypothesis
29
29
 
30
- return {"phases": (hypothesis.Phase.generate,), "deadline": None, "stateful_step_count": 10}
30
+ return {
31
+ "phases": (hypothesis.Phase.generate,),
32
+ "deadline": None,
33
+ "stateful_step_count": 6,
34
+ "suppress_health_check": list(hypothesis.HealthCheck),
35
+ }
31
36
 
32
37
 
33
38
  def _default_hypothesis_settings_factory() -> hypothesis.settings:
@@ -86,4 +91,6 @@ def _get_hypothesis_settings_kwargs_override(settings: hypothesis.settings) -> d
86
91
  kwargs["stateful_step_count"] = state_machine_default.stateful_step_count
87
92
  if settings.deadline in (hypothesis_default.deadline, timedelta(milliseconds=DEFAULT_DEADLINE)):
88
93
  kwargs["deadline"] = state_machine_default.deadline
94
+ if settings.suppress_health_check == hypothesis_default.suppress_health_check:
95
+ kwargs["suppress_health_check"] = state_machine_default.suppress_health_check
89
96
  return kwargs
@@ -3,7 +3,8 @@ from __future__ import annotations
3
3
  import re
4
4
  import time
5
5
  from dataclasses import dataclass
6
- from typing import TYPE_CHECKING, Any, ClassVar
6
+ from functools import lru_cache
7
+ from typing import TYPE_CHECKING, Any, ClassVar, Type
7
8
 
8
9
  from hypothesis.errors import InvalidDefinition
9
10
  from hypothesis.stateful import RuleBasedStateMachine
@@ -12,6 +13,7 @@ from .._dependency_versions import HYPOTHESIS_HAS_STATEFUL_NAMING_IMPROVEMENTS
12
13
  from ..constants import NO_LINKS_ERROR_MESSAGE, NOT_SET
13
14
  from ..exceptions import UsageError
14
15
  from ..models import APIOperation, Case, CheckFunction
16
+ from .config import _default_hypothesis_settings_factory
15
17
  from .runner import StatefulTestRunner, StatefulTestRunnerConfig
16
18
  from .sink import StateMachineSink
17
19
  from .statistic import TransitionStats
@@ -60,6 +62,23 @@ class APIStateMachine(RuleBasedStateMachine):
60
62
  raise
61
63
  self.setup()
62
64
 
65
+ @classmethod
66
+ @lru_cache
67
+ def _to_test_case(cls) -> Type:
68
+ from . import run_state_machine_as_test
69
+
70
+ class StateMachineTestCase(RuleBasedStateMachine.TestCase):
71
+ settings = _default_hypothesis_settings_factory()
72
+
73
+ def runTest(self) -> None:
74
+ run_state_machine_as_test(cls, settings=self.settings)
75
+
76
+ runTest.is_hypothesis_test = True # type: ignore[attr-defined]
77
+
78
+ StateMachineTestCase.__name__ = cls.__name__ + ".TestCase"
79
+ StateMachineTestCase.__qualname__ = cls.__qualname__ + ".TestCase"
80
+ return StateMachineTestCase
81
+
63
82
  def _pretty_print(self, value: Any) -> str:
64
83
  if isinstance(value, Case):
65
84
  # State machines suppose to be reproducible, hence it is OK to get kwargs here
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import base64
4
+ import inspect
4
5
  import time
5
6
  from contextlib import contextmanager
6
7
  from dataclasses import dataclass
@@ -219,8 +220,15 @@ def validate_vanilla_requests_kwargs(data: dict[str, Any]) -> None:
219
220
  """
220
221
  url = data["url"]
221
222
  if not urlparse(url).netloc:
223
+ stack = inspect.stack()
224
+ method_name = "call"
225
+ for frame in stack[1:]:
226
+ if frame.function == "call_and_validate":
227
+ method_name = "call_and_validate"
228
+ break
222
229
  raise RuntimeError(
223
- "The URL should be absolute, so Schemathesis knows where to send the data. \n"
230
+ "The `base_url` argument is required when specifying a schema via a file, so Schemathesis knows where to send the data. \n"
231
+ f"Pass `base_url` either to the `schemathesis.from_*` loader or to the `Case.{method_name}`.\n"
224
232
  f"If you use the ASGI integration, please supply your test client "
225
233
  f"as the `session` argument to `call`.\nURL: {url}"
226
234
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: schemathesis
3
- Version: 3.33.3
3
+ Version: 3.34.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
@@ -33,11 +33,11 @@ Requires-Dist: click<9.0,>=7.0
33
33
  Requires-Dist: colorama<1.0,>=0.4
34
34
  Requires-Dist: harfile<1.0,>=0.3.0
35
35
  Requires-Dist: httpx<1.0,>=0.22.0
36
- Requires-Dist: hypothesis-graphql<1,>=0.11.0
36
+ Requires-Dist: hypothesis-graphql<1,>=0.11.1
37
37
  Requires-Dist: hypothesis-jsonschema<0.24,>=0.23.1
38
38
  Requires-Dist: hypothesis<7,>=6.103.4; python_version > '3.8'
39
39
  Requires-Dist: hypothesis[zoneinfo]<7,>=6.103.4; python_version == '3.8'
40
- Requires-Dist: jsonschema<5.0,>=4.18.0
40
+ Requires-Dist: jsonschema[format]<5.0,>=4.18.0
41
41
  Requires-Dist: junit-xml<2.0,>=1.9
42
42
  Requires-Dist: pyrate-limiter<4.0,>=2.10
43
43
  Requires-Dist: pytest-subtests<0.8.0,>=0.2.1
@@ -344,6 +344,10 @@ Schemathesis is used by a number of project and companies, including direct usag
344
344
 
345
345
  ### Articles
346
346
 
347
+ - [Boost Your FastAPI Reliability with Schemathesis Automated Testing](https://medium.com/@jeremy3/boost-your-fastapi-reliability-with-schemathesis-automated-testing-e8b70ff704f6) by **Jeremy**
348
+ - **Description**: Showcases how easy Schemathesis covers API testing in FastAPI projects.
349
+ - **Date**: 17 Jul 2024
350
+
347
351
  - [Implementing Schemathesis at PayLead](https://medium.com/paylead/implementing-schemathesis-at-paylead-a469a5d43626) by **Jérémy Pelletier** at **PayLead**
348
352
  - **Description**: In-depth walkthrough including custom hooks, stateful testing and CI/CD integration.
349
353
  - **Date**: 29 May 2024
@@ -369,6 +373,10 @@ Schemathesis is used by a number of project and companies, including direct usag
369
373
 
370
374
  ### Videos
371
375
 
376
+ - [API Testing With Unittest Mock, Pytest & Schemathesis](https://youtu.be/56whiv57T9I) by **
377
+ Ssali Jonathan**
378
+ - **Description**: Describes various API testing techniques and features Schemathesis for automatic test generation.
379
+ - **Date**: 29 Jul 2024
372
380
  - [API Fuzzing: What it is and why you should use it](https://youtu.be/wX3GMJY9B6A) by **José Haro Peralta**
373
381
  - **Description**: A comprehensive overview and demo of Schemathesis.
374
382
  - **Date**: 14 Feb 2023
@@ -6,39 +6,39 @@ schemathesis/_lazy_import.py,sha256=aMhWYgbU2JOltyWBb32vnWBb6kykOghucEzI_F70yVE,
6
6
  schemathesis/_override.py,sha256=3CbA7P9Q89W3ymaYxiOV5Xpv1yhoBqroLK4YRpYMjX4,1630
7
7
  schemathesis/_rate_limiter.py,sha256=q_XWst5hzuAyXQRiZc4s_bx7-JlPYZM_yKDmeavt3oo,242
8
8
  schemathesis/_xml.py,sha256=lwRaKEMQvl6SUySnhGgooNsdmXPnDh11YSPpbsW8dR8,6923
9
- schemathesis/auths.py,sha256=NeJqsjtDgJtHMyrHc6V1NTpkAh1K8ZKLalpB3v80cT4,14734
10
- schemathesis/checks.py,sha256=U4JoOvkeI4tobZr3vM61GgVI2w2VEYNurQR7keGdLps,2447
9
+ schemathesis/auths.py,sha256=FvBgJWmaTFWH0dW3aLgNmRAubE03VME3gU8Dbv8NwrA,16786
10
+ schemathesis/checks.py,sha256=5wugI6gNVX1W3hUPU7G6l2u20R_A3fxI_7fwC-9_vto,2483
11
11
  schemathesis/code_samples.py,sha256=xk1-1jnXg5hS40VzIZp8PEtZwGaazNlVKMT7_X-zG-M,4123
12
12
  schemathesis/constants.py,sha256=l1YQ7PXhEj9dyf9CTESVUpPOaFCH7iz-Fe8o4v6Th_s,2673
13
- schemathesis/exceptions.py,sha256=w-5A-2Yb6EJOSvPycbx79T9Lr1IcMWJ8UFq6DW9kIMc,19975
14
- schemathesis/failures.py,sha256=wXz5Kr5i-ojcYc-BdzFlNbNGOfoVXHZM6kd4iULdHK4,7003
13
+ schemathesis/exceptions.py,sha256=iKNKlQhxYOCQOoKu_Tztg9JXO4XyJHh5UNvwLGsvQw8,20268
14
+ schemathesis/failures.py,sha256=dlvobJxkbxab-P1GMVrcnbcvf0-1qyhz79Fdw9pFJEw,7578
15
15
  schemathesis/filters.py,sha256=t1P236DPVaWvhu2Sm6OGy6Oe2x-nnwEVYRau4qqX6C4,17034
16
16
  schemathesis/graphql.py,sha256=YkoKWY5K8lxp7H3ikAs-IsoDbiPwJvChG7O8p3DgwtI,229
17
- schemathesis/hooks.py,sha256=YuPauQfs-xFDiBDoGxMRmWX5bb4IfCf02nw7IH36J9g,12400
17
+ schemathesis/hooks.py,sha256=Uv9rZHqM2bpb_uYBjf4kqsMeu7XdLOHpRWSaN43xIgw,14774
18
18
  schemathesis/lazy.py,sha256=hGwSuWe5tDaGpjZTV4Mj8zqdrHDYHxR22N2p5h2yh1g,18897
19
19
  schemathesis/loaders.py,sha256=OtCD1o0TVmSNAUF7dgHpouoAXtY6w9vEtsRVGv4lE0g,4588
20
- schemathesis/models.py,sha256=HiFWcZO1m2DrmM8fGrXm2sW_uSk2tcYbY5ignfqPpJM,44927
20
+ schemathesis/models.py,sha256=WpF-W592_MVWnMZ8t7wt_A2fr3YNLEwPX3r-jwW8GpY,44266
21
21
  schemathesis/parameters.py,sha256=PndmqQRlEYsCt1kWjSShPsFf6vj7X_7FRdz_-A95eNg,2258
22
22
  schemathesis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- schemathesis/sanitization.py,sha256=mRR4YvXpzqbmgX8Xu6rume6LBcz9g_oyusvbesZl44I,8958
24
- schemathesis/schemas.py,sha256=MJv5NQn55o9ezsJTQxdlP-AD0vqJ7NCs62VW_Thhz6o,20441
23
+ schemathesis/sanitization.py,sha256=_qSt04f_XcHrgguyUnowvdfj-b6u409Ubu07i0ivQUQ,9011
24
+ schemathesis/schemas.py,sha256=YXTWWM1JTFNQEKrxWPye1uQgm3I1_MQPBbc2Y4KW19o,20610
25
25
  schemathesis/serializers.py,sha256=kxXZ-UGa1v_vOm0sC4QYcrNv4rfvI7tHGT2elRVbCbc,11649
26
26
  schemathesis/targets.py,sha256=XIGRghvEzbmEJjse9aZgNEj67L3jAbiazm2rxURWgDE,2351
27
27
  schemathesis/throttling.py,sha256=aisUc4MJDGIOGUAs9L2DlWWpdd4KyAFuNVKhYoaUC9M,1719
28
28
  schemathesis/types.py,sha256=xOzNAeMs6qqeaJnWs5Fpw5JPbvVjyfRfxTJa3G2Ln5I,920
29
29
  schemathesis/utils.py,sha256=NX04p9mO-lCAH3DIISXDXPxWZk6lkGNM4-ubRi8vlvY,5234
30
- schemathesis/cli/__init__.py,sha256=BvV9r2HG5lCclzsfTuydmJrJFq8CFmZrIF0e_YzROBY,73032
30
+ schemathesis/cli/__init__.py,sha256=ZxFkRvpRAaV5OuDZeHEeWrFTnVjJXX-w4cQfYe_R6Yw,73390
31
31
  schemathesis/cli/__main__.py,sha256=MWaenjaUTZIfNPFzKmnkTiawUri7DVldtg3mirLwzU8,92
32
- schemathesis/cli/callbacks.py,sha256=R2noVRu8zDBWmA3dJ2YnmhAjYdkxPDA1zIpA3_2DkFQ,15144
32
+ schemathesis/cli/callbacks.py,sha256=PJs64n6qGrGC5Yv_yl3fGm797cvN6pp2enFLmSljGKs,15127
33
33
  schemathesis/cli/cassettes.py,sha256=lKKKKLjoVT8VnZXjCOCmDYhvLKn1XSrCXCMF9EeftHA,18498
34
34
  schemathesis/cli/constants.py,sha256=wk-0GsoJIel8wFFerQ6Kf_6eAYUtIWkwMFwyAqv3yj4,1635
35
35
  schemathesis/cli/context.py,sha256=EMeyAbU9mRujR46anc43yr6ab4rGYtIDaHC3cV9Qa-Q,2092
36
36
  schemathesis/cli/debug.py,sha256=_YA-bX1ujHl4bqQDEum7M-I2XHBTEGbvgkhvcvKhmgU,658
37
37
  schemathesis/cli/handlers.py,sha256=RjvogPCqqFTiyVYWrGG6euw9-6h-7uSeFvS-ouU8eWs,389
38
- schemathesis/cli/junitxml.py,sha256=yWacOIrTC9UI-IlgZnu8nfSmpkxfMT22NqJ3L1SZa3w,4743
38
+ schemathesis/cli/junitxml.py,sha256=FeQbgjYYwD0twk1QSbP3AivLPhHGwIuikQ6CN2Kw9ho,5050
39
39
  schemathesis/cli/options.py,sha256=DY5PUzpUNyYgpcqqFTeZjmVUykpbaI9fbN44QIWNOfA,2559
40
40
  schemathesis/cli/reporting.py,sha256=zNKaRAUfDZ23-gMtiWbnG2OBndkYlM7ljKvk0Mc_lqI,3589
41
- schemathesis/cli/sanitization.py,sha256=pVlQnVDC1_Ugp0oe1LEkRorFdBRDHqr_NWWKaOaNdY0,728
41
+ schemathesis/cli/sanitization.py,sha256=Onw_NWZSom6XTVNJ5NHnC0PAhrYAcGzIXJbsBCzLkn4,1005
42
42
  schemathesis/cli/output/__init__.py,sha256=AXaUzQ1nhQ-vXhW4-X-91vE2VQtEcCOrGtQXXNN55iQ,29
43
43
  schemathesis/cli/output/default.py,sha256=nYuUwm2M3pIsDebofgXuIFb7Vl4t4sLO0PKmJcE6tb8,39385
44
44
  schemathesis/cli/output/short.py,sha256=CL6-Apxr5tuZ3BL1vecV1MiRY1wDt21g0wiUwZu6mLM,2607
@@ -57,7 +57,7 @@ schemathesis/extra/pytest_plugin.py,sha256=ymicV2NjmSzee0ccUUUjNEvb9ihCxxf_8M60g
57
57
  schemathesis/fixups/__init__.py,sha256=RP5QYJVJhp8LXjhH89fCRaIVU26dHCy74jD9seoYMuc,967
58
58
  schemathesis/fixups/fast_api.py,sha256=mn-KzBqnR8jl4W5fY-_ZySabMDMUnpzCIESMHnlvE1c,1304
59
59
  schemathesis/fixups/utf8_bom.py,sha256=lWT9RNmJG8i-l5AXIpaCT3qCPUwRgzXPW3eoOjmZETA,745
60
- schemathesis/generation/__init__.py,sha256=mC1NVAHyce1_B_wu-GYO9U21Gut8KFrjPXETREC9ABQ,2366
60
+ schemathesis/generation/__init__.py,sha256=wUd5HqIh96Aw91Un0rLOd3XXi2E3BXedSMMjS5RXkuo,2472
61
61
  schemathesis/internal/__init__.py,sha256=93HcdG3LF0BbQKbCteOsFMa1w6nXl8yTmx87QLNJOik,161
62
62
  schemathesis/internal/copy.py,sha256=DcL56z-d69kKR_5u8mlHvjSL1UTyUKNMAwexrwHFY1s,1031
63
63
  schemathesis/internal/datetime.py,sha256=zPLBL0XXLNfP-KYel3H2m8pnsxjsA_4d-zTOhJg2EPQ,136
@@ -66,14 +66,14 @@ schemathesis/internal/extensions.py,sha256=h0aHRK_PTKfiAufkeBziegQS8537TL-Gr1hPW
66
66
  schemathesis/internal/jsonschema.py,sha256=-7tF15cXo1ZdhiRFYYfEClXihX2Svc5Loi_Dz1x201k,1157
67
67
  schemathesis/internal/output.py,sha256=zMaG5knIuBieVH8CrcmPJgbmQukDs2xdekX0BrK7BZs,1989
68
68
  schemathesis/internal/result.py,sha256=d449YvyONjqjDs-A5DAPgtAI96iT753K8sU6_1HLo2Q,461
69
- schemathesis/internal/transformation.py,sha256=3S6AzAqdsEsB5iobFgSuvL0UMUqH0JHC7hGxKwcpqPw,450
69
+ schemathesis/internal/transformation.py,sha256=M5LA4pFZC4nD_0iGfih1wLF3_q8xJas94Uuaymt-7Cw,690
70
70
  schemathesis/internal/validation.py,sha256=G7i8jIMUpAeOnDsDF_eWYvRZe_yMprRswx0QAtMPyEw,966
71
71
  schemathesis/runner/__init__.py,sha256=-aedUaRBCiTiaooC0OsBbdi4XP8APFOpj6eOzwt5nQ8,21366
72
- schemathesis/runner/events.py,sha256=2XnZJQN3bx_AjYqCuucDjFSuVr-UrkN0yiOatXWWn8E,11507
72
+ schemathesis/runner/events.py,sha256=F3TizErDI490cDakpyeCbyK9IOecWpuToQ1HGXvBXzo,11531
73
73
  schemathesis/runner/probes.py,sha256=no5AfO3kse25qvHevjeUfB0Q3C860V2AYzschUW3QMQ,5688
74
74
  schemathesis/runner/serialization.py,sha256=erbXEHyI8rIlkQ42AwgmlH7aAbh313EPqCEfrGKxUls,20040
75
75
  schemathesis/runner/impl/__init__.py,sha256=1E2iME8uthYPBh9MjwVBCTFV-P3fi7AdphCCoBBspjs,199
76
- schemathesis/runner/impl/core.py,sha256=4HsnVYXcJ3qNj_vPpQJn7uu6nQwobzS0aGwmvtKy3L0,45022
76
+ schemathesis/runner/impl/core.py,sha256=H4sYY59kMXQPeOD4BH3j47Ymvix71FSgyQh36flrQxM,45605
77
77
  schemathesis/runner/impl/solo.py,sha256=N7-pUL6nWGiSRUC4Zqy1T4h99vbeQowP6b6cMnobOow,3042
78
78
  schemathesis/runner/impl/threadpool.py,sha256=JtTn5X7gqpbkO4q8n5kykGEPQCpJ9hXJrvU3KMF1CXA,14948
79
79
  schemathesis/service/__init__.py,sha256=cDVTCFD1G-vvhxZkJUwiToTAEQ-0ByIoqwXvJBCf_V8,472
@@ -87,7 +87,7 @@ schemathesis/service/hosts.py,sha256=ad2Lxq9Zcc9PP-1eFLQnxen4ImglcGOH8n7CGG72NNg
87
87
  schemathesis/service/metadata.py,sha256=x2LeCED1mdPf-YQJmjY8xtcIKHfD1ap5V0BGl-UgqNo,2087
88
88
  schemathesis/service/models.py,sha256=ihItUJ9CvH4TvmdfJY3W88NR82OODF8a3RD7WRXn6RM,6578
89
89
  schemathesis/service/report.py,sha256=4A8nf6_KOjDW3x1VXF8gSf_WY2xXp1Cbz-Owl_GeR7o,8294
90
- schemathesis/service/serialization.py,sha256=QX7-wbh3vvUrZtRQWZkwaIUSIkcPtD-RMNFmHBY8J5s,6196
90
+ schemathesis/service/serialization.py,sha256=DSpDu2f9KTW7PVcFAb4uSA_rnHctuvFlnF-JJ0XyDnE,6240
91
91
  schemathesis/service/usage.py,sha256=UbXqxeDq5mAjKkfV4hApZsReZmQHXiqoXUYn_Z6YuZk,2438
92
92
  schemathesis/specs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
93
  schemathesis/specs/graphql/__init__.py,sha256=fgyHtvWNUVWismBTOqxQtgLoTighTfvMv6v6QCD_Oyc,85
@@ -95,23 +95,23 @@ schemathesis/specs/graphql/_cache.py,sha256=7ras3q_InDJBPykgHroerl9f2jFamC8xJD35
95
95
  schemathesis/specs/graphql/loaders.py,sha256=qxNGL67_AfhoRh0hIxlnJVe6do26vqwWS_TrJtB-Lro,12198
96
96
  schemathesis/specs/graphql/nodes.py,sha256=bE3G1kNmqJ8OV4igBvIK-UORrkQA6Nofduf87O3TD9I,541
97
97
  schemathesis/specs/graphql/scalars.py,sha256=9tvLTiYVe8A_E8ASA0czz3Z0Mp9lyak7R4wHpAE_jKo,1805
98
- schemathesis/specs/graphql/schemas.py,sha256=w9EvZZ3KrRAmpfIIWZz4qHPRwCOmKX_eovTiqpqLoKs,13926
98
+ schemathesis/specs/graphql/schemas.py,sha256=L7u73YXnmqypghWhmj5FaGUAmU57IporT9NteinEVYY,14036
99
99
  schemathesis/specs/graphql/validation.py,sha256=uINIOt-2E7ZuQV2CxKzwez-7L9tDtqzMSpnVoRWvxy0,1635
100
100
  schemathesis/specs/openapi/__init__.py,sha256=HDcx3bqpa6qWPpyMrxAbM3uTo0Lqpg-BUNZhDJSJKnw,279
101
101
  schemathesis/specs/openapi/_cache.py,sha256=PAiAu4X_a2PQgD2lG5H3iisXdyg4SaHpU46bRZvfNkM,4320
102
102
  schemathesis/specs/openapi/_hypothesis.py,sha256=XtC-rYiH-GHvWykdSSzPFVK7jHNNL7NtibjSEeIZDQw,24122
103
- schemathesis/specs/openapi/checks.py,sha256=eFjbV9-0202qg0s0JjaBNRr7nf8Bd8VMLPHEfMvZoc4,10967
103
+ schemathesis/specs/openapi/checks.py,sha256=CxDs3eXEXRN6c8xZNrEK60toImgirTP6VTBSoj5w7CU,21236
104
104
  schemathesis/specs/openapi/constants.py,sha256=JqM_FHOenqS_MuUE9sxVQ8Hnw0DNM8cnKDwCwPLhID4,783
105
105
  schemathesis/specs/openapi/converter.py,sha256=TaYgc5BBHPdkN-n0lqpbeVgLu3eL3L8Wu3y_Vo3TJaQ,2800
106
106
  schemathesis/specs/openapi/definitions.py,sha256=Z186F0gNBSCmPg-Kk7Q-n6XxEZHIOzgUyeqixlC62XE,94058
107
107
  schemathesis/specs/openapi/examples.py,sha256=ElfX1kZ4XWfOSOVbes_ovy4P6q_NgWpa0RF0rNJLVM4,16170
108
108
  schemathesis/specs/openapi/formats.py,sha256=JmmkQWNAj5XreXb7Edgj4LADAf4m86YulR_Ec8evpJ4,1220
109
- schemathesis/specs/openapi/links.py,sha256=2ucOLs50OhCqu0PEdbT_BGUM3fKnHBl97YGISLpAxLY,16023
109
+ schemathesis/specs/openapi/links.py,sha256=DCOu14VOFqKYYFbQJHWICDpmTBzJfeP2v2FXBwW3vBI,17531
110
110
  schemathesis/specs/openapi/loaders.py,sha256=AcpvTK8qdirSRcHcinCjQbwfSQSx448LAh_GvFML1C0,25515
111
111
  schemathesis/specs/openapi/media_types.py,sha256=dNTxpRQbY3SubdVjh4Cjb38R6Bc9MF9BsRQwPD87x0g,1017
112
112
  schemathesis/specs/openapi/parameters.py,sha256=_6vNCnPXcdxjfAQbykCRLHjvmTpu_02xDJghxDrGYr8,13611
113
113
  schemathesis/specs/openapi/references.py,sha256=euxM02kQGMHh4Ss1jWjOY_gyw_HazafKITIsvOEiAvI,9831
114
- schemathesis/specs/openapi/schemas.py,sha256=EvdW-aJ-OY-zdSU3AbgK1TydsEJueWMfCZRIfAyMUbI,52420
114
+ schemathesis/specs/openapi/schemas.py,sha256=c732S1iDo-Ns-mw8xfRn98KXzhE6bgmgYk9KN9lTqhc,53003
115
115
  schemathesis/specs/openapi/security.py,sha256=nEhDB_SvEFldmfpa9uOQywfWN6DtXHKmgtwucJvfN5Q,7096
116
116
  schemathesis/specs/openapi/serialization.py,sha256=5qGdFHZ3n80UlbSXrO_bkr4Al_7ci_Z3aSUjZczNDQY,11384
117
117
  schemathesis/specs/openapi/utils.py,sha256=-TCu0hTrlwp2x5qHNp-TxiHRMeIZC9OBmlhLssjRIiQ,742
@@ -127,25 +127,25 @@ schemathesis/specs/openapi/negative/__init__.py,sha256=gw0w_9tVQf_MY5Df3_xTZFC4r
127
127
  schemathesis/specs/openapi/negative/mutations.py,sha256=lLEN0GLxvPmZBQ3tHCznDSjmZ4yQiQxspjv1UpO4Kx0,19019
128
128
  schemathesis/specs/openapi/negative/types.py,sha256=a7buCcVxNBG6ILBM3A7oNTAX0lyDseEtZndBuej8MbI,174
129
129
  schemathesis/specs/openapi/negative/utils.py,sha256=ozcOIuASufLqZSgnKUACjX-EOZrrkuNdXX0SDnLoGYA,168
130
- schemathesis/specs/openapi/stateful/__init__.py,sha256=bQLAavl0-B3hGjEgfrS8o7cPSJ-bK9j-RsG7O9COBBM,8261
130
+ schemathesis/specs/openapi/stateful/__init__.py,sha256=WV0iPWE_BiSoTu2bt0IMbuk71TDJvLPv403thTSXcqc,8662
131
131
  schemathesis/specs/openapi/stateful/statistic.py,sha256=EJK4NqeAYRYl1FtU9YEuTLyhGhPmks0bLoxUPuQlOvM,7443
132
132
  schemathesis/specs/openapi/stateful/types.py,sha256=UuGcCTFvaHsqeLN9ZeUNcbjsEwmthoT3UcHfDHchOYo,419
133
- schemathesis/stateful/__init__.py,sha256=qyQJ-9Ect-AWZiAsK63F3BTGu-jZnPCOp1q46YAonkQ,4911
134
- schemathesis/stateful/config.py,sha256=t2_xW_4-MnrjQFiZC9heHdwP_ftHgFS-zptgq5Ba380,3235
133
+ schemathesis/stateful/__init__.py,sha256=gONzl3pgZ8DihjK52Wd3Ye1LeP6gnulmevHI_jEqHWI,5088
134
+ schemathesis/stateful/config.py,sha256=s0klpsesAJuK9IS6V8pVJNO-OwB0MbmzlXkU3WlMO1g,3556
135
135
  schemathesis/stateful/context.py,sha256=MeP3-lKyhtAd-jzApC65AWlDZSOBzQq0IgK-nvagYqs,4519
136
136
  schemathesis/stateful/events.py,sha256=reGjsmS-y2izRd3bahpEZNe4zxTSpKAkPI-nCQyoUzI,6733
137
137
  schemathesis/stateful/runner.py,sha256=tIlXRpy0Y0vuQYjTlafpZ4Ur_KhFhdK5CH7ScRvDPWk,11110
138
138
  schemathesis/stateful/sink.py,sha256=xjsqJYH5WETKh5pDGlchYyjT3HcjzHEotUjvo1p0JsE,2470
139
- schemathesis/stateful/state_machine.py,sha256=iRbznWxHnUdLhMpiBaHxe6Nh1EacyGnGFz4DCRwV5j4,12228
139
+ schemathesis/stateful/state_machine.py,sha256=u7PkwCjxTZZcePC7GPiOUuu4uhqUees3UuorD_0Sx_c,12938
140
140
  schemathesis/stateful/statistic.py,sha256=xPLiCw61ofNXQicqcK_sZyLHiqiGcgQARpwd8AiRubM,487
141
141
  schemathesis/stateful/validation.py,sha256=JtqnRzl11ZbVR8Lcr0xBJKoOXzx8VUfRz92jOnB2Smg,3605
142
- schemathesis/transports/__init__.py,sha256=j5WwdEzXi4XGT-Q_IrCI0fYJw19h17Qq4LJIMbmPXnk,12445
142
+ schemathesis/transports/__init__.py,sha256=tIJm79N_pBHM5ccvez4Z4mW-VrG1LfN8yq7B0v9YDGk,12832
143
143
  schemathesis/transports/auth.py,sha256=yELjkEkfx4g74hNrd0Db9aFf0xDJDRIwhg2vzKOTZGg,1138
144
144
  schemathesis/transports/content_types.py,sha256=VrcRQvF5T_TUjrCyrZcYF2LOwKfs3IrLcMtkVSp1ImI,2189
145
145
  schemathesis/transports/headers.py,sha256=hr_AIDOfUxsJxpHfemIZ_uNG3_vzS_ZeMEKmZjbYiBE,990
146
146
  schemathesis/transports/responses.py,sha256=6-gvVcRK0Ho_lSydUysBNFWoJwZEiEgf6Iv-GWkQGd8,1675
147
- schemathesis-3.33.3.dist-info/METADATA,sha256=KOVSCOFTMZ9DxwahBc2hsx6Qf5XR3SARyyZSnS6atfk,17795
148
- schemathesis-3.33.3.dist-info/WHEEL,sha256=hKi7AIIx6qfnsRbr087vpeJnrVUuDokDHZacPPMW7-Y,87
149
- schemathesis-3.33.3.dist-info/entry_points.txt,sha256=VHyLcOG7co0nOeuk8WjgpRETk5P1E2iCLrn26Zkn5uk,158
150
- schemathesis-3.33.3.dist-info/licenses/LICENSE,sha256=PsPYgrDhZ7g9uwihJXNG-XVb55wj2uYhkl2DD8oAzY0,1103
151
- schemathesis-3.33.3.dist-info/RECORD,,
147
+ schemathesis-3.34.1.dist-info/METADATA,sha256=8nsSWlenwayD_fjRDqd_VqwH3zB3deT0zOEjq4JU7U8,18373
148
+ schemathesis-3.34.1.dist-info/WHEEL,sha256=hKi7AIIx6qfnsRbr087vpeJnrVUuDokDHZacPPMW7-Y,87
149
+ schemathesis-3.34.1.dist-info/entry_points.txt,sha256=VHyLcOG7co0nOeuk8WjgpRETk5P1E2iCLrn26Zkn5uk,158
150
+ schemathesis-3.34.1.dist-info/licenses/LICENSE,sha256=PsPYgrDhZ7g9uwihJXNG-XVb55wj2uYhkl2DD8oAzY0,1103
151
+ schemathesis-3.34.1.dist-info/RECORD,,