| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2015 The Chromium Authors. All rights reserved. | 2 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Buildbucket integration unit tests""" | 6 """Buildbucket integration unit tests""" |
| 7 | 7 |
| 8 import contextlib | 8 import contextlib |
| 9 import datetime | 9 import datetime |
| 10 import httplib | 10 import httplib |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 self.changes.get_source_stamp.return_value = self.ssid | 115 self.changes.get_source_stamp.return_value = self.ssid |
| 116 | 116 |
| 117 @contextlib.contextmanager | 117 @contextlib.contextmanager |
| 118 def create_integrator(self, buildbot=None, max_lease_count=None, | 118 def create_integrator(self, buildbot=None, max_lease_count=None, |
| 119 build_params_hook=None): | 119 build_params_hook=None): |
| 120 self.buildbucket = fake_buildbucket() | 120 self.buildbucket = fake_buildbucket() |
| 121 self.buildbot = buildbot or fake_buildbot() | 121 self.buildbot = buildbot or fake_buildbot() |
| 122 self.integrator = integration.BuildBucketIntegrator( | 122 self.integrator = integration.BuildBucketIntegrator( |
| 123 self.buckets, max_lease_count=max_lease_count, | 123 self.buckets, max_lease_count=max_lease_count, |
| 124 build_params_hook=build_params_hook, | 124 build_params_hook=build_params_hook, |
| 125 heartbeat_interval=datetime.timedelta(microseconds=1)) | 125 heartbeat_interval=datetime.timedelta(microseconds=1), |
| 126 change_store_factory=lambda bb: self.changes) |
| 126 def log(msg, level=logging.INFO): | 127 def log(msg, level=logging.INFO): |
| 127 logging.log(level, msg) | 128 logging.log(level, msg) |
| 128 self.integrator.log = log | 129 self.integrator.log = log |
| 129 self.integrator.start( | 130 self.integrator.start(self.buildbot, self.buildbucket) |
| 130 self.buildbot, self.buildbucket, | |
| 131 change_store_factory=lambda bb: self.changes) | |
| 132 try: | 131 try: |
| 133 yield | 132 yield |
| 134 finally: | 133 finally: |
| 135 self.integrator.stop() | 134 self.integrator.stop() |
| 136 | 135 |
| 137 def test_no_builds(self): | 136 def test_no_builds(self): |
| 138 with self.create_integrator(): | 137 with self.create_integrator(): |
| 139 self.buildbucket.api.peek.return_value = {'builds': []} | 138 self.buildbucket.api.peek.return_value = {'builds': []} |
| 140 run_deferred(self.integrator.poll_builds()) | 139 run_deferred(self.integrator.poll_builds()) |
| 141 self.assertFalse(self.buildbot.add_build_request.called) | 140 self.assertFalse(self.buildbot.add_build_request.called) |
| (...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 619 self.assertFalse(build.id in self.integrator._leases) | 618 self.assertFalse(build.id in self.integrator._leases) |
| 620 self.assertFalse(self.buildbucket.api.fail.called) | 619 self.assertFalse(self.buildbucket.api.fail.called) |
| 621 | 620 |
| 622 | 621 |
| 623 if __name__ == '__main__': | 622 if __name__ == '__main__': |
| 624 logging.basicConfig( | 623 logging.basicConfig( |
| 625 level=(logging.DEBUG if '-v' in sys.argv else logging.FATAL)) | 624 level=(logging.DEBUG if '-v' in sys.argv else logging.FATAL)) |
| 626 if '-v' in sys.argv: | 625 if '-v' in sys.argv: |
| 627 unittest.TestCase.maxDiff = None | 626 unittest.TestCase.maxDiff = None |
| 628 unittest.main() | 627 unittest.main() |
| OLD | NEW |