Add py3 support for versions endpoint/unit test

Story: 2000975
Task: 12578

Change-Id: Id40c574c1e6ab8a88a9cd4f640fc66d426e15ac0
This commit is contained in:
Adrian Czarnecki 2018-04-09 13:21:17 +02:00
parent a3c138ecb0
commit c6e72ff66d
2 changed files with 7 additions and 6 deletions

View File

@ -32,7 +32,7 @@ class TestVersions(base.BaseApiTestCase):
def test_list_versions(self):
result = self.simulate_request('/versions')
self.assertEqual(self.srmock.status, falcon.HTTP_200)
response = json.loads(result[0])
response = json.loads(result[0].decode('utf-8'))
self.assertIsInstance(response, dict)
self.assertTrue(set(['links', 'elements']) ==
set(response))
@ -47,7 +47,7 @@ class TestVersions(base.BaseApiTestCase):
def test_valid_version_id(self):
result = self.simulate_request('/versions/v2.0')
self.assertEqual(self.srmock.status, falcon.HTTP_200)
response = json.loads(result[0])
response = json.loads(result[0].decode('utf-8'))
self.assertIsInstance(response, dict)
version = response
self.assertTrue(set(['id', 'links', 'status', 'updated']) ==

View File

@ -13,6 +13,7 @@
# under the License.
import falcon
import six
from monasca_api.api import versions_api
from monasca_api.v2.common.exceptions import HTTPUnprocessableEntityError
@ -36,24 +37,24 @@ class Versions(versions_api.VersionsAPI):
super(Versions, self).__init__()
def on_get(self, req, res, version_id=None):
req_uri = req.uri.decode('utf8') if six.PY2 else req.uri
result = {
'links': [{
'rel': 'self',
'href': req.uri.decode('utf8')
'href': req_uri
}],
'elements': []
}
if version_id is None:
for version in VERSIONS:
VERSIONS[version]['links'][0]['href'] = (
req.uri.decode('utf8') + version)
req_uri + version)
result['elements'].append(VERSIONS[version])
res.body = helpers.to_json(result)
res.status = falcon.HTTP_200
else:
if version_id in VERSIONS:
VERSIONS[version_id]['links'][0]['href'] = (
req.uri.decode('utf8'))
VERSIONS[version_id]['links'][0]['href'] = req_uri
res.body = helpers.to_json(VERSIONS[version_id])
res.status = falcon.HTTP_200
else: