schemathesis 4.0.22__py3-none-any.whl → 4.0.24__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/core/errors.py +1 -0
- schemathesis/core/loaders.py +3 -0
- schemathesis/specs/openapi/checks.py +5 -2
- {schemathesis-4.0.22.dist-info → schemathesis-4.0.24.dist-info}/METADATA +1 -1
- {schemathesis-4.0.22.dist-info → schemathesis-4.0.24.dist-info}/RECORD +8 -8
- {schemathesis-4.0.22.dist-info → schemathesis-4.0.24.dist-info}/WHEEL +0 -0
- {schemathesis-4.0.22.dist-info → schemathesis-4.0.24.dist-info}/entry_points.txt +0 -0
- {schemathesis-4.0.22.dist-info → schemathesis-4.0.24.dist-info}/licenses/LICENSE +0 -0
schemathesis/core/errors.py
CHANGED
@@ -330,6 +330,7 @@ class LoaderErrorKind(str, enum.Enum):
|
|
330
330
|
CONNECTION_SSL = "connection_ssl"
|
331
331
|
CONNECTION_OTHER = "connection_other"
|
332
332
|
NETWORK_OTHER = "network_other"
|
333
|
+
INVALID_CERTIFICATE = "invalid_certificate"
|
333
334
|
|
334
335
|
# HTTP error codes
|
335
336
|
HTTP_SERVER_ERROR = "http_server_error"
|
schemathesis/core/loaders.py
CHANGED
@@ -67,6 +67,9 @@ def make_request(func: Callable[..., requests.Response], url: str, **kwargs: Any
|
|
67
67
|
return raise_for_status(response)
|
68
68
|
except requests.RequestException as exc:
|
69
69
|
handle_request_error(exc)
|
70
|
+
except OSError as exc:
|
71
|
+
# Possible with certificate errors
|
72
|
+
raise LoaderError(message=str(exc), kind=LoaderErrorKind.INVALID_CERTIFICATE, url=url, extras=[]) from None
|
70
73
|
|
71
74
|
|
72
75
|
WAIT_FOR_SCHEMA_INTERVAL = 0.05
|
@@ -408,8 +408,11 @@ def ensure_resource_availability(ctx: CheckContext, response: Response, case: Ca
|
|
408
408
|
if not isinstance(case.operation.schema, BaseOpenAPISchema) or is_unexpected_http_status_case(case):
|
409
409
|
return True
|
410
410
|
|
411
|
-
#
|
412
|
-
|
411
|
+
# Only check for 404 (Not Found) responses - other 4XX are not resource availability issues
|
412
|
+
# 422 / 400: Validation errors (bad request data)
|
413
|
+
# 401 / 403: Auth issues (expired tokens, permissions)
|
414
|
+
# 409: Conflict errors
|
415
|
+
if response.status_code != 404:
|
413
416
|
return None
|
414
417
|
|
415
418
|
parent = ctx._find_parent(case_id=case.id)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: schemathesis
|
3
|
-
Version: 4.0.
|
3
|
+
Version: 4.0.24
|
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://github.com/schemathesis/schemathesis/blob/master/CHANGELOG.md
|
@@ -51,12 +51,12 @@ schemathesis/core/compat.py,sha256=9BWCrFoqN2sJIaiht_anxe8kLjYMR7t0iiOkXqLRUZ8,1
|
|
51
51
|
schemathesis/core/control.py,sha256=IzwIc8HIAEMtZWW0Q0iXI7T1niBpjvcLlbuwOSmy5O8,130
|
52
52
|
schemathesis/core/curl.py,sha256=yuaCe_zHLGwUjEeloQi6W3tOA3cGdnHDNI17-5jia0o,1723
|
53
53
|
schemathesis/core/deserialization.py,sha256=qjXUPaz_mc1OSgXzTUSkC8tuVR8wgVQtb9g3CcAF6D0,2951
|
54
|
-
schemathesis/core/errors.py,sha256=
|
54
|
+
schemathesis/core/errors.py,sha256=pwiyGhX7tId88Toe2H4ZYsCDc_OvUJtW8Wv-xDv2UD4,16361
|
55
55
|
schemathesis/core/failures.py,sha256=MYyRnom-XeUEuBmq2ffdz34xhxmpSHWaQunfHtliVsY,8932
|
56
56
|
schemathesis/core/fs.py,sha256=ItQT0_cVwjDdJX9IiI7EnU75NI2H3_DCEyyUjzg_BgI,472
|
57
57
|
schemathesis/core/hooks.py,sha256=qhbkkRSf8URJ4LKv2wmKRINKpquUOgxQzWBHKWRWo3Q,475
|
58
58
|
schemathesis/core/lazy_import.py,sha256=aMhWYgbU2JOltyWBb32vnWBb6kykOghucEzI_F70yVE,470
|
59
|
-
schemathesis/core/loaders.py,sha256=
|
59
|
+
schemathesis/core/loaders.py,sha256=04WRkiWfWPH4xjgi0nMO1NyjGw8zvraIq6PqMqCq1c4,3590
|
60
60
|
schemathesis/core/marks.py,sha256=SH7jsVuNRJjx2gZN9Ze5MY01u7FJiHeO0iruzKi5rm4,2135
|
61
61
|
schemathesis/core/media_types.py,sha256=ThdAikBttdRD1RB9-83rMmtG_z-BdW8xidUxzhgdUqI,2168
|
62
62
|
schemathesis/core/rate_limit.py,sha256=7tg9Znk11erTfw8-ANutjEmu7hbfUHZx_iEdkoaP174,1757
|
@@ -124,7 +124,7 @@ schemathesis/specs/graphql/validation.py,sha256=-W1Noc1MQmTb4RX-gNXMeU2qkgso4mzV
|
|
124
124
|
schemathesis/specs/openapi/__init__.py,sha256=C5HOsfuDJGq_3mv8CRBvRvb0Diy1p0BFdqyEXMS-loE,238
|
125
125
|
schemathesis/specs/openapi/_cache.py,sha256=HpglmETmZU0RCHxp3DO_sg5_B_nzi54Zuw9vGzzYCxY,4295
|
126
126
|
schemathesis/specs/openapi/_hypothesis.py,sha256=shKwQPWupBSZgZ1m35HjSJi0HX0Yv5wqjdkYWA_EE7U,22399
|
127
|
-
schemathesis/specs/openapi/checks.py,sha256=
|
127
|
+
schemathesis/specs/openapi/checks.py,sha256=1_YIcGqZ2xSN_1Ob_CIt_HfARSodMCCYNX4SQXx03-c,30150
|
128
128
|
schemathesis/specs/openapi/constants.py,sha256=JqM_FHOenqS_MuUE9sxVQ8Hnw0DNM8cnKDwCwPLhID4,783
|
129
129
|
schemathesis/specs/openapi/converter.py,sha256=LkpCCAxZzET4Qa_3YStSNuhGlsm5G6TVwpxYu6lPO4g,4169
|
130
130
|
schemathesis/specs/openapi/definitions.py,sha256=8htclglV3fW6JPBqs59lgM4LnA25Mm9IptXBPb_qUT0,93949
|
@@ -157,8 +157,8 @@ schemathesis/transport/prepare.py,sha256=erYXRaxpQokIDzaIuvt_csHcw72iHfCyNq8VNEz
|
|
157
157
|
schemathesis/transport/requests.py,sha256=46aplzhSmBupegPNMawma-iJWCegWkEd6mzdWLTpgM4,10742
|
158
158
|
schemathesis/transport/serialization.py,sha256=igUXKZ_VJ9gV7P0TUc5PDQBJXl_s0kK9T3ljGWWvo6E,10339
|
159
159
|
schemathesis/transport/wsgi.py,sha256=KoAfvu6RJtzyj24VGB8e-Iaa9smpgXJ3VsM8EgAz2tc,6152
|
160
|
-
schemathesis-4.0.
|
161
|
-
schemathesis-4.0.
|
162
|
-
schemathesis-4.0.
|
163
|
-
schemathesis-4.0.
|
164
|
-
schemathesis-4.0.
|
160
|
+
schemathesis-4.0.24.dist-info/METADATA,sha256=QwSbcsUU-AKUCztu8bJ672YiCaXN7VMvx8sVkbKsuIo,8472
|
161
|
+
schemathesis-4.0.24.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
162
|
+
schemathesis-4.0.24.dist-info/entry_points.txt,sha256=hiK3un-xfgPdwj9uj16YVDtTNpO128bmk0U82SMv8ZQ,152
|
163
|
+
schemathesis-4.0.24.dist-info/licenses/LICENSE,sha256=2Ve4J8v5jMQAWrT7r1nf3bI8Vflk3rZVQefiF2zpxwg,1121
|
164
|
+
schemathesis-4.0.24.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|