Skip to content

Commit 2dbc78d

Browse files
committed
Refactor test to avoid relying on endpoints order
1 parent 77836de commit 2dbc78d

1 file changed

Lines changed: 22 additions & 6 deletions

File tree

samples/schema/postman-collection/python/test/test_parameters.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,41 @@ 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+
34+
def _get_query_param_request(self):
35+
item = self._find_item_by_name('Get User Info by Query Param')
36+
self.assertIsNotNone(item)
37+
return item['request']
38+
2039
def test_request_parameter_description(self):
21-
# request url
22-
request = self.json_data['item'][2]['item'][1]['item'][0]['request']
40+
request = self._get_query_param_request()
2341
self.assertEqual(request['url']['raw'], '{{baseUrl}}/users/')
2442
# first query parameter
2543
self.assertEqual(request['url']['query'][0]['key'], 'pUserId')
2644
self.assertEqual(request['url']['query'][0]['value'], '888')
2745
self.assertEqual(request['url']['query'][0]['description'], 'Query Id.')
2846

2947
def test_request_parameter_required(self):
30-
# request url
31-
request = self.json_data['item'][2]['item'][1]['item'][0]['request']
48+
request = self._get_query_param_request()
3249
self.assertEqual(request['url']['raw'], '{{baseUrl}}/users/')
3350
# first query parameter
3451
self.assertEqual(request['url']['query'][0]['disabled'], False)
3552

3653
def test_request_header(self):
37-
# request url
38-
request = self.json_data['item'][2]['item'][1]['item'][0]['request']
54+
request = self._get_query_param_request()
3955
self.assertEqual(request['url']['raw'], '{{baseUrl}}/users/')
4056
# headers
4157
self.assertEqual(request['header'][0]['key'], 'Accept')

0 commit comments

Comments
 (0)