modyfying the behavior of stacky server events so that it gives events according to the service in params and all events if no service is provided
This commit is contained in:
parent
da91a0d6aa
commit
74244cfeaa
@ -83,6 +83,13 @@ def get_event_names(service='nova'):
|
||||
return _model_factory(service).values('event').distinct()
|
||||
|
||||
|
||||
def get_all_event_names():
|
||||
services = ['nova', 'glance', 'generic']
|
||||
events = []
|
||||
for service in services:
|
||||
events.extend(get_event_names(service))
|
||||
return events
|
||||
|
||||
def get_host_names():
|
||||
# TODO: We need to upgrade to Django 1.4 so we can get tenent id and
|
||||
# host and just do distinct on host name.
|
||||
@ -156,7 +163,13 @@ def do_deployments(request):
|
||||
|
||||
|
||||
def do_events(request):
|
||||
events = get_event_names()
|
||||
service = str(request.GET.get('service', 'all'))
|
||||
print service
|
||||
if service == 'all':
|
||||
events = get_all_event_names()
|
||||
else:
|
||||
events = get_event_names(service=service)
|
||||
print events
|
||||
results = [["Event Name"]]
|
||||
for event in events:
|
||||
results.append([event['event']])
|
||||
|
@ -235,13 +235,14 @@ class StackyServerTestCase(StacktachBaseTestCase):
|
||||
self.assertEqual(json_resp[2], [2, 'dep2'])
|
||||
self.mox.VerifyAll()
|
||||
|
||||
def test_do_events(self):
|
||||
def test_do_events_of_a_single_service(self):
|
||||
fake_request = self.mox.CreateMockAnything()
|
||||
fake_request.GET = {'service': 'nova'}
|
||||
event1 = {'event': 'some.event.1'}
|
||||
event2 = {'event': 'some.event.2'}
|
||||
events = [event1, event2]
|
||||
self.mox.StubOutWithMock(stacky_server, 'get_event_names')
|
||||
stacky_server.get_event_names().AndReturn(events)
|
||||
stacky_server.get_event_names(service='nova').AndReturn(events)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
resp = stacky_server.do_events(fake_request)
|
||||
@ -254,6 +255,28 @@ class StackyServerTestCase(StacktachBaseTestCase):
|
||||
self.assertEqual(json_resp[2], ['some.event.2'])
|
||||
self.mox.VerifyAll()
|
||||
|
||||
def test_do_events_of_all_services(self):
|
||||
fake_request = self.mox.CreateMockAnything()
|
||||
fake_request.GET = {'service': 'all'}
|
||||
event1 = {'event': 'some.event.1'}
|
||||
event2 = {'event': 'some.event.2'}
|
||||
events = [event1, event2]
|
||||
self.mox.StubOutWithMock(stacky_server, 'get_event_names')
|
||||
stacky_server.get_event_names('nova').AndReturn(events)
|
||||
stacky_server.get_event_names('glance').AndReturn(events)
|
||||
stacky_server.get_event_names('generic').AndReturn(events)
|
||||
self.mox.ReplayAll()
|
||||
|
||||
resp = stacky_server.do_events(fake_request)
|
||||
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
json_resp = json.loads(resp.content)
|
||||
self.assertEqual(len(json_resp), 7)
|
||||
self.assertEqual(json_resp[0], ['Event Name'])
|
||||
self.assertEqual(json_resp[1], ['some.event.1'])
|
||||
self.assertEqual(json_resp[2], ['some.event.2'])
|
||||
self.mox.VerifyAll()
|
||||
|
||||
def test_do_hosts(self):
|
||||
fake_request = self.mox.CreateMockAnything()
|
||||
host1 = {'host': 'www.demo.com'}
|
||||
|
Loading…
x
Reference in New Issue
Block a user