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

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

Issue 337373004: Docserver: Replace instances of 'Api' with 'API' (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 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, AvailabilityInfo 10 from availability_finder import AvailabilityFinder, AvailabilityInfo
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 api_schema_graph.APISchemaGraph = mock_constructor 73 api_schema_graph.APISchemaGraph = mock_constructor
74 74
75 try: 75 try:
76 # The test data includes an extra branch where the API does not exist. 76 # The test data includes an extra branch where the API does not exist.
77 num_versions = len(TABS_SCHEMA_BRANCHES) - 1 77 num_versions = len(TABS_SCHEMA_BRANCHES) - 1
78 # We expect an APISchemaGraph to be created only when an API schema file 78 # We expect an APISchemaGraph to be created only when an API schema file
79 # has different stat data from the previous version's schema file. 79 # has different stat data from the previous version's schema file.
80 num_graphs_created = num_versions - len(TABS_UNMODIFIED_VERSIONS) 80 num_graphs_created = num_versions - len(TABS_UNMODIFIED_VERSIONS)
81 81
82 # Run the logic for object-level availability for an API. 82 # Run the logic for object-level availability for an API.
83 self._node_avail_finder.GetApiNodeAvailability('tabs') 83 self._node_avail_finder.GetAPINodeAvailability('tabs')
84 84
85 self.assertTrue(*api_schema_graph.APISchemaGraph.CheckAndReset( 85 self.assertTrue(*api_schema_graph.APISchemaGraph.CheckAndReset(
86 num_graphs_created)) 86 num_graphs_created))
87 finally: 87 finally:
88 # Ensure that the APISchemaGraph constructor is reset to be the original 88 # Ensure that the APISchemaGraph constructor is reset to be the original
89 # constructor. 89 # constructor.
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 AvailabilityInfo(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 AvailabilityInfo(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 AvailabilityInfo(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 AvailabilityInfo(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 AvailabilityInfo(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 AvailabilityInfo(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 AvailabilityInfo(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 AvailabilityInfo(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 AvailabilityInfo(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 AvailabilityInfo( 135 AvailabilityInfo(
136 ChannelInfo('beta', CANNED_BRANCHES[27], 27), 136 ChannelInfo('beta', CANNED_BRANCHES[27], 27),
137 scheduled=28), 137 scheduled=28),
138 self._avail_finder.GetApiAvailability('systemInfo.cpu')) 138 self._avail_finder.GetAPIAvailability('systemInfo.cpu'))
139 139
140 # Testing API channel existence for _manifest_features.json. 140 # Testing API channel existence for _manifest_features.json.
141 # Listed as 'trunk' on all channels. 141 # Listed as 'trunk' on all channels.
142 self.assertEquals( 142 self.assertEquals(
143 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')), 143 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
144 self._avail_finder.GetApiAvailability('sync')) 144 self._avail_finder.GetAPIAvailability('sync'))
145 # No records of API until |trunk|. 145 # No records of API until |trunk|.
146 self.assertEquals( 146 self.assertEquals(
147 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')), 147 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
148 self._avail_finder.GetApiAvailability('history')) 148 self._avail_finder.GetAPIAvailability('history'))
149 # Listed as 'dev' on |dev|. 149 # Listed as 'dev' on |dev|.
150 self.assertEquals( 150 self.assertEquals(
151 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)), 151 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
152 self._avail_finder.GetApiAvailability('storage')) 152 self._avail_finder.GetAPIAvailability('storage'))
153 # Stable in _manifest_features and into pre-18 versions. 153 # Stable in _manifest_features and into pre-18 versions.
154 self.assertEquals( 154 self.assertEquals(
155 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[8], 8)), 155 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[8], 8)),
156 self._avail_finder.GetApiAvailability('pageAction')) 156 self._avail_finder.GetAPIAvailability('pageAction'))
157 157
158 # Testing API channel existence for _permission_features.json. 158 # Testing API channel existence for _permission_features.json.
159 # Listed as 'beta' on |trunk|. 159 # Listed as 'beta' on |trunk|.
160 self.assertEquals( 160 self.assertEquals(
161 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')), 161 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
162 self._avail_finder.GetApiAvailability('falseBetaAPI')) 162 self._avail_finder.GetAPIAvailability('falseBetaAPI'))
163 # Listed as 'trunk' on |trunk|. 163 # Listed as 'trunk' on |trunk|.
164 self.assertEquals( 164 self.assertEquals(
165 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')), 165 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
166 self._avail_finder.GetApiAvailability('trunkAPI')) 166 self._avail_finder.GetAPIAvailability('trunkAPI'))
167 # Listed as 'trunk' on all development channels. 167 # Listed as 'trunk' on all development channels.
168 self.assertEquals( 168 self.assertEquals(
169 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')), 169 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
170 self._avail_finder.GetApiAvailability('declarativeContent')) 170 self._avail_finder.GetAPIAvailability('declarativeContent'))
171 # Listed as 'dev' on all development channels. 171 # Listed as 'dev' on all development channels.
172 self.assertEquals( 172 self.assertEquals(
173 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)), 173 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
174 self._avail_finder.GetApiAvailability('bluetooth')) 174 self._avail_finder.GetAPIAvailability('bluetooth'))
175 # Listed as 'dev' on |dev|. 175 # Listed as 'dev' on |dev|.
176 self.assertEquals( 176 self.assertEquals(
177 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)), 177 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
178 self._avail_finder.GetApiAvailability('cookies')) 178 self._avail_finder.GetAPIAvailability('cookies'))
179 # Treated as 'stable' APIs. 179 # Treated as 'stable' APIs.
180 self.assertEquals( 180 self.assertEquals(
181 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[24], 24)), 181 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[24], 24)),
182 self._avail_finder.GetApiAvailability('alarms')) 182 self._avail_finder.GetAPIAvailability('alarms'))
183 self.assertEquals( 183 self.assertEquals(
184 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[21], 21)), 184 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[21], 21)),
185 self._avail_finder.GetApiAvailability('bookmarks')) 185 self._avail_finder.GetAPIAvailability('bookmarks'))
186 186
187 # Testing older API existence using extension_api.json. 187 # Testing older API existence using extension_api.json.
188 self.assertEquals( 188 self.assertEquals(
189 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[6], 6)), 189 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[6], 6)),
190 self._avail_finder.GetApiAvailability('menus')) 190 self._avail_finder.GetAPIAvailability('menus'))
191 self.assertEquals( 191 self.assertEquals(
192 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[5], 5)), 192 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[5], 5)),
193 self._avail_finder.GetApiAvailability('idle')) 193 self._avail_finder.GetAPIAvailability('idle'))
194 194
195 # Switches between _features.json files across branches. 195 # Switches between _features.json files across branches.
196 # Listed as 'trunk' on all channels, in _api, _permission, or _manifest. 196 # Listed as 'trunk' on all channels, in _api, _permission, or _manifest.
197 self.assertEquals( 197 self.assertEquals(
198 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')), 198 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
199 self._avail_finder.GetApiAvailability('contextMenus')) 199 self._avail_finder.GetAPIAvailability('contextMenus'))
200 # Moves between _permission and _manifest as file system is traversed. 200 # Moves between _permission and _manifest as file system is traversed.
201 self.assertEquals( 201 self.assertEquals(
202 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[23], 23)), 202 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[23], 23)),
203 self._avail_finder.GetApiAvailability('systemInfo.display')) 203 self._avail_finder.GetAPIAvailability('systemInfo.display'))
204 self.assertEquals( 204 self.assertEquals(
205 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[17], 17)), 205 AvailabilityInfo(ChannelInfo('stable', CANNED_BRANCHES[17], 17)),
206 self._avail_finder.GetApiAvailability('webRequest')) 206 self._avail_finder.GetAPIAvailability('webRequest'))
207 207
208 # Mid-upgrade cases: 208 # Mid-upgrade cases:
209 # Listed as 'dev' on |beta| and 'beta' on |dev|. 209 # Listed as 'dev' on |beta| and 'beta' on |dev|.
210 self.assertEquals( 210 self.assertEquals(
211 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)), 211 AvailabilityInfo(ChannelInfo('dev', CANNED_BRANCHES[28], 28)),
212 self._avail_finder.GetApiAvailability('notifications')) 212 self._avail_finder.GetAPIAvailability('notifications'))
213 # Listed as 'beta' on |stable|, 'dev' on |beta| ... until |stable| on trunk. 213 # Listed as 'beta' on |stable|, 'dev' on |beta| ... until |stable| on trunk.
214 self.assertEquals( 214 self.assertEquals(
215 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')), 215 AvailabilityInfo(ChannelInfo('trunk', 'trunk', 'trunk')),
216 self._avail_finder.GetApiAvailability('events')) 216 self._avail_finder.GetAPIAvailability('events'))
217 217
218 def testGetApiNodeAvailability(self): 218 def testGetAPINodeAvailability(self):
219 # Allow the LookupResult constructions below to take just one line. 219 # Allow the LookupResult constructions below to take just one line.
220 lookup_result = api_schema_graph.LookupResult 220 lookup_result = api_schema_graph.LookupResult
221 availability_graph = self._node_avail_finder.GetApiNodeAvailability('tabs') 221 availability_graph = self._node_avail_finder.GetAPINodeAvailability('tabs')
222 222
223 self.assertEquals( 223 self.assertEquals(
224 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')), 224 lookup_result(True, self._branch_utility.GetChannelInfo('trunk')),
225 availability_graph.Lookup('tabs', 'properties', 225 availability_graph.Lookup('tabs', 'properties',
226 'fakeTabsProperty3')) 226 'fakeTabsProperty3'))
227 self.assertEquals( 227 self.assertEquals(
228 lookup_result(True, self._branch_utility.GetChannelInfo('dev')), 228 lookup_result(True, self._branch_utility.GetChannelInfo('dev')),
229 availability_graph.Lookup('tabs', 'events', 'onActivated', 229 availability_graph.Lookup('tabs', 'events', 'onActivated',
230 'parameters', 'activeInfo', 'properties', 230 'parameters', 'activeInfo', 'properties',
231 'windowId')) 231 'windowId'))
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 self.assertEqual(lookup_result(False, None), 315 self.assertEqual(lookup_result(False, None),
316 availability_graph.Lookup('functions')) 316 availability_graph.Lookup('functions'))
317 self.assertEqual(lookup_result(False, None), 317 self.assertEqual(lookup_result(False, None),
318 availability_graph.Lookup('events', 'onActivated', 318 availability_graph.Lookup('events', 'onActivated',
319 'parameters', 'activeInfo', 319 'parameters', 'activeInfo',
320 'tabId')) 320 'tabId'))
321 321
322 322
323 if __name__ == '__main__': 323 if __name__ == '__main__':
324 unittest.main() 324 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698