Add tests to verify generated Postman samples (#17444)

This commit is contained in:
Beppe Catanese
2023-12-21 08:22:03 +01:00
committed by GitHub
parent 457622c456
commit b5cd4e9316
4 changed files with 111 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
"""
Testing Postman generator output
"""
from __future__ import absolute_import
import unittest
import json
class TestParameters(unittest.TestCase):
def setUp(self):
with open('./postman.json', 'r') as file:
self.json_data = json.load(file)
def tearDown(self):
pass
def test_security_schemes(self):
# auth
self.assertEqual(self.json_data['auth']['type'], 'basic')
self.assertEqual(self.json_data['auth']['basic'][0]['key'], 'username')
self.assertEqual(self.json_data['auth']['basic'][0]['value'], '{{USERNAME}}')
self.assertEqual(self.json_data['auth']['basic'][0]['type'], 'string')
self.assertEqual(self.json_data['auth']['basic'][1]['key'], 'password')
self.assertEqual(self.json_data['auth']['basic'][1]['value'], '{{PASSWORD}}')
self.assertEqual(self.json_data['auth']['basic'][1]['type'], 'string')
if __name__ == '__main__':
unittest.main()

View File

@@ -0,0 +1,27 @@
"""
Testing Postman generator output
"""
from __future__ import absolute_import
import unittest
import json
class TestParameters(unittest.TestCase):
def setUp(self):
with open('./postman.json', 'r') as file:
self.json_data = json.load(file)
def tearDown(self):
pass
def test_endpoint_deprecated(self):
# path
path = self.json_data['item'][0]['item'][0]
self.assertEqual(path['name'], '/users/:userId (DEPRECATED)')
if __name__ == '__main__':
unittest.main()

View File

@@ -25,8 +25,26 @@ class TestParameters(unittest.TestCase):
self.assertEqual(request['url']['query'][0]['key'], 'pUserId')
self.assertEqual(request['url']['query'][0]['value'], '888')
self.assertEqual(request['url']['query'][0]['description'], 'Query Id.')
def test_request_parameter_required(self):
# request url
request = self.json_data['item'][2]['item'][1]['item'][0]['request']
self.assertEqual(request['url']['raw'], '{{baseUrl}}/users/')
# first query parameter
self.assertEqual(request['url']['query'][0]['disabled'], False)
def test_request_header(self):
# request url
request = self.json_data['item'][2]['item'][1]['item'][0]['request']
self.assertEqual(request['url']['raw'], '{{baseUrl}}/users/')
# headers
self.assertEqual(request['header'][0]['key'], 'Accept')
self.assertEqual(request['header'][0]['disabled'], False)
self.assertEqual(request['header'][1]['key'], 'Custom-Header')
self.assertEqual(request['header'][1]['disabled'], True)
self.assertEqual(request['header'][2]['key'], 'Another-Custom-Header')
self.assertEqual(request['header'][2]['disabled'], False)
if __name__ == '__main__':
unittest.main()

View File

@@ -0,0 +1,32 @@
"""
Testing Postman generator output
"""
from __future__ import absolute_import
import unittest
import json
class TestParameters(unittest.TestCase):
def setUp(self):
with open('./postman.json', 'r') as file:
self.json_data = json.load(file)
def tearDown(self):
pass
def test_security_schemes(self):
# variable
variable = self.json_data['variable']
self.assertEqual(len(variable), 4)
self.assertEqual(variable[0]['key'], 'baseUrl')
self.assertEqual(variable[0]['value'], 'http://localhost:{port}/{version}')
self.assertEqual(variable[0]['type'], 'string')
if __name__ == '__main__':
unittest.main()