1- import contextlib
1+ from collections import deque
2+ from contextlib import contextmanager
23import json
3- import pprint
44import textwrap
55
66from jsonschema import FormatChecker , ValidationError
@@ -270,9 +270,9 @@ def test_multiple_item_paths(self):
270270 )
271271
272272 def test_uses_pprint (self ):
273- with mock .patch . object ( pprint , " pformat" ) as pformat :
273+ with mock .patch ( "pprint. pformat" ) as pformat :
274274 str (self .error )
275- self .assertGreater (pformat .call_count , 1 ) # schema + instance
275+ self .assertEqual (pformat .call_count , 2 ) # schema + instance
276276
277277
278278class TestValidationErrorDetails (unittest .TestCase ):
@@ -293,29 +293,29 @@ def test_anyOf(self):
293293 e = errors [0 ]
294294
295295 self .assertEqual (e .validator , "anyOf" )
296- self .assertEqual (list ( e .schema_path ), ["anyOf" ])
296+ self .assertEqual (e .schema_path , deque ( ["anyOf" ]) )
297297 self .assertEqual (e .validator_value , schema ["anyOf" ])
298298 self .assertEqual (e .instance , instance )
299299 self .assertEqual (e .schema , schema )
300- self .assertEqual (list ( e .path ), [] )
300+ self .assertEqual (e .path , deque ([]) )
301301 self .assertEqual (len (e .context ), 2 )
302302
303303 e1 , e2 = sorted_errors (e .context )
304304
305305 self .assertEqual (e1 .validator , "minimum" )
306- self .assertEqual (list ( e1 .schema_path ), [0 , "minimum" ])
306+ self .assertEqual (e1 .schema_path , deque ( [0 , "minimum" ]) )
307307 self .assertEqual (e1 .validator_value , schema ["anyOf" ][0 ]["minimum" ])
308308 self .assertEqual (e1 .instance , instance )
309309 self .assertEqual (e1 .schema , schema ["anyOf" ][0 ])
310- self .assertEqual (list ( e1 .path ), [] )
310+ self .assertEqual (e1 .path , deque ([]) )
311311 self .assertEqual (len (e1 .context ), 0 )
312312
313313 self .assertEqual (e2 .validator , "type" )
314- self .assertEqual (list ( e2 .schema_path ), [1 , "type" ])
314+ self .assertEqual (e2 .schema_path , deque ( [1 , "type" ]) )
315315 self .assertEqual (e2 .validator_value , schema ["anyOf" ][1 ]["type" ])
316316 self .assertEqual (e2 .instance , instance )
317317 self .assertEqual (e2 .schema , schema ["anyOf" ][1 ])
318- self .assertEqual (list ( e2 .path ), [] )
318+ self .assertEqual (e2 .path , deque ([]) )
319319 self .assertEqual (len (e2 .context ), 0 )
320320
321321 def test_type (self ):
@@ -338,21 +338,21 @@ def test_type(self):
338338 e = errors [0 ]
339339
340340 self .assertEqual (e .validator , "type" )
341- self .assertEqual (list ( e .schema_path ), ["type" ])
341+ self .assertEqual (e .schema_path , deque ( ["type" ]) )
342342 self .assertEqual (e .validator_value , schema ["type" ])
343343 self .assertEqual (e .instance , instance )
344344 self .assertEqual (e .schema , schema )
345- self .assertEqual (list ( e .path ), [] )
345+ self .assertEqual (e .path , deque ([]) )
346346 self .assertEqual (len (e .context ), 2 )
347347
348348 e1 , e2 = sorted_errors (e .context )
349349
350350 self .assertEqual (e1 .validator , "type" )
351- self .assertEqual (list ( e1 .schema_path ), [0 , "type" ])
351+ self .assertEqual (e1 .schema_path , deque ( [0 , "type" ]) )
352352 self .assertEqual (e1 .validator_value , schema ["type" ][0 ]["type" ])
353353 self .assertEqual (e1 .instance , instance )
354354 self .assertEqual (e1 .schema , schema ["type" ][0 ])
355- self .assertEqual (list ( e1 .path ), [] )
355+ self .assertEqual (e1 .path , deque ([]) )
356356 self .assertEqual (len (e1 .context ), 0 )
357357
358358 self .assertEqual (e2 .validator , "enum" )
@@ -366,7 +366,7 @@ def test_type(self):
366366 )
367367 self .assertEqual (e2 .instance , instance ["foo" ])
368368 self .assertEqual (e2 .schema , schema ["type" ][1 ]["properties" ]["foo" ])
369- self .assertEqual (list ( e2 .path ), ["foo" ])
369+ self .assertEqual (e2 .path , deque ( ["foo" ]) )
370370 self .assertEqual (len (e2 .context ), 0 )
371371
372372 def test_single_nesting (self ):
@@ -383,10 +383,10 @@ def test_single_nesting(self):
383383 errors = validator .iter_errors (instance )
384384 e1 , e2 , e3 , e4 = sorted_errors (errors )
385385
386- self .assertEqual (list ( e1 .path ), ["bar" ])
387- self .assertEqual (list ( e2 .path ), ["baz" ])
388- self .assertEqual (list ( e3 .path ), ["baz" ])
389- self .assertEqual (list ( e4 .path ), ["foo" ])
386+ self .assertEqual (e1 .path , deque ( ["bar" ]) )
387+ self .assertEqual (e2 .path , deque ( ["baz" ]) )
388+ self .assertEqual (e3 .path , deque ( ["baz" ]) )
389+ self .assertEqual (e4 .path , deque ( ["foo" ]) )
390390
391391 self .assertEqual (e1 .validator , "minItems" )
392392 self .assertEqual (e2 .validator , "enum" )
@@ -416,15 +416,15 @@ def test_multiple_nesting(self):
416416 errors = validator .iter_errors (instance )
417417 e1 , e2 , e3 , e4 , e5 , e6 = sorted_errors (errors )
418418
419- self .assertEqual (list ( e1 .path ), [] )
420- self .assertEqual (list ( e2 .path ), [0 ])
421- self .assertEqual (list ( e3 .path ), [1 , "bar" ])
422- self .assertEqual (list ( e4 .path ), [1 , "bar" , "bar" ])
423- self .assertEqual (list ( e5 .path ), [1 , "bar" , "baz" ])
424- self .assertEqual (list ( e6 .path ), [1 , "foo" ])
419+ self .assertEqual (e1 .path , deque ([]) )
420+ self .assertEqual (e2 .path , deque ( [0 ]) )
421+ self .assertEqual (e3 .path , deque ( [1 , "bar" ]) )
422+ self .assertEqual (e4 .path , deque ( [1 , "bar" , "bar" ]) )
423+ self .assertEqual (e5 .path , deque ( [1 , "bar" , "baz" ]) )
424+ self .assertEqual (e6 .path , deque ( [1 , "foo" ]) )
425425
426- self .assertEqual (list ( e1 .schema_path ), ["type" ])
427- self .assertEqual (list ( e2 .schema_path ), ["items" , "type" ])
426+ self .assertEqual (e1 .schema_path , deque ( ["type" ]) )
427+ self .assertEqual (e2 .schema_path , deque ( ["items" , "type" ]) )
428428 self .assertEqual (
429429 list (e3 .schema_path ), ["items" , "properties" , "bar" , "type" ],
430430 )
@@ -457,8 +457,8 @@ def test_additionalProperties(self):
457457 errors = validator .iter_errors (instance )
458458 e1 , e2 = sorted_errors (errors )
459459
460- self .assertEqual (list ( e1 .path ), ["bar" ])
461- self .assertEqual (list ( e2 .path ), ["foo" ])
460+ self .assertEqual (e1 .path , deque ( ["bar" ]) )
461+ self .assertEqual (e2 .path , deque ( ["foo" ]) )
462462
463463 self .assertEqual (e1 .validator , "type" )
464464 self .assertEqual (e2 .validator , "minimum" )
@@ -476,8 +476,8 @@ def test_patternProperties(self):
476476 errors = validator .iter_errors (instance )
477477 e1 , e2 = sorted_errors (errors )
478478
479- self .assertEqual (list ( e1 .path ), ["bar" ])
480- self .assertEqual (list ( e2 .path ), ["foo" ])
479+ self .assertEqual (e1 .path , deque ( ["bar" ]) )
480+ self .assertEqual (e2 .path , deque ( ["foo" ]) )
481481
482482 self .assertEqual (e1 .validator , "type" )
483483 self .assertEqual (e2 .validator , "minimum" )
@@ -493,8 +493,8 @@ def test_additionalItems(self):
493493 errors = validator .iter_errors (instance )
494494 e1 , e2 = sorted_errors (errors )
495495
496- self .assertEqual (list ( e1 .path ), [0 ])
497- self .assertEqual (list ( e2 .path ), [1 ])
496+ self .assertEqual (e1 .path , deque ( [0 ]) )
497+ self .assertEqual (e2 .path , deque ( [1 ]) )
498498
499499 self .assertEqual (e1 .validator , "type" )
500500 self .assertEqual (e2 .validator , "minimum" )
@@ -510,8 +510,8 @@ def test_additionalItems_with_items(self):
510510 errors = validator .iter_errors (instance )
511511 e1 , e2 = sorted_errors (errors )
512512
513- self .assertEqual (list ( e1 .path ), [1 ])
514- self .assertEqual (list ( e2 .path ), [2 ])
513+ self .assertEqual (e1 .path , deque ( [1 ]) )
514+ self .assertEqual (e2 .path , deque ( [2 ]) )
515515
516516 self .assertEqual (e1 .validator , "type" )
517517 self .assertEqual (e2 .validator , "minimum" )
@@ -555,7 +555,7 @@ def test_it_delegates_to_a_ref_resolver(self):
555555 resolver = RefResolver ("" , {})
556556 schema = {"$ref" : mock .Mock ()}
557557
558- @contextlib . contextmanager
558+ @contextmanager
559559 def resolving ():
560560 yield {"type" : "integer" }
561561
0 commit comments