Cutting do_kpi short if no raw's for provided tenant
This commit is contained in:
@@ -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()\
|
||||
|
@@ -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 = {}
|
||||
|
Reference in New Issue
Block a user