| Index: chrome/common/extensions/docs/server2/api_list_data_source_test.py
|
| diff --git a/chrome/common/extensions/docs/server2/api_list_data_source_test.py b/chrome/common/extensions/docs/server2/api_list_data_source_test.py
|
| index 020d19b9662a92f0efb40e9447390b5edcb10aea..786149590cff7501b060336ab2dc7db3e1ddc111 100755
|
| --- a/chrome/common/extensions/docs/server2/api_list_data_source_test.py
|
| +++ b/chrome/common/extensions/docs/server2/api_list_data_source_test.py
|
| @@ -2,14 +2,16 @@
|
| # Copyright 2013 The Chromium Authors. All rights reserved.
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
| -
|
| -import json
|
| import unittest
|
| -
|
| +import json
|
| from api_list_data_source import APIListDataSource
|
| from server_instance import ServerInstance
|
| +from compiled_file_system import CompiledFileSystem
|
| +from copy import deepcopy
|
| +from object_store_creator import ObjectStoreCreator
|
| from test_file_system import TestFileSystem
|
| -
|
| +from file_system import FileNotFoundError
|
| +from branch_utility import ChannelInfo
|
|
|
| def _ToTestData(obj):
|
| '''Transforms |obj| into test data by turning a list of files into an object
|
| @@ -17,29 +19,70 @@ def _ToTestData(obj):
|
| '''
|
| return dict((name, name) for name in obj)
|
|
|
| -
|
| def _ToTestFeatures(names):
|
| '''Transforms a list of strings into a minimal JSON features object.
|
| '''
|
| - return dict((name, {'name': name, 'platforms': platforms})
|
| - for name, platforms in names)
|
| + features = dict((name, {'name': name, 'platforms': platforms})
|
| + for name, platforms, in names)
|
| + features['sockets.udp']['channel'] = 'dev'
|
| + return features
|
|
|
| +def _ToTestApiData(names):
|
| + api_data = dict((name, [{'namespace': name, 'description': description}])
|
| + for name, description in names)
|
| + return api_data
|
| +
|
| +def _ToTestApiSchema(names, apis):
|
| + for name, json_file in names:
|
| + apis['api'][json_file] = json.dumps(_TEST_API_DATA[name])
|
| + return apis
|
|
|
| _TEST_API_FEATURES = _ToTestFeatures([
|
| ('alarms', ['apps', 'extensions']),
|
| ('app.window', ['apps']),
|
| ('browserAction', ['extensions']),
|
| ('experimental.bluetooth', ['apps']),
|
| - ('experimental.history', ['extensions']),
|
| + ('experimental.history', ['extensions'],),
|
| ('experimental.power', ['apps', 'extensions']),
|
| ('infobars', ['extensions']),
|
| ('something_internal', ['apps']),
|
| ('something_else_internal', ['extensions']),
|
| - ('storage', ['apps', 'extensions'])
|
| + ('storage', ['apps', 'extensions']),
|
| + ('sockets.udp', ['apps', 'extensions'])
|
| +])
|
| +
|
| +
|
| +_TEST_API_DATA = _ToTestApiData([
|
| + ('alarms', u'<code>alarms</code>'),
|
| + ('app.window', u'<code>app.window</code>'),
|
| + ('browserAction', u'<code>browserAction</code>'),
|
| + ('experimental.bluetooth', u'<code>experimental.bluetooth</code>'),
|
| + ('experimental.history', u'<code>experimental.history</code>'),
|
| + ('experimental.power', u'<code>experimental.power</code>'),
|
| + ('infobars', u'<code>infobars</code>'),
|
| + ('something_internal', u'<code>something_internal</code>'),
|
| + ('something_else_internal', u'<code>something_else_internal</code>'),
|
| + ('storage', u'<code>storage</code>'),
|
| + ('sockets.udp', u'<code>sockets.udp</code>')
|
| ])
|
|
|
|
|
| -_TEST_DATA = {
|
| +_TEST_API_SCHEMA = [
|
| + ('alarms', 'alarms.json'),
|
| + ('app.window', 'app_window.json'),
|
| + ('browserAction', 'browser_action.json'),
|
| + ('experimental.bluetooth', 'experimental_bluetooth.json'),
|
| + ('experimental.history', 'experimental_history.json'),
|
| + ('experimental.power', 'experimental_power.json'),
|
| + ('infobars', 'infobars.json'),
|
| + ('something_internal', 'something_internal.json'),
|
| + ('something_else_internal', 'something_else_internal.json'),
|
| + ('storage', 'storage.json'),
|
| + ('sockets.udp', 'sockets_udp.json')
|
| +]
|
| +
|
| +
|
| +_TEST_DATA = _ToTestApiSchema(_TEST_API_SCHEMA, {
|
| 'api': {
|
| '_api_features.json': json.dumps(_TEST_API_FEATURES),
|
| '_manifest_features.json': '{}',
|
| @@ -58,6 +101,7 @@ _TEST_DATA = {
|
| 'experimental_bluetooth.html',
|
| 'experimental_power.html',
|
| 'storage.html',
|
| + 'sockets_udp.html'
|
| ]),
|
| 'extensions': _ToTestData([
|
| 'alarms.html',
|
| @@ -66,11 +110,12 @@ _TEST_DATA = {
|
| 'experimental_power.html',
|
| 'infobars.html',
|
| 'storage.html',
|
| + 'sockets_udp.html'
|
| ]),
|
| },
|
| },
|
| },
|
| -}
|
| +})
|
|
|
|
|
| class APIListDataSourceTest(unittest.TestCase):
|
| @@ -80,75 +125,113 @@ class APIListDataSourceTest(unittest.TestCase):
|
| server_instance.compiled_fs_factory,
|
| server_instance.host_file_system_provider.GetTrunk(),
|
| server_instance.features_bundle,
|
| - server_instance.object_store_creator)
|
| + server_instance.object_store_creator,
|
| + server_instance.api_models,
|
| + server_instance.availability_finder)
|
|
|
| def testApps(self):
|
| api_list = self._factory.Create()
|
| - self.assertEqual([
|
| - {
|
| - 'name': 'alarms',
|
| - 'platforms': ['apps', 'extensions']
|
| - },
|
| - {
|
| - 'name': 'app.window',
|
| - 'platforms': ['apps']
|
| - },
|
| - {
|
| - 'name': 'storage',
|
| - 'platforms': ['apps', 'extensions'],
|
| - 'last': True
|
| - }],
|
| - api_list.get('apps').get('chrome'))
|
| + self.assertEqual({
|
| + 'stable': [
|
| + {
|
| + 'name': 'alarms',
|
| + 'platforms': ['apps', 'extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>alarms</code>'
|
| + },
|
| + {
|
| + 'name': 'app.window',
|
| + 'platforms': ['apps'],
|
| + 'version': 5,
|
| + 'description': u'<code>app.window</code>'
|
| + },
|
| + {
|
| + 'name': 'storage',
|
| + 'platforms': ['apps', 'extensions'],
|
| + 'last': True,
|
| + 'version': 5,
|
| + 'description': u'<code>storage</code>'
|
| + }],
|
| + 'dev': [
|
| + {
|
| + 'name': 'sockets.udp',
|
| + 'platforms': ['apps', 'extensions'],
|
| + 'last': True,
|
| + 'description': u'<code>sockets.udp</code>'
|
| + }],
|
| + 'beta': [],
|
| + 'trunk': []
|
| + }, api_list.get('apps').get('chrome'))
|
|
|
| def testExperimentalApps(self):
|
| api_list = self._factory.Create()
|
| self.assertEqual([
|
| {
|
| 'name': 'experimental.bluetooth',
|
| - 'platforms': ['apps']
|
| + 'platforms': ['apps'],
|
| + 'description': u'<code>experimental.bluetooth</code>'
|
| },
|
| {
|
| 'name': 'experimental.power',
|
| 'platforms': ['apps', 'extensions'],
|
| - 'last': True
|
| - }],
|
| - sorted(api_list.get('apps').get('experimental')))
|
| + 'last': True,
|
| + 'description': u'<code>experimental.power</code>'
|
| + }], api_list.get('apps').get('experimental'))
|
|
|
| def testExtensions(self):
|
| api_list = self._factory.Create()
|
| - self.assertEqual([
|
| - {
|
| - 'name': 'alarms',
|
| - 'platforms': ['apps', 'extensions']
|
| - },
|
| - {
|
| - 'name': 'browserAction',
|
| - 'platforms': ['extensions']
|
| - },
|
| - {
|
| - 'name': 'infobars',
|
| - 'platforms': ['extensions']
|
| - },
|
| - {
|
| - 'name': 'storage',
|
| - 'platforms': ['apps', 'extensions'],
|
| - 'last': True
|
| - }],
|
| - sorted(api_list.get('extensions').get('chrome')))
|
| + self.assertEqual({
|
| + 'stable': [
|
| + {
|
| + 'name': 'alarms',
|
| + 'platforms': ['apps', 'extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>alarms</code>'
|
| + },
|
| + {
|
| + 'name': 'browserAction',
|
| + 'platforms': ['extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>browserAction</code>'
|
| + },
|
| + {
|
| + 'name': 'infobars',
|
| + 'platforms': ['extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>infobars</code>'
|
| + },
|
| + {
|
| + 'name': 'storage',
|
| + 'platforms': ['apps', 'extensions'],
|
| + 'last': True,
|
| + 'version': 5,
|
| + 'description': u'<code>storage</code>'
|
| + }],
|
| + 'dev': [
|
| + {
|
| + 'name': 'sockets.udp',
|
| + 'platforms': ['apps', 'extensions'],
|
| + 'last': True,
|
| + 'description': u'<code>sockets.udp</code>'
|
| + }],
|
| + 'beta': [],
|
| + 'trunk': []
|
| + }, api_list.get('extensions').get('chrome'))
|
|
|
| def testExperimentalExtensions(self):
|
| api_list = self._factory.Create()
|
| self.assertEqual([
|
| {
|
| 'name': 'experimental.history',
|
| - 'platforms': ['extensions']
|
| + 'platforms': ['extensions'],
|
| + 'description': u'<code>experimental.history</code>'
|
| },
|
| {
|
| 'name': 'experimental.power',
|
| 'platforms': ['apps', 'extensions'],
|
| + 'description': u'<code>experimental.power</code>',
|
| 'last': True
|
| - }],
|
| - sorted(api_list.get('extensions').get('experimental')))
|
| + }], api_list.get('extensions').get('experimental'))
|
|
|
| if __name__ == '__main__':
|
| unittest.main()
|
|
|