OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2013 The Chromium Authors. All rights reserved. | 2 # Copyright 2013 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 from copy import deepcopy |
6 import unittest | 7 import unittest |
7 | 8 |
8 from caching_file_system import CachingFileSystem | 9 from caching_file_system import CachingFileSystem |
9 from file_system import FileNotFoundError | 10 from file_system import FileNotFoundError |
10 from host_file_system_creator import HostFileSystemCreator | 11 from host_file_system_provider import HostFileSystemProvider |
11 from object_store_creator import ObjectStoreCreator | 12 from object_store_creator import ObjectStoreCreator |
12 from offline_file_system import OfflineFileSystem | 13 from offline_file_system import OfflineFileSystem |
13 from test_data.canned_data import CANNED_API_FILE_SYSTEM_DATA | 14 from test_data.canned_data import CANNED_API_FILE_SYSTEM_DATA |
14 from test_file_system import TestFileSystem | 15 from test_file_system import TestFileSystem |
15 | 16 |
16 def ConstructorForTest(branch, revision=None): | 17 class HostFileSystemProviderTest(unittest.TestCase): |
17 return TestFileSystem(CANNED_API_FILE_SYSTEM_DATA[str(branch)]) | |
18 | |
19 class HostFileSystemCreatorTest(unittest.TestCase): | |
20 def setUp(self): | 18 def setUp(self): |
21 self._idle_path = 'api/idle.json' | 19 self._idle_path = 'api/idle.json' |
| 20 self._canned_data = deepcopy(CANNED_API_FILE_SYSTEM_DATA) |
| 21 |
| 22 def _constructor_for_test(self, branch, **optargs): |
| 23 return TestFileSystem(self._canned_data[branch]) |
22 | 24 |
23 def testWithCaching(self): | 25 def testWithCaching(self): |
24 creator = HostFileSystemCreator(ObjectStoreCreator.ForTest(), | 26 creator = HostFileSystemProvider( |
25 constructor_for_test=ConstructorForTest) | 27 ObjectStoreCreator.ForTest(), |
| 28 constructor_for_test=self._constructor_for_test) |
26 | 29 |
27 fs = creator.Create('trunk') | 30 fs = creator.GetBranch('1500') |
28 firstRead = fs.ReadSingle(self._idle_path) | 31 first_read = fs.ReadSingle(self._idle_path) |
29 CANNED_API_FILE_SYSTEM_DATA['trunk']['api']['idle.json'] = 'blah blah blah' | 32 self._canned_data['1500']['api']['idle.json'] = 'blah blah blah' |
30 secondRead = fs.ReadSingle(self._idle_path) | 33 second_read = fs.ReadSingle(self._idle_path) |
31 | 34 |
32 self.assertEqual(firstRead, secondRead) | 35 self.assertEqual(first_read, second_read) |
33 | 36 |
34 def testWithOffline(self): | 37 def testWithOffline(self): |
35 creator = HostFileSystemCreator(ObjectStoreCreator.ForTest(), | 38 creator = HostFileSystemProvider( |
36 offline=True, | 39 ObjectStoreCreator.ForTest(), |
37 constructor_for_test=ConstructorForTest) | 40 offline=True, |
| 41 constructor_for_test=self._constructor_for_test) |
38 | 42 |
39 fs = creator.Create('trunk') | 43 fs = creator.GetBranch('1500') |
40 # Offline file system should raise a FileNotFoundError if read is attempted. | 44 # Offline file system should raise a FileNotFoundError if read is attempted. |
41 self.assertRaises(FileNotFoundError, fs.ReadSingle, self._idle_path) | 45 self.assertRaises(FileNotFoundError, fs.ReadSingle, self._idle_path) |
42 | 46 |
43 if __name__ == '__main__': | 47 if __name__ == '__main__': |
44 unittest.main() | 48 unittest.main() |
OLD | NEW |