OLD | NEW |
(Empty) | |
| 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 |
| 3 # found in the LICENSE file. |
| 4 |
| 5 """Unit tests for tools/validate_config.py.""" |
| 6 |
| 7 import mock |
| 8 import os |
| 9 import unittest |
| 10 |
| 11 from cq_client import cq_pb2 |
| 12 from cq_client import validate_config |
| 13 |
| 14 |
| 15 TEST_DIR = os.path.dirname(os.path.abspath(__file__)) |
| 16 |
| 17 |
| 18 class TestValidateConfig(unittest.TestCase): |
| 19 def test_is_valid(self): |
| 20 with open(os.path.join(TEST_DIR, 'cq_example.cfg'), 'r') as test_config: |
| 21 self.assertTrue(validate_config.IsValid(test_config.read())) |
| 22 |
| 23 def test_has_field(self): |
| 24 config = cq_pb2.Config() |
| 25 |
| 26 self.assertFalse(validate_config._HasField(config, 'version')) |
| 27 config.version = 1 |
| 28 self.assertTrue(validate_config._HasField(config, 'version')) |
| 29 |
| 30 self.assertFalse(validate_config._HasField( |
| 31 config, 'rietveld.project_bases')) |
| 32 config.rietveld.project_bases.append('foo://bar') |
| 33 self.assertTrue(validate_config._HasField( |
| 34 config, 'rietveld.project_bases')) |
| 35 |
| 36 self.assertFalse(validate_config._HasField( |
| 37 config, 'verifiers.try_job.buckets')) |
| 38 self.assertFalse(validate_config._HasField( |
| 39 config, 'verifiers.try_job.buckets.name')) |
| 40 |
| 41 bucket = config.verifiers.try_job.buckets.add() |
| 42 bucket.name = 'tryserver.chromium.linux' |
| 43 |
| 44 |
| 45 self.assertTrue(validate_config._HasField( |
| 46 config, 'verifiers.try_job.buckets')) |
| 47 self.assertTrue(validate_config._HasField( |
| 48 config, 'verifiers.try_job.buckets.name')) |
| 49 |
| 50 config.verifiers.try_job.buckets.add() |
| 51 self.assertFalse(validate_config._HasField( |
| 52 config, 'verifiers.try_job.buckets.name')) |
OLD | NEW |