schemathesis 3.35.5__py3-none-any.whl → 3.36.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/_hypothesis.py +5 -0
- schemathesis/auths.py +1 -0
- schemathesis/checks.py +8 -5
- schemathesis/cli/__init__.py +4 -13
- schemathesis/contrib/unique_data.py +1 -2
- schemathesis/generation/coverage.py +81 -8
- schemathesis/internal/checks.py +55 -0
- schemathesis/models.py +24 -10
- schemathesis/runner/__init__.py +7 -1
- schemathesis/runner/impl/context.py +22 -4
- schemathesis/runner/impl/core.py +63 -12
- schemathesis/runner/impl/solo.py +1 -1
- schemathesis/runner/impl/threadpool.py +3 -4
- schemathesis/schemas.py +2 -2
- schemathesis/specs/graphql/loaders.py +2 -2
- schemathesis/specs/graphql/schemas.py +9 -5
- schemathesis/specs/openapi/checks.py +79 -27
- schemathesis/specs/openapi/loaders.py +2 -2
- schemathesis/specs/openapi/schemas.py +19 -3
- schemathesis/stateful/config.py +1 -0
- schemathesis/stateful/context.py +10 -0
- schemathesis/stateful/runner.py +19 -2
- schemathesis/stateful/state_machine.py +2 -1
- schemathesis/stateful/validation.py +9 -4
- {schemathesis-3.35.5.dist-info → schemathesis-3.36.1.dist-info}/METADATA +2 -1
- {schemathesis-3.35.5.dist-info → schemathesis-3.36.1.dist-info}/RECORD +29 -28
- {schemathesis-3.35.5.dist-info → schemathesis-3.36.1.dist-info}/WHEEL +0 -0
- {schemathesis-3.35.5.dist-info → schemathesis-3.36.1.dist-info}/entry_points.txt +0 -0
- {schemathesis-3.35.5.dist-info → schemathesis-3.36.1.dist-info}/licenses/LICENSE +0 -0
schemathesis/stateful/context.py
CHANGED
|
@@ -4,6 +4,7 @@ import traceback
|
|
|
4
4
|
from dataclasses import dataclass, field
|
|
5
5
|
from typing import TYPE_CHECKING, Tuple, Type, Union
|
|
6
6
|
|
|
7
|
+
from ..constants import NOT_SET
|
|
7
8
|
from ..exceptions import CheckFailed
|
|
8
9
|
from ..targets import TargetMetricCollector
|
|
9
10
|
from . import events
|
|
@@ -11,6 +12,7 @@ from . import events
|
|
|
11
12
|
if TYPE_CHECKING:
|
|
12
13
|
from ..models import Case, Check
|
|
13
14
|
from ..transports.responses import GenericResponse
|
|
15
|
+
from ..types import NotSet
|
|
14
16
|
|
|
15
17
|
FailureKey = Union[Type[CheckFailed], Tuple[str, int]]
|
|
16
18
|
|
|
@@ -52,6 +54,7 @@ class RunnerContext:
|
|
|
52
54
|
completed_scenarios: int = 0
|
|
53
55
|
# Metrics collector for targeted testing
|
|
54
56
|
metric_collector: TargetMetricCollector = field(default_factory=lambda: TargetMetricCollector(targets=[]))
|
|
57
|
+
step_outcomes: dict[int, BaseException | None] = field(default_factory=dict)
|
|
55
58
|
|
|
56
59
|
@property
|
|
57
60
|
def current_scenario_status(self) -> events.ScenarioStatus:
|
|
@@ -69,6 +72,7 @@ class RunnerContext:
|
|
|
69
72
|
self.completed_scenarios += 1
|
|
70
73
|
self.current_step_status = None
|
|
71
74
|
self.current_response = None
|
|
75
|
+
self.step_outcomes.clear()
|
|
72
76
|
|
|
73
77
|
def reset_step(self) -> None:
|
|
74
78
|
self.checks_for_step = []
|
|
@@ -123,3 +127,9 @@ class RunnerContext:
|
|
|
123
127
|
self.seen_in_suite.clear()
|
|
124
128
|
self.reset_scenario()
|
|
125
129
|
self.metric_collector.reset()
|
|
130
|
+
|
|
131
|
+
def store_step_outcome(self, case: Case, outcome: BaseException | None) -> None:
|
|
132
|
+
self.step_outcomes[hash(case)] = outcome
|
|
133
|
+
|
|
134
|
+
def get_step_outcome(self, case: Case) -> BaseException | None | NotSet:
|
|
135
|
+
return self.step_outcomes.get(hash(case), NOT_SET)
|
schemathesis/stateful/runner.py
CHANGED
|
@@ -163,17 +163,34 @@ def _execute_state_machine_loop(
|
|
|
163
163
|
try:
|
|
164
164
|
if config.dry_run:
|
|
165
165
|
return None
|
|
166
|
+
if config.unique_data:
|
|
167
|
+
cached = ctx.get_step_outcome(case)
|
|
168
|
+
if isinstance(cached, BaseException):
|
|
169
|
+
raise cached
|
|
170
|
+
elif cached is None:
|
|
171
|
+
return None
|
|
166
172
|
result = super().step(case, previous)
|
|
167
173
|
ctx.step_succeeded()
|
|
168
|
-
except CheckFailed:
|
|
174
|
+
except CheckFailed as exc:
|
|
175
|
+
if config.unique_data:
|
|
176
|
+
ctx.store_step_outcome(case, exc)
|
|
169
177
|
ctx.step_failed()
|
|
170
178
|
raise
|
|
171
|
-
except Exception:
|
|
179
|
+
except Exception as exc:
|
|
180
|
+
if config.unique_data:
|
|
181
|
+
ctx.store_step_outcome(case, exc)
|
|
172
182
|
ctx.step_errored()
|
|
173
183
|
raise
|
|
174
184
|
except KeyboardInterrupt:
|
|
175
185
|
ctx.step_interrupted()
|
|
176
186
|
raise
|
|
187
|
+
except BaseException as exc:
|
|
188
|
+
if config.unique_data:
|
|
189
|
+
ctx.store_step_outcome(case, exc)
|
|
190
|
+
raise exc
|
|
191
|
+
else:
|
|
192
|
+
if config.unique_data:
|
|
193
|
+
ctx.store_step_outcome(case, None)
|
|
177
194
|
finally:
|
|
178
195
|
transition_id: events.TransitionId | None
|
|
179
196
|
if previous is not None:
|
|
@@ -12,7 +12,8 @@ from hypothesis.stateful import RuleBasedStateMachine
|
|
|
12
12
|
from .._dependency_versions import HYPOTHESIS_HAS_STATEFUL_NAMING_IMPROVEMENTS
|
|
13
13
|
from ..constants import NO_LINKS_ERROR_MESSAGE, NOT_SET
|
|
14
14
|
from ..exceptions import UsageError
|
|
15
|
-
from ..
|
|
15
|
+
from ..internal.checks import CheckFunction
|
|
16
|
+
from ..models import APIOperation, Case
|
|
16
17
|
from .config import _default_hypothesis_settings_factory
|
|
17
18
|
from .runner import StatefulTestRunner, StatefulTestRunnerConfig
|
|
18
19
|
from .sink import StateMachineSink
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from typing import TYPE_CHECKING
|
|
3
|
+
from typing import TYPE_CHECKING, Any
|
|
4
4
|
|
|
5
5
|
from ..exceptions import CheckFailed, get_grouped_exception
|
|
6
|
+
from ..internal.checks import CheckContext
|
|
6
7
|
|
|
7
8
|
if TYPE_CHECKING:
|
|
8
9
|
from ..failures import FailureContext
|
|
9
|
-
from ..
|
|
10
|
+
from ..internal.checks import CheckFunction
|
|
11
|
+
from ..models import Case
|
|
10
12
|
from ..transports.responses import GenericResponse
|
|
11
13
|
from .context import RunnerContext
|
|
12
14
|
|
|
@@ -19,8 +21,11 @@ def validate_response(
|
|
|
19
21
|
checks: tuple[CheckFunction, ...],
|
|
20
22
|
additional_checks: tuple[CheckFunction, ...] = (),
|
|
21
23
|
max_response_time: int | None = None,
|
|
24
|
+
headers: dict[str, Any] | None = None,
|
|
22
25
|
) -> None:
|
|
23
26
|
"""Validate the response against the provided checks."""
|
|
27
|
+
from requests.structures import CaseInsensitiveDict
|
|
28
|
+
|
|
24
29
|
from .._compat import MultipleFailures
|
|
25
30
|
from ..checks import _make_max_response_time_failure_message
|
|
26
31
|
from ..failures import ResponseTimeExceeded
|
|
@@ -28,6 +33,7 @@ def validate_response(
|
|
|
28
33
|
|
|
29
34
|
exceptions: list[CheckFailed | AssertionError] = []
|
|
30
35
|
check_results = ctx.checks_for_step
|
|
36
|
+
check_ctx = CheckContext(headers=CaseInsensitiveDict(headers) if headers else None)
|
|
31
37
|
|
|
32
38
|
def _on_failure(exc: CheckFailed | AssertionError, message: str, context: FailureContext | None) -> None:
|
|
33
39
|
exceptions.append(exc)
|
|
@@ -62,8 +68,7 @@ def validate_response(
|
|
|
62
68
|
name = check.__name__
|
|
63
69
|
copied_case = case.partial_deepcopy()
|
|
64
70
|
try:
|
|
65
|
-
check(response, copied_case)
|
|
66
|
-
skip_check = check(response, copied_case)
|
|
71
|
+
skip_check = check(check_ctx, response, copied_case)
|
|
67
72
|
if not skip_check:
|
|
68
73
|
_on_passed(name, copied_case)
|
|
69
74
|
except CheckFailed as exc:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.36.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
|
|
@@ -237,6 +237,7 @@ Schemathesis is used by a number of projects and companies, including direct usa
|
|
|
237
237
|
- [Pixie](https://github.com/pixie-io/pixie)
|
|
238
238
|
- [Qdrant](https://github.com/qdrant/qdrant)
|
|
239
239
|
- Spotify ([Backstage](https://github.com/backstage/backstage))
|
|
240
|
+
- [Weechat](https://github.com/weechat/weechat)
|
|
240
241
|
- WordPress ([OpenVerse](https://github.com/WordPress/openverse))
|
|
241
242
|
|
|
242
243
|
## Testimonials
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
schemathesis/__init__.py,sha256=UW2Bq8hDDkcBeAAA7PzpBFXkOOxkmHox-mfQwzHDjL0,1914
|
|
2
2
|
schemathesis/_compat.py,sha256=y4RZd59i2NCnZ91VQhnKeMn_8t3SgvLOk2Xm8nymUHY,1837
|
|
3
3
|
schemathesis/_dependency_versions.py,sha256=pjEkkGAfOQJYNb-9UOo84V8nj_lKHr_TGDVdFwY2UU0,816
|
|
4
|
-
schemathesis/_hypothesis.py,sha256=
|
|
4
|
+
schemathesis/_hypothesis.py,sha256=Sj7pGspDGeevcPgLkCF1pV7T5HleF84nZd7FbDUs_vE,14646
|
|
5
5
|
schemathesis/_lazy_import.py,sha256=aMhWYgbU2JOltyWBb32vnWBb6kykOghucEzI_F70yVE,470
|
|
6
6
|
schemathesis/_override.py,sha256=TAjYB3eJQmlw9K_xiR9ptt9Wj7if4U7UFlUhGjpBAoM,1625
|
|
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=
|
|
10
|
-
schemathesis/checks.py,sha256=
|
|
9
|
+
schemathesis/auths.py,sha256=De97IS_iOlC36-jRhkZ2DUndjUpXYgsd8R-nA-iHn88,16837
|
|
10
|
+
schemathesis/checks.py,sha256=YPUI1N5giGBy1072vd77e6HWelGAKrJUmJLEG4oqfF8,2630
|
|
11
11
|
schemathesis/code_samples.py,sha256=rsdTo6ksyUs3ZMhqx0mmmkPSKUCFa--snIOYsXgZd80,4120
|
|
12
12
|
schemathesis/constants.py,sha256=l1YQ7PXhEj9dyf9CTESVUpPOaFCH7iz-Fe8o4v6Th_s,2673
|
|
13
13
|
schemathesis/exceptions.py,sha256=Ah-6aDjQREl6D1eBQnANYvwK8uxPwhx83C_tsdydJ_4,20281
|
|
@@ -17,17 +17,17 @@ schemathesis/graphql.py,sha256=XiuKcfoOB92iLFC8zpz2msLkM0_V0TLdxPNBqrrGZ8w,216
|
|
|
17
17
|
schemathesis/hooks.py,sha256=qXyVRfJdhsLk1GuJX47VAqkX0VPm6X6fK-cXhEnFLT4,14765
|
|
18
18
|
schemathesis/lazy.py,sha256=uE8ef_7U_9ovs0-7UA7ssIiiDipJurJFHuxaUFOUETo,18956
|
|
19
19
|
schemathesis/loaders.py,sha256=MoEhcdOEBJxNRn5X-ZNhWB9jZDHQQNpkNfEdQjf_NDw,4590
|
|
20
|
-
schemathesis/models.py,sha256=
|
|
20
|
+
schemathesis/models.py,sha256=YNZ9EXVw0WreTy_3hw2aZ9OPS-0W7xePlh5h0dLmgvs,46411
|
|
21
21
|
schemathesis/parameters.py,sha256=PndmqQRlEYsCt1kWjSShPsFf6vj7X_7FRdz_-A95eNg,2258
|
|
22
22
|
schemathesis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
23
|
schemathesis/sanitization.py,sha256=Lycn1VVfula9B6XpzkxTHja7CZ7RHqbUh9kBic0Yi4M,9056
|
|
24
|
-
schemathesis/schemas.py,sha256
|
|
24
|
+
schemathesis/schemas.py,sha256=3xTZOZ1lLdAdwLAkiW0eakRb96mQ0MpbcwmrT-XO4KA,20457
|
|
25
25
|
schemathesis/serializers.py,sha256=O0ALsdzCrN2_iwyBNOQZrF5hyS21IXhEZjAPDOkiAgo,11676
|
|
26
26
|
schemathesis/targets.py,sha256=XIGRghvEzbmEJjse9aZgNEj67L3jAbiazm2rxURWgDE,2351
|
|
27
27
|
schemathesis/throttling.py,sha256=aisUc4MJDGIOGUAs9L2DlWWpdd4KyAFuNVKhYoaUC9M,1719
|
|
28
28
|
schemathesis/types.py,sha256=Tem2Q_zyMCd0Clp5iGKv6Fu13wdcbxVE8tCVH9WWt7A,1065
|
|
29
29
|
schemathesis/utils.py,sha256=8RkTZ9Ft5IUaGkxABhh34oU7WO2ouMsfgtvFPTx9alI,4875
|
|
30
|
-
schemathesis/cli/__init__.py,sha256=
|
|
30
|
+
schemathesis/cli/__init__.py,sha256=OC6QO38QDf55DTIVwrWiQKz8BfTD5QcK574m67NCE2w,72862
|
|
31
31
|
schemathesis/cli/__main__.py,sha256=MWaenjaUTZIfNPFzKmnkTiawUri7DVldtg3mirLwzU8,92
|
|
32
32
|
schemathesis/cli/callbacks.py,sha256=grMKlx_iGiJA4oJsYt_q8l354Y8Nb11IBvOKwbD0jOA,15192
|
|
33
33
|
schemathesis/cli/cassettes.py,sha256=rephr8daCVGV0alG9XaNBpUOwF6AB6q_z81a-p4VZeo,19403
|
|
@@ -43,7 +43,7 @@ schemathesis/cli/output/__init__.py,sha256=AXaUzQ1nhQ-vXhW4-X-91vE2VQtEcCOrGtQXX
|
|
|
43
43
|
schemathesis/cli/output/default.py,sha256=IB6q7h-eu4Hg6P-n-NGyraf9s4luN7I3FCDsYCPVa60,39781
|
|
44
44
|
schemathesis/cli/output/short.py,sha256=CL6-Apxr5tuZ3BL1vecV1MiRY1wDt21g0wiUwZu6mLM,2607
|
|
45
45
|
schemathesis/contrib/__init__.py,sha256=FH8NL8NXgSKBFOF8Jy_EB6T4CJEaiM-tmDhz16B2o4k,187
|
|
46
|
-
schemathesis/contrib/unique_data.py,sha256=
|
|
46
|
+
schemathesis/contrib/unique_data.py,sha256=cTjJfoNpfLMobUzmGnm3k6kVrZcL34_FMPLlpDDsg4c,1249
|
|
47
47
|
schemathesis/contrib/openapi/__init__.py,sha256=N-BoCzrLGq9aynubhmQBS-LJUBv1wPJcveMCJDhyQl4,217
|
|
48
48
|
schemathesis/contrib/openapi/fill_missing_examples.py,sha256=SL3LXG4khjGKneU3aBu1MGIhYtwRMjK77NH8L--9JBE,583
|
|
49
49
|
schemathesis/contrib/openapi/formats/__init__.py,sha256=OpHWPW8MkTLVv83QXPYY1HVLflhmSH49hSVefm1oVV0,111
|
|
@@ -60,8 +60,9 @@ schemathesis/fixups/utf8_bom.py,sha256=lWT9RNmJG8i-l5AXIpaCT3qCPUwRgzXPW3eoOjmZE
|
|
|
60
60
|
schemathesis/generation/__init__.py,sha256=29Zys_tD6kfngaC4zHeC6TOBZQcmo7CWm7KDSYsHStQ,1581
|
|
61
61
|
schemathesis/generation/_hypothesis.py,sha256=QDBzpcM9eXPgLGGdCPdGlxCtfMXD4YBN9_6Oz73lofI,1406
|
|
62
62
|
schemathesis/generation/_methods.py,sha256=jCK09f4sedDfePrS-6BIiE-CcEE8fJ4ZHxq1BHoTltQ,1101
|
|
63
|
-
schemathesis/generation/coverage.py,sha256=
|
|
63
|
+
schemathesis/generation/coverage.py,sha256=gEB8J9qJTSVRdINVYUw0twCxPIwmuWF2FPJRIwSiy5A,23944
|
|
64
64
|
schemathesis/internal/__init__.py,sha256=93HcdG3LF0BbQKbCteOsFMa1w6nXl8yTmx87QLNJOik,161
|
|
65
|
+
schemathesis/internal/checks.py,sha256=_DO0SlpfgiwEu5vkfS3hyXyC7BsGKKIPuAPgLhfGZ1M,1667
|
|
65
66
|
schemathesis/internal/copy.py,sha256=DcL56z-d69kKR_5u8mlHvjSL1UTyUKNMAwexrwHFY1s,1031
|
|
66
67
|
schemathesis/internal/datetime.py,sha256=zPLBL0XXLNfP-KYel3H2m8pnsxjsA_4d-zTOhJg2EPQ,136
|
|
67
68
|
schemathesis/internal/deprecation.py,sha256=Ty5VBFBlufkITpP0WWTPIPbnB7biDi0kQgXVYWZp820,1273
|
|
@@ -71,15 +72,15 @@ schemathesis/internal/output.py,sha256=zMaG5knIuBieVH8CrcmPJgbmQukDs2xdekX0BrK7B
|
|
|
71
72
|
schemathesis/internal/result.py,sha256=d449YvyONjqjDs-A5DAPgtAI96iT753K8sU6_1HLo2Q,461
|
|
72
73
|
schemathesis/internal/transformation.py,sha256=M5LA4pFZC4nD_0iGfih1wLF3_q8xJas94Uuaymt-7Cw,690
|
|
73
74
|
schemathesis/internal/validation.py,sha256=G7i8jIMUpAeOnDsDF_eWYvRZe_yMprRswx0QAtMPyEw,966
|
|
74
|
-
schemathesis/runner/__init__.py,sha256=
|
|
75
|
+
schemathesis/runner/__init__.py,sha256=dLvb4FvH1zvYyVj5i7naR0ehfKL7K8QBKKbBNp_ClY8,21536
|
|
75
76
|
schemathesis/runner/events.py,sha256=cRKKSDvHvKLBIyFBz-J0JtAKshbGGKco9eaMyLCgzsY,11734
|
|
76
77
|
schemathesis/runner/probes.py,sha256=no5AfO3kse25qvHevjeUfB0Q3C860V2AYzschUW3QMQ,5688
|
|
77
78
|
schemathesis/runner/serialization.py,sha256=Rn8wUpxe8saWUBfSI60jK7-qPR-D2pY1ad1hD8qTHhE,20418
|
|
78
79
|
schemathesis/runner/impl/__init__.py,sha256=1E2iME8uthYPBh9MjwVBCTFV-P3fi7AdphCCoBBspjs,199
|
|
79
|
-
schemathesis/runner/impl/context.py,sha256=
|
|
80
|
-
schemathesis/runner/impl/core.py,sha256=
|
|
81
|
-
schemathesis/runner/impl/solo.py,sha256=
|
|
82
|
-
schemathesis/runner/impl/threadpool.py,sha256=
|
|
80
|
+
schemathesis/runner/impl/context.py,sha256=KT3Dl1HIUM29Jpp_DwfoSx_NbWFH_7s6gw-p2Sr-N24,2505
|
|
81
|
+
schemathesis/runner/impl/core.py,sha256=bAPwfhLJrXLlPN6BDNGyQoO9v35YlmeuxAmyFTNQg5Y,47197
|
|
82
|
+
schemathesis/runner/impl/solo.py,sha256=y5QSxgK8nBCEjZVD5BpFvYUXmB6tEjk6TwxAo__NejA,2911
|
|
83
|
+
schemathesis/runner/impl/threadpool.py,sha256=yNR5LYE8f3N_4t42OwSgy0_qdGgBPM7d11F9c9oEAAs,15075
|
|
83
84
|
schemathesis/service/__init__.py,sha256=cDVTCFD1G-vvhxZkJUwiToTAEQ-0ByIoqwXvJBCf_V8,472
|
|
84
85
|
schemathesis/service/auth.py,sha256=AiZXvSNwz1Hi3fn-OCp6XD-E4GAMDlfcX8fORJ8_dLo,445
|
|
85
86
|
schemathesis/service/ci.py,sha256=3m9xSWFhrpWA6mI_8bXI7sspND9RSqXFM9UseO5nIiM,6782
|
|
@@ -96,26 +97,26 @@ schemathesis/service/usage.py,sha256=UbXqxeDq5mAjKkfV4hApZsReZmQHXiqoXUYn_Z6YuZk
|
|
|
96
97
|
schemathesis/specs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
97
98
|
schemathesis/specs/graphql/__init__.py,sha256=fgyHtvWNUVWismBTOqxQtgLoTighTfvMv6v6QCD_Oyc,85
|
|
98
99
|
schemathesis/specs/graphql/_cache.py,sha256=7ras3q_InDJBPykgHroerl9f2jFamC8xJD35376Zs6I,795
|
|
99
|
-
schemathesis/specs/graphql/loaders.py,sha256
|
|
100
|
+
schemathesis/specs/graphql/loaders.py,sha256=-PUdzGiGo1BZWe9slaUmqeamMqCM6daq2lSrFblomCc,12339
|
|
100
101
|
schemathesis/specs/graphql/nodes.py,sha256=bE3G1kNmqJ8OV4igBvIK-UORrkQA6Nofduf87O3TD9I,541
|
|
101
102
|
schemathesis/specs/graphql/scalars.py,sha256=9tvLTiYVe8A_E8ASA0czz3Z0Mp9lyak7R4wHpAE_jKo,1805
|
|
102
|
-
schemathesis/specs/graphql/schemas.py,sha256=
|
|
103
|
+
schemathesis/specs/graphql/schemas.py,sha256=b7QwglKbcYQCMjuYmqDsVoFu2o4xaA_kduUzEXJnvow,14332
|
|
103
104
|
schemathesis/specs/graphql/validation.py,sha256=uINIOt-2E7ZuQV2CxKzwez-7L9tDtqzMSpnVoRWvxy0,1635
|
|
104
105
|
schemathesis/specs/openapi/__init__.py,sha256=HDcx3bqpa6qWPpyMrxAbM3uTo0Lqpg-BUNZhDJSJKnw,279
|
|
105
106
|
schemathesis/specs/openapi/_cache.py,sha256=PAiAu4X_a2PQgD2lG5H3iisXdyg4SaHpU46bRZvfNkM,4320
|
|
106
107
|
schemathesis/specs/openapi/_hypothesis.py,sha256=XgKq36ONJIWM-8ASnDpzOgcCcVz-uUQw74bOxcUC3n8,24201
|
|
107
|
-
schemathesis/specs/openapi/checks.py,sha256=
|
|
108
|
+
schemathesis/specs/openapi/checks.py,sha256=sOfnEoeu7aGTM7RXplhPy1iUaibxIzytjWtBp4at8S4,22288
|
|
108
109
|
schemathesis/specs/openapi/constants.py,sha256=JqM_FHOenqS_MuUE9sxVQ8Hnw0DNM8cnKDwCwPLhID4,783
|
|
109
110
|
schemathesis/specs/openapi/converter.py,sha256=TaYgc5BBHPdkN-n0lqpbeVgLu3eL3L8Wu3y_Vo3TJaQ,2800
|
|
110
111
|
schemathesis/specs/openapi/definitions.py,sha256=nEsCKn_LgqYjZ9nNWp-8KUIrB4S94pT3GsV5A8UIzDw,94043
|
|
111
112
|
schemathesis/specs/openapi/examples.py,sha256=FwhPWca7bpdHpUp_LRoK09DVgusojO3aXXhXYrK373I,20354
|
|
112
113
|
schemathesis/specs/openapi/formats.py,sha256=JmmkQWNAj5XreXb7Edgj4LADAf4m86YulR_Ec8evpJ4,1220
|
|
113
114
|
schemathesis/specs/openapi/links.py,sha256=a8JmWM9aZhrR5CfyIh6t2SkfonMLfYKOScXY2XlZYN0,17749
|
|
114
|
-
schemathesis/specs/openapi/loaders.py,sha256=
|
|
115
|
+
schemathesis/specs/openapi/loaders.py,sha256=5B1cgYEBj3h2psPQxzrQ5Xq5owLVGw-u9HsCQIx7yFE,25705
|
|
115
116
|
schemathesis/specs/openapi/media_types.py,sha256=dNTxpRQbY3SubdVjh4Cjb38R6Bc9MF9BsRQwPD87x0g,1017
|
|
116
117
|
schemathesis/specs/openapi/parameters.py,sha256=CqJdS4d14l25_yEbqkLCnfIdDTlodRhJpxD8EXdaFwM,14059
|
|
117
118
|
schemathesis/specs/openapi/references.py,sha256=euxM02kQGMHh4Ss1jWjOY_gyw_HazafKITIsvOEiAvI,9831
|
|
118
|
-
schemathesis/specs/openapi/schemas.py,sha256=
|
|
119
|
+
schemathesis/specs/openapi/schemas.py,sha256=t3Gz2q-d9b8Oy-hDhz0rNfjYT3Nx-uOeLOmjO9hpRM0,53741
|
|
119
120
|
schemathesis/specs/openapi/security.py,sha256=Z-6pk2Ga1PTUtBe298KunjVHsNh5A-teegeso7zcPIE,7138
|
|
120
121
|
schemathesis/specs/openapi/serialization.py,sha256=5qGdFHZ3n80UlbSXrO_bkr4Al_7ci_Z3aSUjZczNDQY,11384
|
|
121
122
|
schemathesis/specs/openapi/utils.py,sha256=-TCu0hTrlwp2x5qHNp-TxiHRMeIZC9OBmlhLssjRIiQ,742
|
|
@@ -135,22 +136,22 @@ schemathesis/specs/openapi/stateful/__init__.py,sha256=Iu77XE4iUuiz32UoYFqIe7H3y
|
|
|
135
136
|
schemathesis/specs/openapi/stateful/statistic.py,sha256=xV_I2Oy-H7K_53nedLMy0rR6kIEvgtXwnGl53UixDZQ,7441
|
|
136
137
|
schemathesis/specs/openapi/stateful/types.py,sha256=DtxmxdvCbzlgoyecudXP84qF7NuCv3fRal3oJJs7eAU,456
|
|
137
138
|
schemathesis/stateful/__init__.py,sha256=HBg-h131EI8IipHQgufSaXe-CrFTKmffPVsoEFjPUmE,5100
|
|
138
|
-
schemathesis/stateful/config.py,sha256=
|
|
139
|
-
schemathesis/stateful/context.py,sha256=
|
|
139
|
+
schemathesis/stateful/config.py,sha256=huYzqDoD6x20p_VNAR79NgxPwUFO8UXoc3_z4BEuHqU,3586
|
|
140
|
+
schemathesis/stateful/context.py,sha256=vJ9nxTTjI5wo7A6PBGCvVVO_7y-ELs3XERi9PxLzykA,5085
|
|
140
141
|
schemathesis/stateful/events.py,sha256=CyYvyQebOaeTn6UevaB7HXOrUhxCWbqXMfQ7pZK7fV8,6727
|
|
141
|
-
schemathesis/stateful/runner.py,sha256=
|
|
142
|
+
schemathesis/stateful/runner.py,sha256=doEzd7IOfrW1zPzRC0WOqR-N1x5FmaJVGOZur-za6Ao,12352
|
|
142
143
|
schemathesis/stateful/sink.py,sha256=bHYlgh-fMwg1Srxk_XGs0-WV34YccotwH9PGrxCK57A,2474
|
|
143
|
-
schemathesis/stateful/state_machine.py,sha256=
|
|
144
|
+
schemathesis/stateful/state_machine.py,sha256=PFztY82W5enuXjO6k4Mz8fbHmDJ7Z8OLYZRWtuBeyjg,12956
|
|
144
145
|
schemathesis/stateful/statistic.py,sha256=2-uU5xpT9CbMulKgJWLZN6MUpC0Fskf5yXTt4ef4NFA,542
|
|
145
|
-
schemathesis/stateful/validation.py,sha256=
|
|
146
|
+
schemathesis/stateful/validation.py,sha256=mNiT8fT2aaxNwhyj2n2G-wxqtMPYxurtH4PYZNRXCzI,3848
|
|
146
147
|
schemathesis/transports/__init__.py,sha256=UKt3GJboaPbwcX0vlBZB3i1rFF6tTBQkwDmzB-3o7ns,12892
|
|
147
148
|
schemathesis/transports/asgi.py,sha256=bwW9vMd1h89Jh7I4jHJVwSNUQzHvc7-JOD5u4hSHZd8,212
|
|
148
149
|
schemathesis/transports/auth.py,sha256=urSTO9zgFO1qU69xvnKHPFQV0SlJL3d7_Ojl0tLnZwo,1143
|
|
149
150
|
schemathesis/transports/content_types.py,sha256=MiKOm-Hy5i75hrROPdpiBZPOTDzOwlCdnthJD12AJzI,2187
|
|
150
151
|
schemathesis/transports/headers.py,sha256=hr_AIDOfUxsJxpHfemIZ_uNG3_vzS_ZeMEKmZjbYiBE,990
|
|
151
152
|
schemathesis/transports/responses.py,sha256=OFD4ZLqwEFpo7F9vaP_SVgjhxAqatxIj38FS4XVq8Qs,1680
|
|
152
|
-
schemathesis-3.
|
|
153
|
-
schemathesis-3.
|
|
154
|
-
schemathesis-3.
|
|
155
|
-
schemathesis-3.
|
|
156
|
-
schemathesis-3.
|
|
153
|
+
schemathesis-3.36.1.dist-info/METADATA,sha256=ysyAwX1ruHhcAtdGT2Ty2lpc4UpM0zyotuwzDprQd08,12904
|
|
154
|
+
schemathesis-3.36.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
155
|
+
schemathesis-3.36.1.dist-info/entry_points.txt,sha256=VHyLcOG7co0nOeuk8WjgpRETk5P1E2iCLrn26Zkn5uk,158
|
|
156
|
+
schemathesis-3.36.1.dist-info/licenses/LICENSE,sha256=PsPYgrDhZ7g9uwihJXNG-XVb55wj2uYhkl2DD8oAzY0,1103
|
|
157
|
+
schemathesis-3.36.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|