schemathesis 3.37.0__py3-none-any.whl → 3.37.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/hooks.py +4 -0
- schemathesis/models.py +10 -0
- schemathesis/parameters.py +5 -0
- schemathesis/runner/impl/context.py +5 -0
- schemathesis/specs/openapi/links.py +4 -0
- schemathesis/specs/openapi/parameters.py +5 -0
- schemathesis/transports/__init__.py +4 -0
- {schemathesis-3.37.0.dist-info → schemathesis-3.37.1.dist-info}/METADATA +1 -1
- {schemathesis-3.37.0.dist-info → schemathesis-3.37.1.dist-info}/RECORD +12 -12
- {schemathesis-3.37.0.dist-info → schemathesis-3.37.1.dist-info}/WHEEL +0 -0
- {schemathesis-3.37.0.dist-info → schemathesis-3.37.1.dist-info}/entry_points.txt +0 -0
- {schemathesis-3.37.0.dist-info → schemathesis-3.37.1.dist-info}/licenses/LICENSE +0 -0
schemathesis/hooks.py
CHANGED
|
@@ -13,6 +13,7 @@ from .internal.deprecation import deprecated_property
|
|
|
13
13
|
|
|
14
14
|
if TYPE_CHECKING:
|
|
15
15
|
from hypothesis import strategies as st
|
|
16
|
+
from hypothesis.vendor.pretty import RepresentationPrinter
|
|
16
17
|
|
|
17
18
|
from .models import APIOperation, Case
|
|
18
19
|
from .schemas import BaseSchema
|
|
@@ -32,6 +33,9 @@ class RegisteredHook:
|
|
|
32
33
|
signature: inspect.Signature
|
|
33
34
|
scopes: list[HookScope]
|
|
34
35
|
|
|
36
|
+
def _repr_pretty_(self, printer: RepresentationPrinter, cycle: bool) -> None:
|
|
37
|
+
return None
|
|
38
|
+
|
|
35
39
|
|
|
36
40
|
@dataclass
|
|
37
41
|
class HookContext:
|
schemathesis/models.py
CHANGED
|
@@ -61,6 +61,7 @@ if TYPE_CHECKING:
|
|
|
61
61
|
import requests.auth
|
|
62
62
|
import werkzeug
|
|
63
63
|
from hypothesis import strategies as st
|
|
64
|
+
from hypothesis.vendor.pretty import RepresentationPrinter
|
|
64
65
|
from requests.structures import CaseInsensitiveDict
|
|
65
66
|
|
|
66
67
|
from .auths import AuthStorage
|
|
@@ -202,6 +203,9 @@ class Case:
|
|
|
202
203
|
def __hash__(self) -> int:
|
|
203
204
|
return hash(self.as_curl_command({SCHEMATHESIS_TEST_CASE_HEADER: "0"}))
|
|
204
205
|
|
|
206
|
+
def _repr_pretty_(self, printer: RepresentationPrinter, cycle: bool) -> None:
|
|
207
|
+
return None
|
|
208
|
+
|
|
205
209
|
@deprecated_property(removed_in="4.0", replacement="`operation`")
|
|
206
210
|
def endpoint(self) -> APIOperation:
|
|
207
211
|
return self.operation
|
|
@@ -1098,6 +1102,9 @@ class TestResult:
|
|
|
1098
1102
|
# DEPRECATED: Seed is the same per test run
|
|
1099
1103
|
seed: int | None = None
|
|
1100
1104
|
|
|
1105
|
+
def _repr_pretty_(self, printer: RepresentationPrinter, cycle: bool) -> None:
|
|
1106
|
+
return None
|
|
1107
|
+
|
|
1101
1108
|
def mark_errored(self) -> None:
|
|
1102
1109
|
self.is_errored = True
|
|
1103
1110
|
|
|
@@ -1191,6 +1198,9 @@ class TestResultSet:
|
|
|
1191
1198
|
generic_errors: list[OperationSchemaError] = field(default_factory=list)
|
|
1192
1199
|
warnings: list[str] = field(default_factory=list)
|
|
1193
1200
|
|
|
1201
|
+
def _repr_pretty_(self, printer: RepresentationPrinter, cycle: bool) -> None:
|
|
1202
|
+
return None
|
|
1203
|
+
|
|
1194
1204
|
def __iter__(self) -> Iterator[TestResult]:
|
|
1195
1205
|
return iter(self.results)
|
|
1196
1206
|
|
schemathesis/parameters.py
CHANGED
|
@@ -9,6 +9,8 @@ from dataclasses import dataclass, field
|
|
|
9
9
|
from typing import TYPE_CHECKING, Any, Generator, Generic, TypeVar
|
|
10
10
|
|
|
11
11
|
if TYPE_CHECKING:
|
|
12
|
+
from hypothesis.vendor.pretty import RepresentationPrinter
|
|
13
|
+
|
|
12
14
|
from .models import APIOperation
|
|
13
15
|
|
|
14
16
|
|
|
@@ -55,6 +57,9 @@ class ParameterSet(Generic[P]):
|
|
|
55
57
|
|
|
56
58
|
items: list[P] = field(default_factory=list)
|
|
57
59
|
|
|
60
|
+
def _repr_pretty_(self, printer: RepresentationPrinter, cycle: bool) -> None:
|
|
61
|
+
return None
|
|
62
|
+
|
|
58
63
|
def add(self, parameter: P) -> None:
|
|
59
64
|
"""Add a new parameter."""
|
|
60
65
|
self.items.append(parameter)
|
|
@@ -10,6 +10,8 @@ from ...models import TestResult, TestResultSet
|
|
|
10
10
|
if TYPE_CHECKING:
|
|
11
11
|
import threading
|
|
12
12
|
|
|
13
|
+
from hypothesis.vendor.pretty import RepresentationPrinter
|
|
14
|
+
|
|
13
15
|
from ...exceptions import OperationSchemaError
|
|
14
16
|
from ...models import Case
|
|
15
17
|
from ...types import NotSet, RawAuth
|
|
@@ -46,6 +48,9 @@ class RunnerContext:
|
|
|
46
48
|
self.unique_data = unique_data
|
|
47
49
|
self.checks_config = checks_config
|
|
48
50
|
|
|
51
|
+
def _repr_pretty_(self, printer: RepresentationPrinter, cycle: bool) -> None:
|
|
52
|
+
return None
|
|
53
|
+
|
|
49
54
|
@property
|
|
50
55
|
def is_stopped(self) -> bool:
|
|
51
56
|
return self.stop_event.is_set()
|
|
@@ -21,6 +21,7 @@ from .parameters import OpenAPI20Body, OpenAPI30Body, OpenAPIParameter
|
|
|
21
21
|
from .references import RECURSION_DEPTH_LIMIT, Unresolvable
|
|
22
22
|
|
|
23
23
|
if TYPE_CHECKING:
|
|
24
|
+
from hypothesis.vendor.pretty import RepresentationPrinter
|
|
24
25
|
from jsonschema import RefResolver
|
|
25
26
|
|
|
26
27
|
from ...parameters import ParameterSet
|
|
@@ -203,6 +204,9 @@ class OpenAPILink(Direction):
|
|
|
203
204
|
method = self.operation.method
|
|
204
205
|
return f"state.schema['{path}']['{method}'].links['{self.status_code}']['{self.name}']"
|
|
205
206
|
|
|
207
|
+
def _repr_pretty_(self, printer: RepresentationPrinter, cycle: bool) -> None:
|
|
208
|
+
return printer.text(repr(self))
|
|
209
|
+
|
|
206
210
|
def __post_init__(self) -> None:
|
|
207
211
|
extension = self.definition.get(SCHEMATHESIS_LINK_EXTENSION)
|
|
208
212
|
self.parameters = [
|
|
@@ -9,6 +9,8 @@ from ...parameters import Parameter
|
|
|
9
9
|
from .converter import to_json_schema_recursive
|
|
10
10
|
|
|
11
11
|
if TYPE_CHECKING:
|
|
12
|
+
from hypothesis.vendor.pretty import RepresentationPrinter
|
|
13
|
+
|
|
12
14
|
from ...models import APIOperation
|
|
13
15
|
|
|
14
16
|
|
|
@@ -21,6 +23,9 @@ class OpenAPIParameter(Parameter):
|
|
|
21
23
|
nullable_field: ClassVar[str]
|
|
22
24
|
supported_jsonschema_keywords: ClassVar[tuple[str, ...]]
|
|
23
25
|
|
|
26
|
+
def _repr_pretty_(self, printer: RepresentationPrinter, cycle: bool) -> None:
|
|
27
|
+
return None
|
|
28
|
+
|
|
24
29
|
@property
|
|
25
30
|
def description(self) -> str | None:
|
|
26
31
|
"""A brief parameter description."""
|
|
@@ -21,6 +21,7 @@ if TYPE_CHECKING:
|
|
|
21
21
|
import requests
|
|
22
22
|
import werkzeug
|
|
23
23
|
from _typeshed.wsgi import WSGIApplication
|
|
24
|
+
from hypothesis.vendor.pretty import RepresentationPrinter
|
|
24
25
|
from starlette_testclient._testclient import ASGI2App, ASGI3App
|
|
25
26
|
|
|
26
27
|
from ..models import Case
|
|
@@ -34,6 +35,9 @@ class RequestConfig:
|
|
|
34
35
|
proxy: str | None = None
|
|
35
36
|
cert: RequestCert | None = None
|
|
36
37
|
|
|
38
|
+
def _repr_pretty_(self, printer: RepresentationPrinter, cycle: bool) -> None:
|
|
39
|
+
return None
|
|
40
|
+
|
|
37
41
|
@property
|
|
38
42
|
def prepared_timeout(self) -> float | None:
|
|
39
43
|
return prepare_timeout(self.timeout)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: schemathesis
|
|
3
|
-
Version: 3.37.
|
|
3
|
+
Version: 3.37.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
|
|
@@ -14,11 +14,11 @@ schemathesis/exceptions.py,sha256=5zjPlyVoQNJGbwufplL6ZVV7FEBPBNPHGdlQRJ7xnhE,20
|
|
|
14
14
|
schemathesis/failures.py,sha256=fybNkCF2rqH90e3KW_XwpgZnSM6f7_FERcxHT9Pd3NM,7911
|
|
15
15
|
schemathesis/filters.py,sha256=f3c_yXIBwIin-9Y0qU2TkcC1NEM_Mw34jGUHQc0BOyw,17026
|
|
16
16
|
schemathesis/graphql.py,sha256=XiuKcfoOB92iLFC8zpz2msLkM0_V0TLdxPNBqrrGZ8w,216
|
|
17
|
-
schemathesis/hooks.py,sha256=
|
|
17
|
+
schemathesis/hooks.py,sha256=f0AUPxyBenpe1YGIWDY_uwSRoT2mE4Tp4Qase7f0L08,14953
|
|
18
18
|
schemathesis/lazy.py,sha256=Ddhkk7Tpc_VcRGYkCtKDmP2gpjxVmEZ3b01ZTNjbm8I,19004
|
|
19
19
|
schemathesis/loaders.py,sha256=MoEhcdOEBJxNRn5X-ZNhWB9jZDHQQNpkNfEdQjf_NDw,4590
|
|
20
|
-
schemathesis/models.py,sha256=
|
|
21
|
-
schemathesis/parameters.py,sha256=
|
|
20
|
+
schemathesis/models.py,sha256=WZZNBX5ujypy9wXislkoURIn6F_agqPedmm7-kVWIis,47018
|
|
21
|
+
schemathesis/parameters.py,sha256=_LN3NL5XwoRfvjcU8o2ArrNFK9sbBZo25UFdxuywkRw,2425
|
|
22
22
|
schemathesis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
23
|
schemathesis/sanitization.py,sha256=Lycn1VVfula9B6XpzkxTHja7CZ7RHqbUh9kBic0Yi4M,9056
|
|
24
24
|
schemathesis/schemas.py,sha256=3xTZOZ1lLdAdwLAkiW0eakRb96mQ0MpbcwmrT-XO4KA,20457
|
|
@@ -77,7 +77,7 @@ schemathesis/runner/events.py,sha256=cRKKSDvHvKLBIyFBz-J0JtAKshbGGKco9eaMyLCgzsY
|
|
|
77
77
|
schemathesis/runner/probes.py,sha256=no5AfO3kse25qvHevjeUfB0Q3C860V2AYzschUW3QMQ,5688
|
|
78
78
|
schemathesis/runner/serialization.py,sha256=jHpfm1PgPAmorNkF8_rkzIYoeA43jpbSKeh5Hm5nqF0,20495
|
|
79
79
|
schemathesis/runner/impl/__init__.py,sha256=1E2iME8uthYPBh9MjwVBCTFV-P3fi7AdphCCoBBspjs,199
|
|
80
|
-
schemathesis/runner/impl/context.py,sha256=
|
|
80
|
+
schemathesis/runner/impl/context.py,sha256=4nHFPsq0ShfuZ2jPrJUuYu-vQpD1ImGE0fmXAKC_cZw,2883
|
|
81
81
|
schemathesis/runner/impl/core.py,sha256=qnALY8PCkU2mmjZlEY6Jboa9pZNLmyCakh0gkuKg43c,47466
|
|
82
82
|
schemathesis/runner/impl/solo.py,sha256=y5QSxgK8nBCEjZVD5BpFvYUXmB6tEjk6TwxAo__NejA,2911
|
|
83
83
|
schemathesis/runner/impl/threadpool.py,sha256=yNR5LYE8f3N_4t42OwSgy0_qdGgBPM7d11F9c9oEAAs,15075
|
|
@@ -111,10 +111,10 @@ schemathesis/specs/openapi/converter.py,sha256=NkrzBNjtmVwQTeE73NOtwB_puvQTjxxqq
|
|
|
111
111
|
schemathesis/specs/openapi/definitions.py,sha256=WTkWwCgTc3OMxfKsqh6YDoGfZMTThSYrHGp8h0vLAK0,93935
|
|
112
112
|
schemathesis/specs/openapi/examples.py,sha256=FwhPWca7bpdHpUp_LRoK09DVgusojO3aXXhXYrK373I,20354
|
|
113
113
|
schemathesis/specs/openapi/formats.py,sha256=JmmkQWNAj5XreXb7Edgj4LADAf4m86YulR_Ec8evpJ4,1220
|
|
114
|
-
schemathesis/specs/openapi/links.py,sha256=
|
|
114
|
+
schemathesis/specs/openapi/links.py,sha256=C4Uir2P_EcpqME8ee_a1vdUM8Tm3ZcKNn2YsGjZiMUQ,17935
|
|
115
115
|
schemathesis/specs/openapi/loaders.py,sha256=5B1cgYEBj3h2psPQxzrQ5Xq5owLVGw-u9HsCQIx7yFE,25705
|
|
116
116
|
schemathesis/specs/openapi/media_types.py,sha256=dNTxpRQbY3SubdVjh4Cjb38R6Bc9MF9BsRQwPD87x0g,1017
|
|
117
|
-
schemathesis/specs/openapi/parameters.py,sha256=
|
|
117
|
+
schemathesis/specs/openapi/parameters.py,sha256=Ga_g8mSl_2lFSgmuLYNEaA92JfqsAdxbhu5kMtalK_Y,14226
|
|
118
118
|
schemathesis/specs/openapi/patterns.py,sha256=IK2BkXI1xByEz5if6jvydFE07nq5rDa4k_-2xX7ifG8,4715
|
|
119
119
|
schemathesis/specs/openapi/references.py,sha256=euxM02kQGMHh4Ss1jWjOY_gyw_HazafKITIsvOEiAvI,9831
|
|
120
120
|
schemathesis/specs/openapi/schemas.py,sha256=t3Gz2q-d9b8Oy-hDhz0rNfjYT3Nx-uOeLOmjO9hpRM0,53741
|
|
@@ -145,14 +145,14 @@ schemathesis/stateful/sink.py,sha256=bHYlgh-fMwg1Srxk_XGs0-WV34YccotwH9PGrxCK57A
|
|
|
145
145
|
schemathesis/stateful/state_machine.py,sha256=PFztY82W5enuXjO6k4Mz8fbHmDJ7Z8OLYZRWtuBeyjg,12956
|
|
146
146
|
schemathesis/stateful/statistic.py,sha256=2-uU5xpT9CbMulKgJWLZN6MUpC0Fskf5yXTt4ef4NFA,542
|
|
147
147
|
schemathesis/stateful/validation.py,sha256=23qSZjC1_xRmtCX4OqsyG6pGxdlo6IZYid695ZpDQyU,3747
|
|
148
|
-
schemathesis/transports/__init__.py,sha256=
|
|
148
|
+
schemathesis/transports/__init__.py,sha256=kFM_0RcBjjw5Jg5ddBhWi98pvC0WrVsR_irJNAb4FQs,13048
|
|
149
149
|
schemathesis/transports/asgi.py,sha256=bwW9vMd1h89Jh7I4jHJVwSNUQzHvc7-JOD5u4hSHZd8,212
|
|
150
150
|
schemathesis/transports/auth.py,sha256=urSTO9zgFO1qU69xvnKHPFQV0SlJL3d7_Ojl0tLnZwo,1143
|
|
151
151
|
schemathesis/transports/content_types.py,sha256=MiKOm-Hy5i75hrROPdpiBZPOTDzOwlCdnthJD12AJzI,2187
|
|
152
152
|
schemathesis/transports/headers.py,sha256=hr_AIDOfUxsJxpHfemIZ_uNG3_vzS_ZeMEKmZjbYiBE,990
|
|
153
153
|
schemathesis/transports/responses.py,sha256=OFD4ZLqwEFpo7F9vaP_SVgjhxAqatxIj38FS4XVq8Qs,1680
|
|
154
|
-
schemathesis-3.37.
|
|
155
|
-
schemathesis-3.37.
|
|
156
|
-
schemathesis-3.37.
|
|
157
|
-
schemathesis-3.37.
|
|
158
|
-
schemathesis-3.37.
|
|
154
|
+
schemathesis-3.37.1.dist-info/METADATA,sha256=I0-7WaiuMLY42hqpDEOfx1ipBOi5hAfyMM-U9CP46aY,12905
|
|
155
|
+
schemathesis-3.37.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
156
|
+
schemathesis-3.37.1.dist-info/entry_points.txt,sha256=VHyLcOG7co0nOeuk8WjgpRETk5P1E2iCLrn26Zkn5uk,158
|
|
157
|
+
schemathesis-3.37.1.dist-info/licenses/LICENSE,sha256=PsPYgrDhZ7g9uwihJXNG-XVb55wj2uYhkl2DD8oAzY0,1103
|
|
158
|
+
schemathesis-3.37.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|