| OLD | NEW |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from datetime import datetime | 5 from datetime import datetime |
| 6 | 6 |
| 7 import unittest | 7 import unittest |
| 8 | 8 |
| 9 from model import analysis_status | 9 from model import analysis_status |
| 10 from model.flake.flake_analysis_request import BuildStep | 10 from model.flake.flake_analysis_request import BuildStep |
| 11 from model.flake.flake_analysis_request import FlakeAnalysisRequest | 11 from model.flake.flake_analysis_request import FlakeAnalysisRequest |
| 12 | 12 |
| 13 | 13 |
| 14 class FlakeAnalysisRequestTest(unittest.TestCase): | 14 class FlakeAnalysisRequestTest(unittest.TestCase): |
| 15 | 15 |
| 16 def testStripMasterPrefix(self): | 16 def testStripMasterPrefix(self): |
| 17 cases = { | 17 cases = { |
| 18 'master.tryserver.chromium.linux': 'tryserver.chromium.linux', | 18 'master.tryserver.chromium.linux': 'tryserver.chromium.linux', |
| 19 'chromium.linux': 'chromium.linux', | 19 'chromium.linux': 'chromium.linux', |
| 20 } | 20 } |
| 21 for original_name, expected_name in cases.iteritems(): | 21 for original_name, expected_name in cases.iteritems(): |
| 22 self.assertEqual(expected_name, | 22 self.assertEqual(expected_name, |
| 23 BuildStep._StripMasterPrefix(original_name)) | 23 BuildStep._StripMasterPrefix(original_name)) |
| 24 | 24 |
| 25 def testBuildStapHasMatchingWaterfallStep(self): |
| 26 build_step = BuildStep.Create('m', 'b', 0, 's', datetime.utcnow()) |
| 27 self.assertFalse(build_step.has_matching_waterfall_step) |
| 28 build_step.wf_master_name = 'm' |
| 29 build_step.wf_builder_name = 'b' |
| 30 build_step.wf_build_number = 0 |
| 31 build_step.wf_step_name = 's' |
| 32 self.assertTrue(build_step.has_matching_waterfall_step) |
| 33 |
| 25 def testAddBuildStep(self): | 34 def testAddBuildStep(self): |
| 26 t1 = datetime(2016, 10, 1, 0, 0, 0) | 35 t1 = datetime(2016, 10, 1, 0, 0, 0) |
| 27 t2 = datetime(2016, 10, 2, 0, 0, 0) | 36 t2 = datetime(2016, 10, 2, 0, 0, 0) |
| 28 t3 = datetime(2016, 10, 2, 1, 0, 0) | 37 t3 = datetime(2016, 10, 2, 1, 0, 0) |
| 29 t4 = datetime(2016, 10, 2, 0, 30, 0) | 38 t4 = datetime(2016, 10, 2, 0, 30, 0) |
| 30 request = FlakeAnalysisRequest.Create('flaky_test', False, 123) | 39 request = FlakeAnalysisRequest.Create('flaky_test', False, 123) |
| 31 self.assertTrue(request.AddBuildStep('m', 'b1', 1, 's', t1)) | 40 self.assertTrue(request.AddBuildStep('m', 'b1', 1, 's', t1)) |
| 32 self.assertTrue(request.AddBuildStep('m', 'b2', 10, 's', t2)) | 41 self.assertTrue(request.AddBuildStep('m', 'b2', 10, 's', t2)) |
| 33 self.assertFalse(request.AddBuildStep('m', 'b2', 11, 's', t3)) | 42 self.assertFalse(request.AddBuildStep('m', 'b2', 11, 's', t3)) |
| 34 self.assertTrue(request.AddBuildStep('m', 'b2', 9, 's', t4)) | 43 self.assertTrue(request.AddBuildStep('m', 'b2', 9, 's', t4)) |
| 35 self.assertEqual(2, len(request.build_steps), request.build_steps) | 44 self.assertEqual(2, len(request.build_steps), request.build_steps) |
| 36 self.assertEqual(BuildStep.Create('m', 'b1', 1, 's', t1), | 45 self.assertEqual(BuildStep.Create('m', 'b1', 1, 's', t1), |
| 37 request.build_steps[0]) | 46 request.build_steps[0]) |
| 38 self.assertEqual(BuildStep.Create('m', 'b2', 9, 's', t4), | 47 self.assertEqual(BuildStep.Create('m', 'b2', 9, 's', t4), |
| 39 request.build_steps[1]) | 48 request.build_steps[1]) |
| OLD | NEW |