| OLD | NEW | 
|---|
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 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 testing_utils import testing | 5 from model.test import configured_test_case | 
| 6 |  | 
| 7 from model.wf_config import FinditConfig |  | 
| 8 from waterfall import waterfall_config | 6 from waterfall import waterfall_config | 
| 9 | 7 | 
| 10 | 8 | 
| 11 class MastersTest(testing.AppengineTestCase): | 9 class MastersTest(configured_test_case.ConfiguredTestCase): | 
| 12 |  | 
| 13   def setUp(self): |  | 
| 14     super(MastersTest, self).setUp() |  | 
| 15     self.mock_current_user(user_email='test@chromium.org', is_admin=True) |  | 
| 16 |  | 
| 17     config_data = { |  | 
| 18         'steps_for_masters_rules': { |  | 
| 19             'supported_masters': { |  | 
| 20                 'master1': { |  | 
| 21                     # supported_steps override global. |  | 
| 22                     'supported_steps': ['step6'], |  | 
| 23                     'unsupported_steps': ['step1', 'step2', 'step3'], |  | 
| 24                 }, |  | 
| 25                 'master2': { |  | 
| 26                     # Only supports step4 and step5 regardless of global. |  | 
| 27                     'supported_steps': ['step4', 'step5'], |  | 
| 28                     'check_global': False |  | 
| 29                 }, |  | 
| 30                 'master3': { |  | 
| 31                     # Supports everything not blacklisted in global. |  | 
| 32                 }, |  | 
| 33             }, |  | 
| 34             'global': { |  | 
| 35                 # Blacklists all listed steps for all masters unless overridden. |  | 
| 36                 'unsupported_steps': ['step6', 'step7'], |  | 
| 37             } |  | 
| 38         }, |  | 
| 39         'builders_to_trybots': { |  | 
| 40             'master1': { |  | 
| 41                 'builder1': { |  | 
| 42                     'mastername': 'tryserver1', |  | 
| 43                     'buildername': 'trybot1', |  | 
| 44                     'strict_regex': True, |  | 
| 45                 } |  | 
| 46             } |  | 
| 47         }, |  | 
| 48         'try_job_settings': { |  | 
| 49             'server_query_interval_seconds': 60, |  | 
| 50             'job_timeout_hours': 5, |  | 
| 51             'allowed_response_error_times': 1 |  | 
| 52         }, |  | 
| 53         'swarming_settings': { |  | 
| 54             'server_host': 'chromium-swarm.appspot.com', |  | 
| 55             'default_request_priority': 150, |  | 
| 56             'request_expiration_hours': 20, |  | 
| 57             'server_query_interval_seconds': 60, |  | 
| 58             'task_timeout_hours': 23, |  | 
| 59             'isolated_server': 'https://isolateserver.appspot.com', |  | 
| 60             'isolated_storage_url': 'isolateserver.storage.googleapis.com', |  | 
| 61             'iterations_to_rerun': 10 |  | 
| 62         } |  | 
| 63     } |  | 
| 64 |  | 
| 65     FinditConfig.Get().Update(**config_data) |  | 
| 66 | 10 | 
| 67   def testConvertOldMastersFormatToNew(self): | 11   def testConvertOldMastersFormatToNew(self): | 
| 68     self.assertEqual( | 12     self.assertEqual( | 
| 69         { | 13         { | 
| 70             'supported_masters': { | 14             'supported_masters': { | 
| 71                 'master1': { | 15                 'master1': { | 
| 72                     'unsupported_steps': ['1', '2'] | 16                     'unsupported_steps': ['1', '2'] | 
| 73                 }, | 17                 }, | 
| 74                 'master2': {} | 18                 'master2': {} | 
| 75             }, | 19             }, | 
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 127         waterfall_config.GetTrybotForWaterfallBuilder('master1', 'builder1')) | 71         waterfall_config.GetTrybotForWaterfallBuilder('master1', 'builder1')) | 
| 128     self.assertEqual( | 72     self.assertEqual( | 
| 129         (None, None), | 73         (None, None), | 
| 130         waterfall_config.GetTrybotForWaterfallBuilder('master2', 'builder2')) | 74         waterfall_config.GetTrybotForWaterfallBuilder('master2', 'builder2')) | 
| 131 | 75 | 
| 132   def testGetTryJobSettings(self): | 76   def testGetTryJobSettings(self): | 
| 133     self.assertEqual( | 77     self.assertEqual( | 
| 134         { | 78         { | 
| 135             'server_query_interval_seconds': 60, | 79             'server_query_interval_seconds': 60, | 
| 136             'job_timeout_hours': 5, | 80             'job_timeout_hours': 5, | 
| 137             'allowed_response_error_times': 1 | 81             'allowed_response_error_times': 5 | 
| 138         }, | 82         }, | 
| 139         waterfall_config.GetTryJobSettings()) | 83         waterfall_config.GetTryJobSettings()) | 
| 140 | 84 | 
| 141   def testGetSwarmingSettings(self): | 85   def testGetSwarmingSettings(self): | 
| 142     self.assertEqual( | 86     self.assertEqual( | 
| 143         { | 87         { | 
| 144             'server_host': 'chromium-swarm.appspot.com', | 88             'server_host': 'chromium-swarm.appspot.com', | 
| 145             'default_request_priority': 150, | 89             'default_request_priority': 150, | 
| 146             'request_expiration_hours': 20, | 90             'request_expiration_hours': 20, | 
| 147             'server_query_interval_seconds': 60, | 91             'server_query_interval_seconds': 60, | 
| 148             'task_timeout_hours': 23, | 92             'task_timeout_hours': 23, | 
| 149             'isolated_server': 'https://isolateserver.appspot.com', | 93             'isolated_server': 'https://isolateserver.appspot.com', | 
| 150             'isolated_storage_url': 'isolateserver.storage.googleapis.com', | 94             'isolated_storage_url': 'isolateserver.storage.googleapis.com', | 
| 151             'iterations_to_rerun': 10 | 95             'iterations_to_rerun': 10 | 
| 152         }, | 96         }, | 
| 153         waterfall_config.GetSwarmingSettings()) | 97         waterfall_config.GetSwarmingSettings()) | 
| 154 | 98 | 
| 155   def testEnableStrictRegexForCompileLinkFailures(self): | 99   def testEnableStrictRegexForCompileLinkFailures(self): | 
| 156     self.assertFalse( | 100     self.assertFalse( | 
| 157         waterfall_config.EnableStrictRegexForCompileLinkFailures('m', 'b')) | 101         waterfall_config.EnableStrictRegexForCompileLinkFailures('m', 'b')) | 
| 158     self.assertTrue( | 102     self.assertTrue( | 
| 159         waterfall_config.EnableStrictRegexForCompileLinkFailures( | 103         waterfall_config.EnableStrictRegexForCompileLinkFailures( | 
| 160             'master1', 'builder1')) | 104             'master1', 'builder1')) | 
| OLD | NEW | 
|---|