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 import json | 5 import json |
6 | 6 |
7 import os | 7 import os |
8 import sys | 8 import sys |
9 import unittest | 9 import unittest |
10 | 10 |
11 from availability_finder import AvailabilityFinder | 11 from availability_finder import AvailabilityFinder |
12 from api_schema_graph import LookupResult | 12 from api_schema_graph import LookupResult |
13 from branch_utility import BranchUtility | 13 from branch_utility import BranchUtility |
14 from compiled_file_system import CompiledFileSystem | 14 from compiled_file_system import CompiledFileSystem |
15 from fake_url_fetcher import FakeUrlFetcher | 15 from fake_url_fetcher import FakeUrlFetcher |
16 from host_file_system_iterator import HostFileSystemIterator | 16 from host_file_system_iterator import HostFileSystemIterator |
17 from object_store_creator import ObjectStoreCreator | 17 from object_store_creator import ObjectStoreCreator |
18 from test_file_system import TestFileSystem | 18 from test_file_system import TestFileSystem |
19 from test_data.canned_data import (CANNED_API_FILE_SYSTEM_DATA, CANNED_BRANCHES) | 19 from test_data.canned_data import (CANNED_API_FILE_SYSTEM_DATA, CANNED_BRANCHES) |
20 from test_data.object_level_availability.tabs import TABS_SCHEMA_BRANCHES | 20 from test_data.object_level_availability.tabs import TABS_SCHEMA_BRANCHES |
21 | 21 |
22 | 22 |
23 class FakeHostFileSystemCreator(object): | 23 class FakeHostFileSystemProvider(object): |
24 | 24 |
25 def __init__(self, file_system_data): | 25 def __init__(self, file_system_data): |
26 self._file_system_data = file_system_data | 26 self._file_system_data = file_system_data |
27 | 27 |
28 def Create(self, branch): | 28 def GetTrunk(self): |
| 29 return self.GetBranch('trunk') |
| 30 |
| 31 def GetBranch(self, branch): |
29 return TestFileSystem(self._file_system_data[str(branch)]) | 32 return TestFileSystem(self._file_system_data[str(branch)]) |
30 | 33 |
31 | 34 |
32 class AvailabilityFinderTest(unittest.TestCase): | 35 class AvailabilityFinderTest(unittest.TestCase): |
33 | 36 |
34 def setUp(self): | 37 def setUp(self): |
35 self._branch_utility = BranchUtility( | 38 self._branch_utility = BranchUtility( |
36 os.path.join('branch_utility', 'first.json'), | 39 os.path.join('branch_utility', 'first.json'), |
37 os.path.join('branch_utility', 'second.json'), | 40 os.path.join('branch_utility', 'second.json'), |
38 FakeUrlFetcher(os.path.join(sys.path[0], 'test_data')), | 41 FakeUrlFetcher(os.path.join(sys.path[0], 'test_data')), |
39 ObjectStoreCreator.ForTest()) | 42 ObjectStoreCreator.ForTest()) |
40 | 43 |
41 def create_availability_finder(file_system_data): | 44 def create_availability_finder(file_system_data): |
42 fake_host_fs_creator = FakeHostFileSystemCreator(file_system_data) | 45 fake_host_fs_creator = FakeHostFileSystemProvider(file_system_data) |
43 fake_host_fs = fake_host_fs_creator.Create('trunk') | 46 return AvailabilityFinder(HostFileSystemIterator(fake_host_fs_creator, |
44 return AvailabilityFinder(HostFileSystemIterator( | 47 self._branch_utility), |
45 fake_host_fs_creator, | |
46 fake_host_fs, | |
47 self._branch_utility), | |
48 ObjectStoreCreator.ForTest(), | 48 ObjectStoreCreator.ForTest(), |
49 self._branch_utility, | 49 self._branch_utility, |
50 fake_host_fs) | 50 fake_host_fs_creator.GetTrunk()) |
51 | 51 |
52 self._avail_finder = create_availability_finder(CANNED_API_FILE_SYSTEM_DATA) | 52 self._avail_finder = create_availability_finder(CANNED_API_FILE_SYSTEM_DATA) |
53 self._node_avail_finder = create_availability_finder(TABS_SCHEMA_BRANCHES) | 53 self._node_avail_finder = create_availability_finder(TABS_SCHEMA_BRANCHES) |
54 | 54 |
55 def testGetApiAvailability(self): | 55 def testGetApiAvailability(self): |
56 # Key: Using 'channel' (i.e. 'beta') to represent an availability listing | 56 # Key: Using 'channel' (i.e. 'beta') to represent an availability listing |
57 # for an API in a _features.json file, and using |channel| (i.e. |dev|) to | 57 # for an API in a _features.json file, and using |channel| (i.e. |dev|) to |
58 # represent the development channel, or phase of development, where an API's | 58 # represent the development channel, or phase of development, where an API's |
59 # availability is being checked. | 59 # availability is being checked. |
60 | 60 |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 self.assertEqual(LookupResult(False, None), | 284 self.assertEqual(LookupResult(False, None), |
285 availability_graph.Lookup('functions')) | 285 availability_graph.Lookup('functions')) |
286 self.assertEqual(LookupResult(False, None), | 286 self.assertEqual(LookupResult(False, None), |
287 availability_graph.Lookup('events', 'onActivated', | 287 availability_graph.Lookup('events', 'onActivated', |
288 'parameters', 'activeInfo', | 288 'parameters', 'activeInfo', |
289 'tabId')) | 289 'tabId')) |
290 | 290 |
291 | 291 |
292 if __name__ == '__main__': | 292 if __name__ == '__main__': |
293 unittest.main() | 293 unittest.main() |
OLD | NEW |