Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2286)

Unified Diff: appengine_apps/trooper_o_matic/appengine_module/trooper_o_matic/test/alerts_test.py

Issue 774323002: Moved trooper_o_matic to appengine/ (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: appengine_apps/trooper_o_matic/appengine_module/trooper_o_matic/test/alerts_test.py
diff --git a/appengine_apps/trooper_o_matic/appengine_module/trooper_o_matic/test/alerts_test.py b/appengine_apps/trooper_o_matic/appengine_module/trooper_o_matic/test/alerts_test.py
deleted file mode 100644
index 8a7548c4d7bcff358d50a9fd950f8d37b2553b72..0000000000000000000000000000000000000000
--- a/appengine_apps/trooper_o_matic/appengine_module/trooper_o_matic/test/alerts_test.py
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright (c) 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Unit test for alerts module."""
-import datetime
-import json
-import unittest
-import webapp2
-import webtest
-
-from google.appengine.ext import testbed
-
-from appengine_module.trooper_o_matic import alerts
-from appengine_module.trooper_o_matic import models
-
-
-class AlertsTest(unittest.TestCase):
-
- def setUp(self):
- self.testbed = testbed.Testbed()
- # needed because some appengine libraries expects a . in this value
- self.testbed.setup_env(current_version_id='testbed.version')
- self.testbed.activate()
- self.testbed.init_datastore_v3_stub()
- self.testbed.init_memcache_stub()
- app = webapp2.WSGIApplication([('/alerts', alerts.AlertsHandler)])
- self.testapp = webtest.TestApp(app)
-
- def testAlertsExitCriteriaNotMet(self):
- chromium_project = models.Project(id='chromium').put()
- blink_project = models.Project(id='blink').put()
- chromium_tree = models.Tree(id='chromium').put()
- blink_tree = models.Tree(id='blink').put()
- # Shouldn't use this one--too old
- models.TreeOpenStat(
- num_days=7, percent_open=99.9, parent=chromium_project,
- timestamp=datetime.datetime.utcnow()-datetime.timedelta(days=10)).put()
- # Should use this one
- models.TreeOpenStat(
- num_days=7, percent_open=75, parent=chromium_project).put()
- # Shouldn't use this one, num_days=1
- models.TreeOpenStat(
- num_days=1, percent_open=55, parent=chromium_project).put()
- # Should use this for blink.
- models.TreeOpenStat(num_days=7, percent_open=66, parent=blink_project).put()
-
- # Shouldn't use this one--too old
- models.CqStat(
- parent=chromium_project, p50=70, p90=200, length=10,
- timestamp=datetime.datetime.utcnow()-datetime.timedelta(hours=3)).put()
- # Should use this one
- models.CqStat(parent=chromium_project, p50=30, p90=190, length=5).put()
- models.CqStat(parent=blink_project, p50=70, p90=100, length=8).put()
-
- models.BuildTimeStat(
- parent=chromium_tree, num_builds=30,
- num_over_median_slo=5, num_over_max_slo=1).put()
- models.BuildTimeStat(
- parent=blink_tree, num_builds=20,
- num_over_median_slo=15, num_over_max_slo=0).put()
- response = self.testapp.get('/alerts')
- data = json.loads(response.body)
- self.assertIn('tree_status', data)
- self.assertIn('blink', data['tree_status'])
- self.assertEqual(True, data['tree_status']['blink']['should_alert'])
- self.assertEqual('Tree 66.00% open over last 7 days (must be > 80.0)',
- data['tree_status']['blink']['details'])
- self.assertIn('chromium', data['tree_status'])
- self.assertEqual(
- True, data['tree_status']['chromium']['should_alert'])
- self.assertEqual('Tree 75.00% open over last 7 days (must be > 80.0)',
- data['tree_status']['chromium']['details'])
- self.assertIn('cq_latency', data)
- self.assertIn('blink', data['cq_latency'])
- self.assertEqual(True, data['cq_latency']['blink']['should_alert'])
- self.assertEqual(('CQ latency is median 70m and 90th 100m '
- '(must be less than median 60m and 90th 180m'),
- data['cq_latency']['blink']['details'])
- self.assertIn('chromium', data['cq_latency'])
- self.assertEqual(True, data['cq_latency']['chromium']['should_alert'])
- self.assertEqual(('CQ latency is median 30m and 90th 190m '
- '(must be less than median 60m and 90th 180m'),
- data['cq_latency']['chromium']['details'])
- self.assertIn('cycle_time', data)
- self.assertIn('blink', data['cycle_time'])
- self.assertEqual(True, data['cycle_time']['blink']['should_alert'])
- self.assertEqual('0 builds over their max, 15 builds over their median',
- data['cycle_time']['blink']['details'])
- self.assertIn('chromium', data['cycle_time'])
- self.assertEqual(True, data['cycle_time']['chromium']['should_alert'])
- self.assertEqual('1 builds over their max, 5 builds over their median',
- data['cycle_time']['chromium']['details'])
-
- def testAlertsExitCriteriaMet(self):
- chromium_project = models.Project(id='chromium').put()
- blink_project = models.Project(id='blink').put()
- chromium_tree = models.Tree(id='chromium').put()
- blink_tree = models.Tree(id='blink').put()
- # Shouldn't use this one--too old
- models.TreeOpenStat(
- num_days=7, percent_open=99.9, parent=chromium_project,
- timestamp=datetime.datetime.now() - datetime.timedelta(days=10)).put()
- # Should use this one
- models.TreeOpenStat(
- num_days=7, percent_open=90, parent=chromium_project).put()
- # Should use this for blink.
- models.TreeOpenStat(num_days=7, percent_open=99, parent=blink_project).put()
-
- models.CqStat(parent=chromium_project, p50=30, p90=50, length=5).put()
- models.CqStat(parent=blink_project, p50=25, p90=40, length=8).put()
-
- models.BuildTimeStat(
- parent=chromium_tree, num_builds=30,
- num_over_median_slo=5, num_over_max_slo=0).put()
- models.BuildTimeStat(
- parent=blink_tree, num_builds=20,
- num_over_median_slo=6, num_over_max_slo=0).put()
- response = self.testapp.get('/alerts')
- data = json.loads(response.body)
- self.assertIn('tree_status', data)
- self.assertIn('blink', data['tree_status'])
- self.assertEqual(False, data['tree_status']['blink']['should_alert'])
- self.assertIn('chromium', data['tree_status'])
- self.assertEqual(
- False, data['tree_status']['chromium']['should_alert'])
- self.assertIn('cq_latency', data)
- self.assertIn('blink', data['cq_latency'])
- self.assertEqual(False, data['cq_latency']['blink']['should_alert'])
- self.assertIn('chromium', data['cq_latency'])
- self.assertEqual(False, data['cq_latency']['chromium']['should_alert'])
- self.assertIn('cycle_time', data)
- self.assertIn('blink', data['cycle_time'])
- self.assertEqual(False, data['cycle_time']['blink']['should_alert'])
- self.assertIn('chromium', data['cycle_time'])
- self.assertEqual(False, data['cycle_time']['chromium']['should_alert'])
-
-
-if __name__ == '__main__':
- unittest.main()

Powered by Google App Engine
This is Rietveld 408576698