# Pastebin 6vXuL5zh @ddt.data('1.0', '2.0', '3.0') def test_versions(self, version): req = self.build_request( base_url='http://localhost/v{}'.format(version[0]), header_version=version) if version is not None: req.headers = {VERSION_HEADER_NAME: VOLUME_SERVICE + version} response = req.get_response(router.APIRouter()) self.assertEqual(200, response.status_int) body = jsonutils.loads(response.body) version_list = body['versions'] ids = [v['id'] for v in version_list] self.assertEqual({'v{}'.format(version)}, set(ids)) if version == '3.0': self.check_response(response, version) self.assertEqual(api_version_request._MAX_API_VERSION, version_list[0].get('version')) self.assertEqual(api_version_request._MIN_API_VERSION, version_list[0].get('min_version')) else: self.assertEqual('', version_list[0].get('min_version')) self.assertEqual('', version_list[0].get('version')) @ddt.data('3.1', 'latest') def test_versions_MAX_API_VERSION_and_latest(self, version): req = self.build_request(header_version=version, base_url='http://localhost/v3.1') response = req.get_response(router.APIRouter()) self.assertEqual(200, response.status_int) body = jsonutils.loads(response.body) version_list = body['versions'] ids = [v['id'] for v in version_list] self.assertEqual({'v3.0'}, set(ids)) self.check_response(response, '3.1') self.assertEqual(api_version_request._MAX_API_VERSION, version_list[0].get('version')) self.assertEqual(api_version_request._MIN_API_VERSION, version_list[0].get('min_version'))