schemathesis 3.33.0__py3-none-any.whl → 3.33.2__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/cli/reporting.py +5 -3
- schemathesis/runner/__init__.py +1 -1
- schemathesis/specs/openapi/examples.py +2 -0
- schemathesis/stateful/runner.py +4 -0
- schemathesis/stateful/validation.py +1 -1
- {schemathesis-3.33.0.dist-info → schemathesis-3.33.2.dist-info}/METADATA +1 -1
- {schemathesis-3.33.0.dist-info → schemathesis-3.33.2.dist-info}/RECORD +10 -10
- {schemathesis-3.33.0.dist-info → schemathesis-3.33.2.dist-info}/WHEEL +0 -0
- {schemathesis-3.33.0.dist-info → schemathesis-3.33.2.dist-info}/entry_points.txt +0 -0
- {schemathesis-3.33.0.dist-info → schemathesis-3.33.2.dist-info}/licenses/LICENSE +0 -0
schemathesis/cli/reporting.py
CHANGED
|
@@ -21,7 +21,7 @@ def group_by_case(
|
|
|
21
21
|
yield (sample, gen)
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
def _by_unique_key(check: SerializedCheck, code_sample_style: CodeSampleStyle) -> tuple[str, int
|
|
24
|
+
def _by_unique_key(check: SerializedCheck, code_sample_style: CodeSampleStyle) -> tuple[str, int, str]:
|
|
25
25
|
return (
|
|
26
26
|
code_sample_style.generate(
|
|
27
27
|
method=check.example.method,
|
|
@@ -31,8 +31,10 @@ def _by_unique_key(check: SerializedCheck, code_sample_style: CodeSampleStyle) -
|
|
|
31
31
|
verify=check.example.verify,
|
|
32
32
|
extra_headers=check.example.extra_headers,
|
|
33
33
|
),
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
0 if not check.response else check.response.status_code,
|
|
35
|
+
"SCHEMATHESIS-INTERNAL-NO-RESPONSE"
|
|
36
|
+
if not check.response
|
|
37
|
+
else check.response.body or "SCHEMATHESIS-INTERNAL-EMPTY-BODY",
|
|
36
38
|
)
|
|
37
39
|
|
|
38
40
|
|
schemathesis/runner/__init__.py
CHANGED
|
@@ -279,7 +279,7 @@ def load_schema(
|
|
|
279
279
|
operation_id: Filter | None = None,
|
|
280
280
|
) -> BaseSchema:
|
|
281
281
|
"""Load schema via specified loader and parameters."""
|
|
282
|
-
loader_options = {
|
|
282
|
+
loader_options: dict[str, Any] = {
|
|
283
283
|
key: value
|
|
284
284
|
for key, value in (
|
|
285
285
|
("base_url", base_url),
|
|
@@ -241,6 +241,8 @@ def extract_from_schema(
|
|
|
241
241
|
if examples_field_name in subsubschema and isinstance(subsubschema[examples_field_name], list):
|
|
242
242
|
# These are JSON Schema examples, which is an array of values
|
|
243
243
|
values.extend(subsubschema[examples_field_name])
|
|
244
|
+
# Check nested examples as well
|
|
245
|
+
values.extend(extract_from_schema(operation, subsubschema, example_field_name, examples_field_name))
|
|
244
246
|
if not values:
|
|
245
247
|
if name in required:
|
|
246
248
|
# Defer generation to only generate these variants if at least one property has examples
|
schemathesis/stateful/runner.py
CHANGED
|
@@ -7,6 +7,7 @@ from dataclasses import dataclass, field
|
|
|
7
7
|
from typing import TYPE_CHECKING, Any, Generator, Iterator, Type
|
|
8
8
|
|
|
9
9
|
import hypothesis
|
|
10
|
+
from hypothesis.stateful import Rule
|
|
10
11
|
import requests
|
|
11
12
|
from hypothesis.control import current_build_context
|
|
12
13
|
from hypothesis.errors import Flaky
|
|
@@ -139,6 +140,9 @@ def _execute_state_machine_loop(
|
|
|
139
140
|
def get_call_kwargs(self, case: Case) -> dict[str, Any]:
|
|
140
141
|
return call_kwargs
|
|
141
142
|
|
|
143
|
+
def _repr_step(self, rule: Rule, data: dict, result: StepResult) -> str:
|
|
144
|
+
return ""
|
|
145
|
+
|
|
142
146
|
if config.override is not None:
|
|
143
147
|
|
|
144
148
|
def before_call(self, case: Case) -> None:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.33.
|
|
3
|
+
Version: 3.33.2
|
|
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
|
|
@@ -37,7 +37,7 @@ schemathesis/cli/debug.py,sha256=_YA-bX1ujHl4bqQDEum7M-I2XHBTEGbvgkhvcvKhmgU,658
|
|
|
37
37
|
schemathesis/cli/handlers.py,sha256=RjvogPCqqFTiyVYWrGG6euw9-6h-7uSeFvS-ouU8eWs,389
|
|
38
38
|
schemathesis/cli/junitxml.py,sha256=yWacOIrTC9UI-IlgZnu8nfSmpkxfMT22NqJ3L1SZa3w,4743
|
|
39
39
|
schemathesis/cli/options.py,sha256=DY5PUzpUNyYgpcqqFTeZjmVUykpbaI9fbN44QIWNOfA,2559
|
|
40
|
-
schemathesis/cli/reporting.py,sha256=
|
|
40
|
+
schemathesis/cli/reporting.py,sha256=zNKaRAUfDZ23-gMtiWbnG2OBndkYlM7ljKvk0Mc_lqI,3589
|
|
41
41
|
schemathesis/cli/sanitization.py,sha256=pVlQnVDC1_Ugp0oe1LEkRorFdBRDHqr_NWWKaOaNdY0,728
|
|
42
42
|
schemathesis/cli/output/__init__.py,sha256=AXaUzQ1nhQ-vXhW4-X-91vE2VQtEcCOrGtQXXNN55iQ,29
|
|
43
43
|
schemathesis/cli/output/default.py,sha256=nYuUwm2M3pIsDebofgXuIFb7Vl4t4sLO0PKmJcE6tb8,39385
|
|
@@ -68,7 +68,7 @@ schemathesis/internal/output.py,sha256=zMaG5knIuBieVH8CrcmPJgbmQukDs2xdekX0BrK7B
|
|
|
68
68
|
schemathesis/internal/result.py,sha256=d449YvyONjqjDs-A5DAPgtAI96iT753K8sU6_1HLo2Q,461
|
|
69
69
|
schemathesis/internal/transformation.py,sha256=3S6AzAqdsEsB5iobFgSuvL0UMUqH0JHC7hGxKwcpqPw,450
|
|
70
70
|
schemathesis/internal/validation.py,sha256=G7i8jIMUpAeOnDsDF_eWYvRZe_yMprRswx0QAtMPyEw,966
|
|
71
|
-
schemathesis/runner/__init__.py,sha256
|
|
71
|
+
schemathesis/runner/__init__.py,sha256=-aedUaRBCiTiaooC0OsBbdi4XP8APFOpj6eOzwt5nQ8,21366
|
|
72
72
|
schemathesis/runner/events.py,sha256=2XnZJQN3bx_AjYqCuucDjFSuVr-UrkN0yiOatXWWn8E,11507
|
|
73
73
|
schemathesis/runner/probes.py,sha256=no5AfO3kse25qvHevjeUfB0Q3C860V2AYzschUW3QMQ,5688
|
|
74
74
|
schemathesis/runner/serialization.py,sha256=erbXEHyI8rIlkQ42AwgmlH7aAbh313EPqCEfrGKxUls,20040
|
|
@@ -104,7 +104,7 @@ schemathesis/specs/openapi/checks.py,sha256=eFjbV9-0202qg0s0JjaBNRr7nf8Bd8VMLPHE
|
|
|
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
|
-
schemathesis/specs/openapi/examples.py,sha256=
|
|
107
|
+
schemathesis/specs/openapi/examples.py,sha256=t3mYEgUq-akoe3sc9r0Eqb6y2STjIM4m7Lj7kDKG57Y,15293
|
|
108
108
|
schemathesis/specs/openapi/formats.py,sha256=JmmkQWNAj5XreXb7Edgj4LADAf4m86YulR_Ec8evpJ4,1220
|
|
109
109
|
schemathesis/specs/openapi/links.py,sha256=2ucOLs50OhCqu0PEdbT_BGUM3fKnHBl97YGISLpAxLY,16023
|
|
110
110
|
schemathesis/specs/openapi/loaders.py,sha256=AcpvTK8qdirSRcHcinCjQbwfSQSx448LAh_GvFML1C0,25515
|
|
@@ -134,18 +134,18 @@ schemathesis/stateful/__init__.py,sha256=qyQJ-9Ect-AWZiAsK63F3BTGu-jZnPCOp1q46YA
|
|
|
134
134
|
schemathesis/stateful/config.py,sha256=rtGl3egoUuPFxrWcl5xZj_6KmKzZyYaC0b_AUotvurs,2930
|
|
135
135
|
schemathesis/stateful/context.py,sha256=MeP3-lKyhtAd-jzApC65AWlDZSOBzQq0IgK-nvagYqs,4519
|
|
136
136
|
schemathesis/stateful/events.py,sha256=reGjsmS-y2izRd3bahpEZNe4zxTSpKAkPI-nCQyoUzI,6733
|
|
137
|
-
schemathesis/stateful/runner.py,sha256=
|
|
137
|
+
schemathesis/stateful/runner.py,sha256=5YLWTzTWGfT3u14-9EQRe3zgJjwdvNUJi9YGrOJ03_c,11110
|
|
138
138
|
schemathesis/stateful/sink.py,sha256=xjsqJYH5WETKh5pDGlchYyjT3HcjzHEotUjvo1p0JsE,2470
|
|
139
139
|
schemathesis/stateful/state_machine.py,sha256=iRbznWxHnUdLhMpiBaHxe6Nh1EacyGnGFz4DCRwV5j4,12228
|
|
140
140
|
schemathesis/stateful/statistic.py,sha256=xPLiCw61ofNXQicqcK_sZyLHiqiGcgQARpwd8AiRubM,487
|
|
141
|
-
schemathesis/stateful/validation.py,sha256=
|
|
141
|
+
schemathesis/stateful/validation.py,sha256=JtqnRzl11ZbVR8Lcr0xBJKoOXzx8VUfRz92jOnB2Smg,3605
|
|
142
142
|
schemathesis/transports/__init__.py,sha256=j5WwdEzXi4XGT-Q_IrCI0fYJw19h17Qq4LJIMbmPXnk,12445
|
|
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.
|
|
148
|
-
schemathesis-3.33.
|
|
149
|
-
schemathesis-3.33.
|
|
150
|
-
schemathesis-3.33.
|
|
151
|
-
schemathesis-3.33.
|
|
147
|
+
schemathesis-3.33.2.dist-info/METADATA,sha256=gdrfnhSVNZu9U2o6paLsjRF_CKO1tseEnbe4MeQx_KA,17795
|
|
148
|
+
schemathesis-3.33.2.dist-info/WHEEL,sha256=hKi7AIIx6qfnsRbr087vpeJnrVUuDokDHZacPPMW7-Y,87
|
|
149
|
+
schemathesis-3.33.2.dist-info/entry_points.txt,sha256=VHyLcOG7co0nOeuk8WjgpRETk5P1E2iCLrn26Zkn5uk,158
|
|
150
|
+
schemathesis-3.33.2.dist-info/licenses/LICENSE,sha256=PsPYgrDhZ7g9uwihJXNG-XVb55wj2uYhkl2DD8oAzY0,1103
|
|
151
|
+
schemathesis-3.33.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|