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)
|
||||
|
||||
|
||||
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):
|
||||
resource_class = Environment
|
||||
|
||||
|
@ -46,3 +54,16 @@ class EnvironmentManager(base.Manager):
|
|||
headers = {}
|
||||
return self._get("environments/{id}".format(id=environment_id),
|
||||
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)
|
||||
|
||||
|
||||
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):
|
||||
resource_class = Session
|
||||
|
||||
|
@ -48,17 +40,6 @@ class SessionManager(base.Manager):
|
|||
path.format(id=environment_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):
|
||||
return self._delete("environments/{id}/sessions/{session_id}".
|
||||
format(id=environment_id, session_id=session_id))
|
||||
|
|
|
@ -204,32 +204,3 @@ class UnitTestsForClassesAndFunctions(unittest.TestCase):
|
|||
except TypeError:
|
||||
pass
|
||||
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