|
@ -20,6 +20,7 @@ class ListChecksTestCase(BaseTestCase): |
|
|
self.a1.last_ping = self.now |
|
|
self.a1.last_ping = self.now |
|
|
self.a1.n_pings = 1 |
|
|
self.a1.n_pings = 1 |
|
|
self.a1.status = "new" |
|
|
self.a1.status = "new" |
|
|
|
|
|
self.a1.tags = "a1-tag a1-additional-tag" |
|
|
self.a1.save() |
|
|
self.a1.save() |
|
|
|
|
|
|
|
|
self.a2 = Check(user=self.alice, name="Alice 2") |
|
|
self.a2 = Check(user=self.alice, name="Alice 2") |
|
@ -27,6 +28,7 @@ class ListChecksTestCase(BaseTestCase): |
|
|
self.a2.grace = td(seconds=3600) |
|
|
self.a2.grace = td(seconds=3600) |
|
|
self.a2.last_ping = self.now |
|
|
self.a2.last_ping = self.now |
|
|
self.a2.status = "up" |
|
|
self.a2.status = "up" |
|
|
|
|
|
self.a2.tags = "a2-tag" |
|
|
self.a2.save() |
|
|
self.a2.save() |
|
|
|
|
|
|
|
|
def get(self): |
|
|
def get(self): |
|
@ -79,3 +81,45 @@ class ListChecksTestCase(BaseTestCase): |
|
|
|
|
|
|
|
|
self.assertEqual(r.status_code, 200) |
|
|
self.assertEqual(r.status_code, 200) |
|
|
self.assertContains(r, "Alice") |
|
|
self.assertContains(r, "Alice") |
|
|
|
|
|
|
|
|
|
|
|
def test_it_works_with_tags_param(self): |
|
|
|
|
|
r = self.client.get("/api/v1/checks/?tag=a2-tag", HTTP_X_API_KEY="abc") |
|
|
|
|
|
self.assertEqual(r.status_code, 200) |
|
|
|
|
|
|
|
|
|
|
|
doc = r.json() |
|
|
|
|
|
self.assertTrue("checks" in doc) |
|
|
|
|
|
self.assertEqual(len(doc["checks"]), 1) |
|
|
|
|
|
|
|
|
|
|
|
check = doc["checks"][0] |
|
|
|
|
|
|
|
|
|
|
|
self.assertEqual(check["name"], "Alice 2") |
|
|
|
|
|
self.assertEqual(check["tags"], "a2-tag") |
|
|
|
|
|
|
|
|
|
|
|
def test_it_filters_with_multiple_tags_param(self): |
|
|
|
|
|
r = self.client.get("/api/v1/checks/?tag=a1-tag&tag=a1-additional-tag", HTTP_X_API_KEY="abc") |
|
|
|
|
|
self.assertEqual(r.status_code, 200) |
|
|
|
|
|
|
|
|
|
|
|
doc = r.json() |
|
|
|
|
|
self.assertTrue("checks" in doc) |
|
|
|
|
|
self.assertEqual(len(doc["checks"]), 1) |
|
|
|
|
|
|
|
|
|
|
|
check = doc["checks"][0] |
|
|
|
|
|
|
|
|
|
|
|
self.assertEqual(check["name"], "Alice 1") |
|
|
|
|
|
self.assertEqual(check["tags"], "a1-tag a1-additional-tag") |
|
|
|
|
|
|
|
|
|
|
|
def test_it_does_not_match_tag_partially(self): |
|
|
|
|
|
r = self.client.get("/api/v1/checks/?tag=tag", HTTP_X_API_KEY="abc") |
|
|
|
|
|
self.assertEqual(r.status_code, 200) |
|
|
|
|
|
|
|
|
|
|
|
doc = r.json() |
|
|
|
|
|
self.assertTrue("checks" in doc) |
|
|
|
|
|
self.assertEqual(len(doc["checks"]), 0) |
|
|
|
|
|
|
|
|
|
|
|
def test_non_existing_tags_filter_returns_empty_result(self): |
|
|
|
|
|
r = self.client.get("/api/v1/checks/?tag=non_existing_tag_with_no_checks", HTTP_X_API_KEY="abc") |
|
|
|
|
|
self.assertEqual(r.status_code, 200) |
|
|
|
|
|
|
|
|
|
|
|
doc = r.json() |
|
|
|
|
|
self.assertTrue("checks" in doc) |
|
|
|
|
|
self.assertEqual(len(doc["checks"]), 0) |