Modified client to support lastStatus fetching
Change-Id: I7c529eb9ed811f99d3d5aa5b093ba3ddfca0abea
This commit is contained in:
parent
265807d9e9
commit
0e8a2f913f
@ -23,6 +23,14 @@ class Environment(base.Resource):
|
|||||||
return self.manager.data(self, **kwargs)
|
return self.manager.data(self, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class Status(base.Resource):
|
||||||
|
def __repr__(self):
|
||||||
|
return '<Status %s>' % self._info
|
||||||
|
|
||||||
|
def data(self, **kwargs):
|
||||||
|
return self.manager.data(self, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class EnvironmentManager(base.Manager):
|
class EnvironmentManager(base.Manager):
|
||||||
resource_class = Environment
|
resource_class = Environment
|
||||||
|
|
||||||
@ -46,3 +54,16 @@ class EnvironmentManager(base.Manager):
|
|||||||
headers = {}
|
headers = {}
|
||||||
return self._get("environments/{id}".format(id=environment_id),
|
return self._get("environments/{id}".format(id=environment_id),
|
||||||
headers=headers)
|
headers=headers)
|
||||||
|
|
||||||
|
def last_status(self, environment_id, session_id):
|
||||||
|
headers = {'X-Configuration-Session': session_id}
|
||||||
|
path = 'environments/{id}/lastStatus'
|
||||||
|
path = path.format(id=environment_id)
|
||||||
|
status_dict = self._get(path, return_raw=True,
|
||||||
|
response_key='lastStatuses',
|
||||||
|
headers=headers)
|
||||||
|
result = {}
|
||||||
|
for k, v in status_dict.iteritems():
|
||||||
|
if v:
|
||||||
|
result[k] = Status(self, v, loaded=True)
|
||||||
|
return result
|
||||||
|
@ -23,14 +23,6 @@ class Session(base.Resource):
|
|||||||
return self.manager.data(self, **kwargs)
|
return self.manager.data(self, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class Status(base.Resource):
|
|
||||||
def __repr__(self):
|
|
||||||
return '<Status %s>' % self._info
|
|
||||||
|
|
||||||
def data(self, **kwargs):
|
|
||||||
return self.manager.data(self, **kwargs)
|
|
||||||
|
|
||||||
|
|
||||||
class SessionManager(base.Manager):
|
class SessionManager(base.Manager):
|
||||||
resource_class = Session
|
resource_class = Session
|
||||||
|
|
||||||
@ -48,17 +40,6 @@ class SessionManager(base.Manager):
|
|||||||
path.format(id=environment_id,
|
path.format(id=environment_id,
|
||||||
session_id=session_id))
|
session_id=session_id))
|
||||||
|
|
||||||
def reports(self, environment_id, session_id, service_id=None):
|
|
||||||
path = 'environments/{id}/sessions/{session_id}/reports'
|
|
||||||
path = path.format(id=environment_id, session_id=session_id)
|
|
||||||
if service_id:
|
|
||||||
path += '?service_id={0}'.format(service_id)
|
|
||||||
|
|
||||||
resp, body = self.api.json_request('GET', path)
|
|
||||||
|
|
||||||
data = body.get('reports', [])
|
|
||||||
return [Status(self, res, loaded=True) for res in data if res]
|
|
||||||
|
|
||||||
def delete(self, environment_id, session_id):
|
def delete(self, environment_id, session_id):
|
||||||
return self._delete("environments/{id}/sessions/{session_id}".
|
return self._delete("environments/{id}/sessions/{session_id}".
|
||||||
format(id=environment_id, session_id=session_id))
|
format(id=environment_id, session_id=session_id))
|
||||||
|
@ -204,32 +204,3 @@ class UnitTestsForClassesAndFunctions(unittest.TestCase):
|
|||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
assert result == 'Exception'
|
assert result == 'Exception'
|
||||||
|
|
||||||
def test_session_manager_reports(self):
|
|
||||||
manager = sessions.SessionManager(api)
|
|
||||||
result = manager.reports('datacenter1', '1')
|
|
||||||
assert result == []
|
|
||||||
|
|
||||||
def test_session_manager_reports_with_named_parameters(self):
|
|
||||||
manager = sessions.SessionManager(api)
|
|
||||||
result = manager.reports(environment_id='datacenter1',
|
|
||||||
session_id='1')
|
|
||||||
assert result == []
|
|
||||||
|
|
||||||
def test_session_manager_reports_negative_with_one_parameter(self):
|
|
||||||
result = 'Exception'
|
|
||||||
manager = sessions.SessionManager(api)
|
|
||||||
try:
|
|
||||||
result = manager.reports('datacenter1')
|
|
||||||
except TypeError:
|
|
||||||
pass
|
|
||||||
assert result == 'Exception'
|
|
||||||
|
|
||||||
def test_session_manager_reports_negative_without_parameters(self):
|
|
||||||
result = 'Exception'
|
|
||||||
manager = sessions.SessionManager(api)
|
|
||||||
try:
|
|
||||||
result = manager.reports()
|
|
||||||
except TypeError:
|
|
||||||
pass
|
|
||||||
assert result == 'Exception'
|
|
||||||
|
Loading…
Reference in New Issue
Block a user