26
26
27
27
# ruff: noqa: E402
28
28
from hypothesis import example , given , settings
29
- from hypothesis .strategies import binary , characters , none , one_of , sampled_from , text
29
+ from hypothesis .strategies import binary , characters , emails , none , one_of , sampled_from , text
30
30
31
31
except ImportError :
32
32
from .pytest_patcher import mark_class
@@ -48,7 +48,7 @@ def noop_strategy(*args, **kwargs):
48
48
# define the decorator functions
49
49
example = given = settings = noop_decorators_with_args
50
50
# and stratgies using in decorators
51
- binary = characters = none = one_of = sampled_from = text = noop_strategy
51
+ binary = characters = emails , none = one_of = sampled_from = text = noop_strategy
52
52
53
53
54
54
try :
@@ -213,6 +213,7 @@ class FuzzGetUrls(WsgiSetup, ClientSetup):
213
213
214
214
@given (sampled_from (['@verbose' , '@page_size' , '@page_index' ]),
215
215
one_of (characters (),text (min_size = 1 )))
216
+ @example ("@verbose" , "1#" )
216
217
@settings (max_examples = _max_examples ,
217
218
deadline = 10000 ) # 10000ms
218
219
def test_class_url_param_accepting_integer_values (self , param , value ):
@@ -224,17 +225,21 @@ def test_class_url_param_accepting_integer_values(self, param, value):
224
225
query = '%s=%s' % (param , value )
225
226
f = session .get (url , params = query )
226
227
try :
228
+ # test case '0#'
229
+ if len (value ) > 1 and value [- 1 ] in ('#' , '&' ):
230
+ value = value [:- 1 ]
227
231
if int (value ) >= 0 :
228
232
self .assertEqual (f .status_code , 200 )
229
233
except ValueError :
230
- if value in [ '#' , '&' ] :
234
+ if value in ( '#' , '&' ) :
231
235
self .assertEqual (f .status_code , 200 )
232
236
else :
233
237
# invalid value for param
234
238
self .assertEqual (f .status_code , 400 )
235
239
236
240
@given (sampled_from (['@verbose' ]),
237
241
one_of (characters (),text (min_size = 1 )))
242
+ @example ("@verbose" , "1#" )
238
243
@settings (max_examples = _max_examples ,
239
244
deadline = 10000 ) # 10000ms
240
245
def test_element_url_param_accepting_integer_values (self , param , value ):
@@ -246,6 +251,9 @@ def test_element_url_param_accepting_integer_values(self, param, value):
246
251
query = '%s=%s' % (param , value )
247
252
f = session .get (url , params = query )
248
253
try :
254
+ # test case '0#'
255
+ if len (value ) > 1 and value [- 1 ] in ('#' , '&' ):
256
+ value = value [:- 1 ]
249
257
if int (value ) >= 0 :
250
258
self .assertEqual (f .status_code , 200 )
251
259
except ValueError :
@@ -255,7 +263,6 @@ def test_element_url_param_accepting_integer_values(self, param, value):
255
263
# invalid value for param
256
264
self .assertEqual (f .status_code , 400 )
257
265
258
-
259
266
@skip_requests
260
267
class BaseTestCases (WsgiSetup , ClientSetup ):
261
268
"""Class with all tests to run against wsgi server. Is reused when
0 commit comments