@@ -17,21 +17,35 @@ def setUp(self):
1717 def tearDown (self ):
1818 pass
1919
20+ def _iter_items (self , items ):
21+ for item in items :
22+ yield item
23+ children = item .get ('item' , [])
24+ if isinstance (children , list ):
25+ for child in self ._iter_items (children ):
26+ yield child
27+
28+ def _find_item_by_name (self , name ):
29+ for item in self ._iter_items (self .json_data .get ('item' , [])):
30+ if item .get ('name' ) == name :
31+ return item
32+ return None
33+
2034 def test_endpoint_deprecated (self ):
21- # path
22- path = self .json_data [ 'item' ][ 0 ][ 'item' ][ 0 ]
35+ path = self . _find_item_by_name ( '/users/:userId (DEPRECATED)' )
36+ self .assertIsNotNone ( path )
2337 self .assertEqual (path ['name' ], '/users/:userId (DEPRECATED)' )
2438
2539 def test_request_from_inline_examples (self ):
26- # item
27- item = self .json_data [ ' item' ][ 0 ][ 'item' ][ 0 ][ 'item' ][ 0 ]
40+ item = self . _find_item_by_name ( 'Example patch user' )
41+ self .assertIsNotNone ( item )
2842 self .assertEqual (item ['name' ], 'Example patch user' )
2943 self .assertEqual (item ['request' ]["method" ], 'PATCH' )
3044 self .assertEqual (item ['request' ]["body" ]["raw" ], '{\n "firstName" : "John",\n "tags" : [ "user" ]\n }' )
3145
3246 def test_request_with_array_strings (self ):
33- # item
34- item = self .json_data [ ' item' ][ 2 ][ 'item' ][ 0 ][ 'item' ][ 0 ]
47+ item = self . _find_item_by_name ( 'Example request for Get User' )
48+ self .assertIsNotNone ( item )
3549 self .assertEqual (item ['request' ]["method" ], 'POST' )
3650 data = json .loads (item ['request' ]["body" ]["raw" ])
3751 # check is list
@@ -40,8 +54,8 @@ def test_request_with_array_strings(self):
4054 self .assertTrue (set (data .get ("tags" )) == {"user" , "admin" , "guest" })
4155
4256 def test_request_boolean_field (self ):
43- # item
44- item = self .json_data [ ' item' ][ 0 ][ 'item' ][ 0 ][ 'item' ][ 1 ]
57+ item = self . _find_item_by_name ( 'Example patch another user' )
58+ self .assertIsNotNone ( item )
4559 self .assertEqual (item ['name' ], 'Example patch another user' )
4660 self .assertEqual (item ['request' ]["method" ], 'PATCH' )
4761 self .assertEqual (item ['request' ]["body" ]["raw" ], '{\n "firstName" : "Bill",\n "tags" : [ "admin" ]\n }' )
0 commit comments