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

Unified Diff: dashboard/dashboard/speed_releasing_test.py

Issue 2684813002: Handles milestones. Needs to be broken up. (Closed)
Patch Set: Created 3 years, 10 months 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
« no previous file with comments | « dashboard/dashboard/speed_releasing.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dashboard/dashboard/speed_releasing_test.py
diff --git a/dashboard/dashboard/speed_releasing_test.py b/dashboard/dashboard/speed_releasing_test.py
index 9962d777f4814475af5ac2f6490aad89e849eaa6..71e1ac6ff9f31715fd269ba0ee9bbaf3285aa642 100644
--- a/dashboard/dashboard/speed_releasing_test.py
+++ b/dashboard/dashboard/speed_releasing_test.py
@@ -89,7 +89,7 @@ class SpeedReleasingTest(testing_common.TestCase):
def _AddRows(self, keys):
for key in keys:
- testing_common.AddRows(utils.TestPath(key), [1, 2, 3, 4])
+ testing_common.AddRows(utils.TestPath(key), [1, 2, 3, 445588])
def _AddDownstreamRows(self, keys):
revisions = [1, 2, 1485025126, 1485099999]
@@ -143,6 +143,7 @@ class SpeedReleasingTest(testing_common.TestCase):
'2.0, "my_test_suite/my_other_test": 2.0}, '
'"ChromiumPerf/win": {"my_test_suite/my_test": 2.0, '
'"my_test_suite/my_other_test": 2.0}}}', response)
+ self.assertIn('"milestones": [0, 0]', response)
def testPost_InternalListPageToExternalUser(self):
self._AddTableConfigDataStore('BestTable', True)
@@ -164,28 +165,106 @@ class SpeedReleasingTest(testing_common.TestCase):
keys = self._AddTableConfigDataStore('BestTable', True)
self._AddRows(keys)
response = self.testapp.post('/speed_releasing/BestTable')
- self.assertIn('"revisions": [445288, 4]', response) # 4 is most recent Row.
- self.assertIn('"display_revisions": [445288, 4]', response)
+ self.assertIn('"revisions": [445588, 445288]', response)
+ self.assertIn('"display_revisions": [445588, 445288]', response)
+ self.assertIn('"milestones": [57, 58]', response)
- def testPost_TableWithARevParamOnly(self):
+ def testPost_TableWithRevParamEndRevAlsoStartRev(self):
keys = self._AddTableConfigDataStore('BestTable', True)
self._AddRows(keys)
- response = self.testapp.post('/speed_releasing/BestTable?revA=345000')
- self.assertIn('"revisions": [352221, 345000]', response)
+ response = self.testapp.post('/speed_releasing/BestTable?revA=433400')
+ self.assertIn('"revisions": [445288, 433400]', response)
+ self.assertIn('"milestones": [56, 57]', response)
- def testPost_TableWithBRevParamOnly(self):
+ def testPost_TableWithOneRevParamUniqueEndRev(self):
keys = self._AddTableConfigDataStore('BestTable', True)
self._AddRows(keys)
- response = self.testapp.post('/speed_releasing/BestTable?revB=445388')
- self.assertIn('"revisions": [445388, 4]', response)
+ response = self.testapp.post('/speed_releasing/BestTable?revB=423768')
+ self.assertIn('"revisions": [423768, 416640]', response)
+ self.assertIn('"milestones": [54, 55]', response)
- def testPost_TableWithNoRevParamsOnlyDownStream(self):
+ def testPost_TableWithRevParamMiddleRev(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?revB=444000')
+ self.assertIn('"revisions": [445288, 444000]', response)
+ self.assertIn('"milestones": [56, 57]', response)
+
+ def testPost_TableWithRevParamHighRev(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?revB=50000000')
+ self.assertIn('"revisions": [50000000, 445588]', response)
+ self.assertIn('"milestones": [0, 0]', response)
+
+ def testPost_TableWithRevParamLowRev(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?revB=1')
+ self.assertIn('"revisions": [445588, 1]', response)
+ self.assertIn('"milestones": [0, 0]', response)
+
+ def testPost_TableWithRevsParamTwoMilestones(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?'
+ 'revA=417000&revB=440000')
+ self.assertIn('"revisions": [440000, 417000]', response)
+ # This spans 54 thru 56, but I think 54 - 55 is a reasonable response.
+ # If a user enters revisions over multiple milestones, I'm not sure
+ # what they would expect to see; 54 - 56 doesn't make sense.
+ self.assertIn('"milestones": [54, 55]', response)
+
+ def testPost_TableWithRevsParamHigh(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?'
+ 'revA=50000000&revB=60000000')
+ self.assertIn('"revisions": [60000000, 50000000]', response)
+ self.assertIn('"milestones": [0, 0]', response)
+
+ def testPost_TableWithRevsParamSelfContained(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?'
+ 'revB=420000&revA=421000')
+ self.assertIn('"revisions": [421000, 420000]', response)
+ self.assertIn('"milestones": [54, 55]', response)
+
+ def testPost_TableWithNoRevParamsDownStream(self):
keys = self._AddTableConfigDataStore('BestTable', True, True)
self._AddDownstreamRows(keys)
response = self.testapp.post('/speed_releasing/BestTable')
self.assertIn('"revisions": [1485099999, 1485025126]', response)
self.assertIn('"display_revisions": ["148509-abc", "148502-abc"]', response)
+ self.assertIn('"milestones": [57, 58]', response)
def testPost_TableWithTableNameThatDoesntExist(self):
response = self.testapp.post('/speed_releasing/BestTable')
self.assertIn('Invalid table name.', response)
+
+ def testPost_TableWithMilestoneParam(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?m=56')
+ self.assertIn('"revisions": [445288, 433400]', response)
+ self.assertIn('"milestones": [56, 57]', response)
+
+ def testPost_TableWithNewestMilestoneParam(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?m=57')
+ self.assertIn('"revisions": [445588, 445288]', response)
+ self.assertIn('"milestones": [57, 58]', response)
+
+ def testPost_TableWithHighMilestoneParam(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?m=71')
+ self.assertIn('"error": "No data for that milestone."', response)
+
+ def testPost_TableWithLowMilestoneParam(self):
+ keys = self._AddTableConfigDataStore('BestTable', True)
+ self._AddRows(keys)
+ response = self.testapp.post('/speed_releasing/BestTable?m=7')
+ self.assertIn('"error": "No data for that milestone."', response)
« no previous file with comments | « dashboard/dashboard/speed_releasing.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698