Merge pull request #212 from manalilatkar/story_2369

story_2369: modify stacky/events to support glance.
This commit is contained in:
Andrew Melton 2013-09-20 07:18:13 -07:00
commit 916d262508
2 changed files with 39 additions and 3 deletions

View File

@ -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']])

View File

@ -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'}