18
18
19
19
20
20
class TestValidateRequest :
21
- def test_spec_not_detected (self ):
22
- spec = {}
21
+ def test_spec_not_detected (self , spec_invalid ):
23
22
request = mock .Mock (spec = Request )
24
23
25
24
with pytest .raises (ValidatorDetectError ):
26
- validate_request (request , spec = spec )
25
+ validate_request (request , spec = spec_invalid )
27
26
28
- def test_request_type_error (self ):
29
- spec = {"openapi" : "3.1" }
27
+ def test_request_type_error (self , spec_v31 ):
30
28
request = mock .sentinel .request
31
29
32
30
with pytest .raises (TypeError ):
33
- validate_request (request , spec = spec )
31
+ validate_request (request , spec = spec_v31 )
34
32
35
33
@mock .patch (
36
34
"openapi_core.validation.request.validators.RequestValidator.validate" ,
37
35
)
38
- def test_request (self , mock_validate ):
39
- spec = {"openapi" : "3.1" }
36
+ def test_request (self , mock_validate , spec_v31 ):
40
37
request = mock .Mock (spec = Request )
41
38
42
- result = validate_request (request , spec = spec )
39
+ result = validate_request (request , spec = spec_v31 )
43
40
44
41
assert result == mock_validate .return_value
45
42
mock_validate .validate .aasert_called_once_with (request )
46
43
47
44
@mock .patch (
48
45
"openapi_core.validation.request.validators.RequestValidator.validate" ,
49
46
)
50
- def test_request_error (self , mock_validate ):
51
- spec = {"openapi" : "3.1" }
47
+ def test_spec_as_first_arg_deprecated (self , mock_validate , spec_v31 ):
48
+ request = mock .Mock (spec = Request )
49
+
50
+ with pytest .warns (DeprecationWarning ):
51
+ result = validate_request (spec_v31 , request )
52
+
53
+ assert result == mock_validate .return_value
54
+ mock_validate .validate .aasert_called_once_with (request )
55
+
56
+ @mock .patch (
57
+ "openapi_core.validation.request.validators.RequestValidator.validate" ,
58
+ )
59
+ def test_request_error (self , mock_validate , spec_v31 ):
52
60
request = mock .Mock (spec = Request )
53
61
mock_validate .return_value = ResultMock (error_to_raise = ValueError )
54
62
55
63
with pytest .raises (ValueError ):
56
- validate_request (request , spec = spec )
64
+ validate_request (request , spec = spec_v31 )
57
65
58
66
mock_validate .aasert_called_once_with (request )
59
67
60
- def test_validator (self ):
61
- spec = mock .sentinel .spec
68
+ def test_validator (self , spec_v31 ):
62
69
request = mock .Mock (spec = Request )
63
70
validator = mock .Mock (spec = RequestValidator )
64
71
65
72
with pytest .warns (DeprecationWarning ):
66
- result = validate_request (request , spec = spec , validator = validator )
73
+ result = validate_request (
74
+ request , spec = spec_v31 , validator = validator
75
+ )
67
76
68
77
assert result == validator .validate .return_value
69
78
validator .validate .aasert_called_once_with (request )
70
79
71
- def test_validator_cls (self ):
72
- spec = mock .sentinel .spec
80
+ def test_validator_cls (self , spec_v31 ):
73
81
request = mock .Mock (spec = Request )
74
82
validator_cls = mock .Mock (spec = RequestValidator )
75
83
76
- result = validate_request (request , spec = spec , cls = validator_cls )
84
+ result = validate_request (request , spec = spec_v31 , cls = validator_cls )
77
85
78
86
assert result == validator_cls ().validate .return_value
79
87
validator_cls ().validate .aasert_called_once_with (request )
@@ -82,82 +90,87 @@ def test_validator_cls(self):
82
90
"openapi_core.validation.request.validators.WebhookRequestValidator."
83
91
"validate" ,
84
92
)
85
- def test_webhook_request (self , mock_validate ):
86
- spec = {"openapi" : "3.1" }
93
+ def test_webhook_request (self , mock_validate , spec_v31 ):
87
94
request = mock .Mock (spec = WebhookRequest )
88
95
89
- result = validate_request (request , spec = spec )
96
+ result = validate_request (request , spec = spec_v31 )
90
97
91
98
assert result == mock_validate .return_value
92
99
mock_validate .validate .aasert_called_once_with (request )
93
100
94
- def test_webhook_request_validator_not_found (self ):
95
- spec = {"openapi" : "3.0" }
101
+ def test_webhook_request_validator_not_found (self , spec_v30 ):
96
102
request = mock .Mock (spec = WebhookRequest )
97
103
98
104
with pytest .raises (ValidatorDetectError ):
99
- validate_request (request , spec = spec )
105
+ validate_request (request , spec = spec_v30 )
100
106
101
107
@mock .patch (
102
108
"openapi_core.validation.request.validators.WebhookRequestValidator."
103
109
"validate" ,
104
110
)
105
- def test_webhook_request_error (self , mock_validate ):
106
- spec = {"openapi" : "3.1" }
111
+ def test_webhook_request_error (self , mock_validate , spec_v31 ):
107
112
request = mock .Mock (spec = WebhookRequest )
108
113
mock_validate .return_value = ResultMock (error_to_raise = ValueError )
109
114
110
115
with pytest .raises (ValueError ):
111
- validate_request (request , spec = spec )
116
+ validate_request (request , spec = spec_v31 )
112
117
113
118
mock_validate .aasert_called_once_with (request )
114
119
115
- def test_webhook_validator_cls (self ):
116
- spec = mock .sentinel .spec
120
+ def test_webhook_validator_cls (self , spec_v31 ):
117
121
request = mock .Mock (spec = WebhookRequest )
118
122
validator_cls = mock .Mock (spec = WebhookRequestValidator )
119
123
120
- result = validate_request (request , spec = spec , cls = validator_cls )
124
+ result = validate_request (request , spec = spec_v31 , cls = validator_cls )
121
125
122
126
assert result == validator_cls ().validate .return_value
123
127
validator_cls ().validate .aasert_called_once_with (request )
124
128
125
129
126
130
class TestValidateResponse :
127
- def test_spec_not_detected (self ):
128
- spec = {}
131
+ def test_spec_not_detected (self , spec_invalid ):
129
132
request = mock .Mock (spec = Request )
130
133
response = mock .Mock (spec = Response )
131
134
132
135
with pytest .raises (ValidatorDetectError ):
133
- validate_response (request , response , spec = spec )
136
+ validate_response (request , response , spec = spec_invalid )
134
137
135
- def test_request_type_error (self ):
136
- spec = {"openapi" : "3.1" }
138
+ def test_request_type_error (self , spec_v31 ):
137
139
request = mock .sentinel .request
138
140
response = mock .Mock (spec = Response )
139
141
140
142
with pytest .raises (TypeError ):
141
- validate_response (request , response , spec = spec )
143
+ validate_response (request , response , spec = spec_v31 )
142
144
143
- def test_response_type_error (self ):
144
- spec = {"openapi" : "3.1" }
145
+ def test_response_type_error (self , spec_v31 ):
145
146
request = mock .Mock (spec = Request )
146
147
response = mock .sentinel .response
147
148
148
149
with pytest .raises (TypeError ):
149
- validate_response (request , response , spec = spec )
150
+ validate_response (request , response , spec = spec_v31 )
151
+
152
+ @mock .patch (
153
+ "openapi_core.validation.response.validators.ResponseValidator."
154
+ "validate" ,
155
+ )
156
+ def test_request_response (self , mock_validate , spec_v31 ):
157
+ request = mock .Mock (spec = Request )
158
+ response = mock .Mock (spec = Response )
159
+
160
+ result = validate_response (request , response , spec = spec_v31 )
161
+
162
+ assert result == mock_validate .return_value
163
+ mock_validate .aasert_called_once_with (request , response )
150
164
151
165
@mock .patch (
152
166
"openapi_core.validation.response.validators.ResponseValidator."
153
167
"validate" ,
154
168
)
155
- def test_request_response (self , mock_validate ):
156
- spec = {"openapi" : "3.1" }
169
+ def test_spec_as_first_arg_deprecated (self , mock_validate , spec_v31 ):
157
170
request = mock .Mock (spec = Request )
158
171
response = mock .Mock (spec = Response )
159
172
160
- result = validate_response (request , response , spec = spec )
173
+ result = validate_response (spec_v31 , request , response )
161
174
162
175
assert result == mock_validate .return_value
163
176
mock_validate .aasert_called_once_with (request , response )
@@ -166,62 +179,57 @@ def test_request_response(self, mock_validate):
166
179
"openapi_core.validation.response.validators.ResponseValidator."
167
180
"validate" ,
168
181
)
169
- def test_request_response_error (self , mock_validate ):
170
- spec = {"openapi" : "3.1" }
182
+ def test_request_response_error (self , mock_validate , spec_v31 ):
171
183
request = mock .Mock (spec = Request )
172
184
response = mock .Mock (spec = Response )
173
185
mock_validate .return_value = ResultMock (error_to_raise = ValueError )
174
186
175
187
with pytest .raises (ValueError ):
176
- validate_response (request , response , spec = spec )
188
+ validate_response (request , response , spec = spec_v31 )
177
189
178
190
mock_validate .aasert_called_once_with (request , response )
179
191
180
- def test_validator (self ):
181
- spec = mock .sentinel .spec
192
+ def test_validator (self , spec_v31 ):
182
193
request = mock .Mock (spec = Request )
183
194
response = mock .Mock (spec = Response )
184
195
validator = mock .Mock (spec = ResponseValidator )
185
196
186
197
with pytest .warns (DeprecationWarning ):
187
198
result = validate_response (
188
- request , response , spec = spec , validator = validator
199
+ request , response , spec = spec_v31 , validator = validator
189
200
)
190
201
191
202
assert result == validator .validate .return_value
192
203
validator .validate .aasert_called_once_with (request )
193
204
194
- def test_validator_cls (self ):
195
- spec = mock .sentinel .spec
205
+ def test_validator_cls (self , spec_v31 ):
196
206
request = mock .Mock (spec = Request )
197
207
response = mock .Mock (spec = Response )
198
208
validator_cls = mock .Mock (spec = ResponseValidator )
199
209
200
210
result = validate_response (
201
- request , response , spec = spec , cls = validator_cls
211
+ request , response , spec = spec_v31 , cls = validator_cls
202
212
)
203
213
204
214
assert result == validator_cls ().validate .return_value
205
215
validator_cls ().validate .aasert_called_once_with (request )
206
216
207
- def test_webhook_response_validator_not_found (self ):
208
- spec = {"openapi" : "3.0" }
217
+ def test_webhook_response_validator_not_found (self , spec_v30 ):
209
218
request = mock .Mock (spec = WebhookRequest )
210
219
response = mock .Mock (spec = Response )
211
220
212
221
with pytest .raises (ValidatorDetectError ):
213
- validate_response (request , response , spec = spec )
222
+ validate_response (request , response , spec = spec_v30 )
214
223
215
224
@mock .patch (
216
225
"openapi_core.validation.response.validators.WebhookResponseValidator."
217
226
"validate" ,
218
227
)
219
- def test_webhook_request (self , mock_validate ):
220
- spec = {"openapi" : "3.1" }
228
+ def test_webhook_request (self , mock_validate , spec_v31 ):
221
229
request = mock .Mock (spec = WebhookRequest )
222
230
response = mock .Mock (spec = Response )
223
231
224
- result = validate_response (request , response , spec = spec )
232
+ result = validate_response (request , response , spec = spec_v31 )
225
233
226
234
assert result == mock_validate .return_value
227
235
mock_validate .aasert_called_once_with (request , response )
@@ -230,25 +238,23 @@ def test_webhook_request(self, mock_validate):
230
238
"openapi_core.validation.response.validators.WebhookResponseValidator."
231
239
"validate" ,
232
240
)
233
- def test_webhook_request_error (self , mock_validate ):
234
- spec = {"openapi" : "3.1" }
241
+ def test_webhook_request_error (self , mock_validate , spec_v31 ):
235
242
request = mock .Mock (spec = WebhookRequest )
236
243
response = mock .Mock (spec = Response )
237
244
mock_validate .return_value = ResultMock (error_to_raise = ValueError )
238
245
239
246
with pytest .raises (ValueError ):
240
- validate_response (request , response , spec = spec )
247
+ validate_response (request , response , spec = spec_v31 )
241
248
242
249
mock_validate .aasert_called_once_with (request , response )
243
250
244
- def test_webhook_response_cls (self ):
245
- spec = mock .sentinel .spec
251
+ def test_webhook_response_cls (self , spec_v31 ):
246
252
request = mock .Mock (spec = WebhookRequest )
247
253
response = mock .Mock (spec = Response )
248
254
validator_cls = mock .Mock (spec = WebhookResponseValidator )
249
255
250
256
result = validate_response (
251
- request , response , spec = spec , cls = validator_cls
257
+ request , response , spec = spec_v31 , cls = validator_cls
252
258
)
253
259
254
260
assert result == validator_cls ().validate .return_value
0 commit comments