Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(254)

Side by Side Diff: chrome/common/extensions/docs/server2/availability_finder_test.py

Issue 255473003: docserver: Adds "API scheduled for Chrome version..." text to dev and beta APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moves "scheduled for..." text into intro_table.html Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 os 5 import os
6 import sys 6 import sys
7 import unittest 7 import unittest
8 8
9 import api_schema_graph 9 import api_schema_graph
10 from availability_finder import AvailabilityFinder 10 from availability_finder import AvailabilityFinder, AvailabilityInfo
11 from branch_utility import BranchUtility, ChannelInfo 11 from branch_utility import BranchUtility, ChannelInfo
12 from compiled_file_system import CompiledFileSystem 12 from compiled_file_system import CompiledFileSystem
13 from fake_host_file_system_provider import FakeHostFileSystemProvider 13 from fake_host_file_system_provider import FakeHostFileSystemProvider
14 from fake_url_fetcher import FakeUrlFetcher 14 from fake_url_fetcher import FakeUrlFetcher
15 from host_file_system_iterator import HostFileSystemIterator 15 from host_file_system_iterator import HostFileSystemIterator
16 from mock_function import MockFunction 16 from mock_function import MockFunction
17 from object_store_creator import ObjectStoreCreator 17 from object_store_creator import ObjectStoreCreator
18 from test_data.canned_data import (CANNED_API_FILE_SYSTEM_DATA, CANNED_BRANCHES) 18 from test_data.canned_data import (CANNED_API_FILE_SYSTEM_DATA, CANNED_BRANCHES)
19 from test_data.object_level_availability.tabs import TABS_SCHEMA_BRANCHES 19 from test_data.object_level_availability.tabs import TABS_SCHEMA_BRANCHES
20 from test_util import Server2Path 20 from test_util import Server2Path
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 api_schema_graph.APISchemaGraph = original_constructor 90 api_schema_graph.APISchemaGraph = original_constructor
91 91
92 def testGetApiAvailability(self): 92 def testGetApiAvailability(self):
93 # Key: Using 'channel' (i.e. 'beta') to represent an availability listing 93 # Key: Using 'channel' (i.e. 'beta') to represent an availability listing
94 # for an API in a _features.json file, and using |channel| (i.e. |dev|) to 94 # for an API in a _features.json file, and using |channel| (i.e. |dev|) to
95 # represent the development channel, or phase of development, where an API's 95 # represent the development channel, or phase of development, where an API's
96 # availability is being checked. 96 # availability is being checked.
97 97
98 # Testing APIs with predetermined availability. 98 # Testing APIs with predetermined availability.
99 self.assertEqual( 99 self.assertEqual(
100 ChannelInfo('trunk', 'trunk', 'trunk'), 100 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
101 self._avail_finder.GetApiAvailability('jsonTrunkAPI')) 101 self._avail_finder.GetApiAvailability('jsonTrunkAPI'))
102 self.assertEqual( 102 self.assertEqual(
103 ChannelInfo('dev', CANNED_BRANCHES[28], 28), 103 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
104 self._avail_finder.GetApiAvailability('jsonDevAPI')) 104 self._avail_finder.GetApiAvailability('jsonDevAPI'))
105 self.assertEqual( 105 self.assertEqual(
106 ChannelInfo('beta', CANNED_BRANCHES[27], 27), 106 AvailabilityInfo(ChannelInfo('beta', CANNED_BRANCHES[27], 27)),
107 self._avail_finder.GetApiAvailability('jsonBetaAPI')) 107 self._avail_finder.GetApiAvailability('jsonBetaAPI'))
108 self.assertEqual( 108 self.assertEqual(
109 ChannelInfo('stable', CANNED_BRANCHES[20], 20), 109 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[20], 20)),
110 self._avail_finder.GetApiAvailability('jsonStableAPI')) 110 self._avail_finder.GetApiAvailability('jsonStableAPI'))
111 111
112 # Testing a whitelisted API. 112 # Testing a whitelisted API.
113 self.assertEquals( 113 self.assertEquals(
114 ChannelInfo('beta', CANNED_BRANCHES[27], 27), 114 AvailabilityInfo(ChannelInfo('beta', CANNED_BRANCHES[27], 27)),
115 self._avail_finder.GetApiAvailability('declarativeWebRequest')) 115 self._avail_finder.GetApiAvailability('declarativeWebRequest'))
116 116
117 # Testing APIs found only by checking file system existence. 117 # Testing APIs found only by checking file system existence.
118 self.assertEquals( 118 self.assertEquals(
119 ChannelInfo('stable', CANNED_BRANCHES[23], 23), 119 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[23], 23)),
120 self._avail_finder.GetApiAvailability('windows')) 120 self._avail_finder.GetApiAvailability('windows'))
121 self.assertEquals( 121 self.assertEquals(
122 ChannelInfo('stable', CANNED_BRANCHES[18], 18), 122 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[18], 18)),
123 self._avail_finder.GetApiAvailability('tabs')) 123 self._avail_finder.GetApiAvailability('tabs'))
124 self.assertEquals( 124 self.assertEquals(
125 ChannelInfo('stable', CANNED_BRANCHES[18], 18), 125 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[18], 18)),
126 self._avail_finder.GetApiAvailability('input.ime')) 126 self._avail_finder.GetApiAvailability('input.ime'))
127 127
128 # Testing API channel existence for _api_features.json. 128 # Testing API channel existence for _api_features.json.
129 # Listed as 'dev' on |beta|, 'dev' on |dev|. 129 # Listed as 'dev' on |beta|, 'dev' on |dev|.
130 self.assertEquals( 130 self.assertEquals(
131 ChannelInfo('dev', CANNED_BRANCHES[28], 28), 131 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
132 self._avail_finder.GetApiAvailability('systemInfo.stuff')) 132 self._avail_finder.GetApiAvailability('systemInfo.stuff'))
133 # Listed as 'stable' on |beta|. 133 # Listed as 'stable' on |beta|.
134 self.assertEquals( 134 self.assertEquals(
135 ChannelInfo('beta', CANNED_BRANCHES[27], 27), 135 AvailabilityInfo(ChannelInfo('beta', CANNED_BRANCHES[27], 27), 28),
136 self._avail_finder.GetApiAvailability('systemInfo.cpu')) 136 self._avail_finder.GetApiAvailability('systemInfo.cpu'))
137 137
138 # Testing API channel existence for _manifest_features.json. 138 # Testing API channel existence for _manifest_features.json.
139 # Listed as 'trunk' on all channels. 139 # Listed as 'trunk' on all channels.
140 self.assertEquals( 140 self.assertEquals(
141 ChannelInfo('trunk', 'trunk', 'trunk'), 141 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
142 self._avail_finder.GetApiAvailability('sync')) 142 self._avail_finder.GetApiAvailability('sync'))
143 # No records of API until |trunk|. 143 # No records of API until |trunk|.
144 self.assertEquals( 144 self.assertEquals(
145 ChannelInfo('trunk', 'trunk', 'trunk'), 145 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
146 self._avail_finder.GetApiAvailability('history')) 146 self._avail_finder.GetApiAvailability('history'))
147 # Listed as 'dev' on |dev|. 147 # Listed as 'dev' on |dev|.
148 self.assertEquals( 148 self.assertEquals(
149 ChannelInfo('dev', CANNED_BRANCHES[28], 28), 149 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
150 self._avail_finder.GetApiAvailability('storage')) 150 self._avail_finder.GetApiAvailability('storage'))
151 # Stable in _manifest_features and into pre-18 versions. 151 # Stable in _manifest_features and into pre-18 versions.
152 self.assertEquals( 152 self.assertEquals(
153 ChannelInfo('stable', CANNED_BRANCHES[8], 8), 153 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[8], 8)),
154 self._avail_finder.GetApiAvailability('pageAction')) 154 self._avail_finder.GetApiAvailability('pageAction'))
155 155
156 # Testing API channel existence for _permission_features.json. 156 # Testing API channel existence for _permission_features.json.
157 # Listed as 'beta' on |trunk|. 157 # Listed as 'beta' on |trunk|.
158 self.assertEquals( 158 self.assertEquals(
159 ChannelInfo('trunk', 'trunk', 'trunk'), 159 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
160 self._avail_finder.GetApiAvailability('falseBetaAPI')) 160 self._avail_finder.GetApiAvailability('falseBetaAPI'))
161 # Listed as 'trunk' on |trunk|. 161 # Listed as 'trunk' on |trunk|.
162 self.assertEquals( 162 self.assertEquals(
163 ChannelInfo('trunk', 'trunk', 'trunk'), 163 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
164 self._avail_finder.GetApiAvailability('trunkAPI')) 164 self._avail_finder.GetApiAvailability('trunkAPI'))
165 # Listed as 'trunk' on all development channels. 165 # Listed as 'trunk' on all development channels.
166 self.assertEquals( 166 self.assertEquals(
167 ChannelInfo('trunk', 'trunk', 'trunk'), 167 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
168 self._avail_finder.GetApiAvailability('declarativeContent')) 168 self._avail_finder.GetApiAvailability('declarativeContent'))
169 # Listed as 'dev' on all development channels. 169 # Listed as 'dev' on all development channels.
170 self.assertEquals( 170 self.assertEquals(
171 ChannelInfo('dev', CANNED_BRANCHES[28], 28), 171 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
172 self._avail_finder.GetApiAvailability('bluetooth')) 172 self._avail_finder.GetApiAvailability('bluetooth'))
173 # Listed as 'dev' on |dev|. 173 # Listed as 'dev' on |dev|.
174 self.assertEquals( 174 self.assertEquals(
175 ChannelInfo('dev', CANNED_BRANCHES[28], 28), 175 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
176 self._avail_finder.GetApiAvailability('cookies')) 176 self._avail_finder.GetApiAvailability('cookies'))
177 # Treated as 'stable' APIs. 177 # Treated as 'stable' APIs.
178 self.assertEquals( 178 self.assertEquals(
179 ChannelInfo('stable', CANNED_BRANCHES[24], 24), 179 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[24], 24)),
180 self._avail_finder.GetApiAvailability('alarms')) 180 self._avail_finder.GetApiAvailability('alarms'))
181 self.assertEquals( 181 self.assertEquals(
182 ChannelInfo('stable', CANNED_BRANCHES[21], 21), 182 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[21], 21)),
183 self._avail_finder.GetApiAvailability('bookmarks')) 183 self._avail_finder.GetApiAvailability('bookmarks'))
184 184
185 # Testing older API existence using extension_api.json. 185 # Testing older API existence using extension_api.json.
186 self.assertEquals( 186 self.assertEquals(
187 ChannelInfo('stable', CANNED_BRANCHES[6], 6), 187 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[6], 6)),
188 self._avail_finder.GetApiAvailability('menus')) 188 self._avail_finder.GetApiAvailability('menus'))
189 self.assertEquals( 189 self.assertEquals(
190 ChannelInfo('stable', CANNED_BRANCHES[5], 5), 190 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[5], 5)),
191 self._avail_finder.GetApiAvailability('idle')) 191 self._avail_finder.GetApiAvailability('idle'))
192 192
193 # Switches between _features.json files across branches. 193 # Switches between _features.json files across branches.
194 # Listed as 'trunk' on all channels, in _api, _permission, or _manifest. 194 # Listed as 'trunk' on all channels, in _api, _permission, or _manifest.
195 self.assertEquals( 195 self.assertEquals(
196 ChannelInfo('trunk', 'trunk', 'trunk'), 196 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
197 self._avail_finder.GetApiAvailability('contextMenus')) 197 self._avail_finder.GetApiAvailability('contextMenus'))
198 # Moves between _permission and _manifest as file system is traversed. 198 # Moves between _permission and _manifest as file system is traversed.
199 self.assertEquals( 199 self.assertEquals(
200 ChannelInfo('stable', CANNED_BRANCHES[23], 23), 200 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[23], 23)),
201 self._avail_finder.GetApiAvailability('systemInfo.display')) 201 self._avail_finder.GetApiAvailability('systemInfo.display'))
202 self.assertEquals( 202 self.assertEquals(
203 ChannelInfo('stable', CANNED_BRANCHES[17], 17), 203 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[17], 17)),
204 self._avail_finder.GetApiAvailability('webRequest')) 204 self._avail_finder.GetApiAvailability('webRequest'))
205 205
206 # Mid-upgrade cases: 206 # Mid-upgrade cases:
207 # Listed as 'dev' on |beta| and 'beta' on |dev|. 207 # Listed as 'dev' on |beta| and 'beta' on |dev|.
208 self.assertEquals( 208 self.assertEquals(
209 ChannelInfo('dev', CANNED_BRANCHES[28], 28), 209 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
210 self._avail_finder.GetApiAvailability('notifications')) 210 self._avail_finder.GetApiAvailability('notifications'))
211 # Listed as 'beta' on |stable|, 'dev' on |beta| ... until |stable| on trunk. 211 # Listed as 'beta' on |stable|, 'dev' on |beta| ... until |stable| on trunk.
212 self.assertEquals( 212 self.assertEquals(
213 ChannelInfo('trunk', 'trunk', 'trunk'), 213 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
214 self._avail_finder.GetApiAvailability('events')) 214 self._avail_finder.GetApiAvailability('events'))
215 215
216 def testGetApiNodeAvailability(self): 216 def testGetApiNodeAvailability(self):
217 # Allow the LookupResult constructions below to take just one line. 217 # Allow the LookupResult constructions below to take just one line.
218 lookup_result = api_schema_graph.LookupResult 218 lookup_result = api_schema_graph.LookupResult
219 availability_graph = self._node_avail_finder.GetApiNodeAvailability('tabs') 219 availability_graph = self._node_avail_finder.GetApiNodeAvailability('tabs')
220 220
221 self.assertEquals( 221 self.assertEquals(
222 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')), 222 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')),
223 availability_graph.Lookup('tabs', 'properties', 223 availability_graph.Lookup('tabs', 'properties',
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 self.assertEqual(lookup_result(False, None), 313 self.assertEqual(lookup_result(False, None),
314 availability_graph.Lookup('functions')) 314 availability_graph.Lookup('functions'))
315 self.assertEqual(lookup_result(False, None), 315 self.assertEqual(lookup_result(False, None),
316 availability_graph.Lookup('events', 'onActivated', 316 availability_graph.Lookup('events', 'onActivated',
317 'parameters', 'activeInfo', 317 'parameters', 'activeInfo',
318 'tabId')) 318 'tabId'))
319 319
320 320
321 if __name__ == '__main__': 321 if __name__ == '__main__':
322 unittest.main() 322 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698