OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 """ | 5 """ |
6 A test facility to assert call sequences while mocking their behavior. | 6 A test facility to assert call sequences while mocking their behavior. |
7 """ | 7 """ |
8 | 8 |
| 9 import os |
9 import sys | 10 import sys |
10 import unittest | 11 import unittest |
11 | 12 |
12 from devil import devil_env | 13 from pylib import constants |
13 | 14 |
14 sys.path.append(devil_env.config.LocalPath('pymock')) | 15 sys.path.append(os.path.join( |
| 16 constants.DIR_SOURCE_ROOT, 'third_party', 'pymock')) |
15 import mock # pylint: disable=F0401 | 17 import mock # pylint: disable=F0401 |
16 | 18 |
17 | 19 |
18 class TestCase(unittest.TestCase): | 20 class TestCase(unittest.TestCase): |
19 """Adds assertCalls to TestCase objects.""" | 21 """Adds assertCalls to TestCase objects.""" |
20 class _AssertCalls(object): | 22 class _AssertCalls(object): |
21 def __init__(self, test_case, expected_calls, watched): | 23 def __init__(self, test_case, expected_calls, watched): |
22 def call_action(pair): | 24 def call_action(pair): |
23 if isinstance(pair, type(mock.call)): | 25 if isinstance(pair, type(mock.call)): |
24 return (pair, None) | 26 return (pair, None) |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 Raises: | 173 Raises: |
172 AssertionError if the watched targets do not receive the exact sequence | 174 AssertionError if the watched targets do not receive the exact sequence |
173 of calls specified. Missing calls, extra calls, and calls with | 175 of calls specified. Missing calls, extra calls, and calls with |
174 mismatching arguments, all cause the assertion to fail. | 176 mismatching arguments, all cause the assertion to fail. |
175 """ | 177 """ |
176 return self._AssertCalls(self, calls, self._watched) | 178 return self._AssertCalls(self, calls, self._watched) |
177 | 179 |
178 def assertCall(self, call, action=None): | 180 def assertCall(self, call, action=None): |
179 return self.assertCalls((call, action)) | 181 return self.assertCalls((call, action)) |
180 | 182 |
OLD | NEW |