Cutting do_kpi short if no raw's for provided tenant

This commit is contained in:
Andrew Melton
2013-02-26 15:39:33 -05:00
parent 5df346da89
commit 6b8b2fb197
2 changed files with 31 additions and 0 deletions

View File

@@ -268,6 +268,13 @@ def do_watch(request, deployment_id):
def do_kpi(request, tenant_id=None):
if tenant_id:
if models.RawData.objects.filter(tenant=tenant_id).count() == 0:
results = [["Error", "Message"]]
message = "Could not find raws for tenant %s" % tenant_id
results.append(["NotFound", message])
return rsp(results, 404)
yesterday = datetime.datetime.utcnow() - datetime.timedelta(days=1)
yesterday = dt.dt_to_decimal(yesterday)
trackers = models.RequestTracker.objects.select_related()\

View File

@@ -508,6 +508,9 @@ class StackyServerTestCase(unittest.TestCase):
def test_do_kpi_with_tenant(self):
fake_request = self.mox.CreateMockAnything()
objects = self.mox.CreateMockAnything()
models.RawData.objects.filter(tenant='55555').AndReturn(objects)
objects.count().AndReturn(1)
results = self.mox.CreateMockAnything()
models.RequestTracker.objects.select_related().AndReturn(results)
results.exclude(last_timing=None).AndReturn(results)
@@ -540,6 +543,9 @@ class StackyServerTestCase(unittest.TestCase):
def test_do_kpi_with_tenant_no_match(self):
fake_request = self.mox.CreateMockAnything()
objects = self.mox.CreateMockAnything()
models.RawData.objects.filter(tenant='55555').AndReturn(objects)
objects.count().AndReturn(1)
results = self.mox.CreateMockAnything()
models.RequestTracker.objects.select_related().AndReturn(results)
results.exclude(last_timing=None).AndReturn(results)
@@ -567,6 +573,24 @@ class StackyServerTestCase(unittest.TestCase):
self.mox.VerifyAll()
def test_do_kpi_tenant_doesnt_exist(self):
fake_request = self.mox.CreateMockAnything()
objects = self.mox.CreateMockAnything()
models.RawData.objects.filter(tenant='55555').AndReturn(objects)
objects.count().AndReturn(0)
self.mox.ReplayAll()
resp = stacky_server.do_kpi(fake_request, '55555')
self.assertEqual(resp.status_code, 404)
body = resp.content
body = json.loads(body)
self.assertEqual(len(body), 2)
self.assertEqual(body[0], ['Error', 'Message'])
msg = 'Could not find raws for tenant 55555'
self.assertEqual(body[1], ['NotFound', msg])
self.mox.VerifyAll()
def test_do_list_usage_launches(self):
fake_request = self.mox.CreateMockAnything()
fake_request.GET = {}