Chromium Code Reviews| 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..299769e3471072f0c0b73bd6eb5e741ed68125fe 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,33 +19,82 @@ 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 |
| _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 = { |
| + 'alarms': [{'description': u'<code>alarms</code>', |
| + 'namespace': 'alarms'}], |
| + 'app.window': [{'description': u'<code>app.window</code>', |
| + 'namespace': 'app.window'}], |
| + 'browserAction': [{'description': u'<code>browserAction</code>', |
| + 'namespace': 'browserAction'}], |
| + 'experimental.bluetooth': [{'description': |
| + u'<code>experimental.bluetooth</code>', |
| + 'namespace': 'experimental.bluetooth'}], |
| + 'experimental.bluetooth': [{'description': |
| + u'<code>experimental.bluetooth</code>', |
| + 'namespace': 'experimental.bluetooth'}], |
| + 'experimental.history': [{'description': |
| + u'<code>experimental.history</code>', |
| + 'namespace': 'experimental.history'}], |
| + 'experimental.power': [{'description': u'<code>experimental.power</code>', |
| + 'namespace': 'experimental.power'}], |
| + 'infobars': [{'description': u'<code>infobars</code>', |
| + 'namespace': 'infobars'}], |
| + 'something_internal': [{'description': u'<code>something_internal</code>', |
| + 'namespace': 'something_internal'}], |
| + 'something_else_internal': [{'description': |
| + u'<code>something_else_internal</code>', |
| + 'namespace': 'something_else_internal'}], |
| + 'storage': [{'description': u'<code>storage</code>', |
| + 'namespace': 'storage'}], |
| + 'sockets.udp': [{'description': u'<code>sockets.udp</code>', |
| + 'namespace': 'sockets.udp'}] |
|
not at google - send to devlin
2013/11/10 01:39:57
I think you could do something similar to _ToTestF
hukun
2013/11/11 10:23:03
Done
|
| +} |
| + |
| + |
| _TEST_DATA = { |
| 'api': { |
| '_api_features.json': json.dumps(_TEST_API_FEATURES), |
| '_manifest_features.json': '{}', |
| '_permission_features.json': '{}', |
| + 'alarms.json': json.dumps(_TEST_API_DATA['alarms']), |
| + 'app_window.json': json.dumps(_TEST_API_DATA['app.window']), |
| + 'browser_action.json': json.dumps(_TEST_API_DATA['browserAction']), |
| + 'experimental_bluetooth.json': |
| + json.dumps(_TEST_API_DATA['experimental.bluetooth']), |
|
not at google - send to devlin
2013/11/10 01:39:57
_ToTestAPIs can also do the json.dumps for each AP
hukun
2013/11/11 10:23:03
Done
|
| + 'experimental_history.json': |
| + json.dumps(_TEST_API_DATA['experimental.history']), |
| + 'experimental_power.json': |
| + json.dumps(_TEST_API_DATA['experimental.power']), |
| + 'infobars.json': json.dumps(_TEST_API_DATA['infobars']), |
| + 'something_internal.json': |
| + json.dumps(_TEST_API_DATA['something_internal']), |
| + 'something_else_internal.json': |
| + json.dumps(_TEST_API_DATA['something_else_internal']), |
| + 'storage.json': json.dumps(_TEST_API_DATA['storage']), |
| + 'sockets_udp.json': json.dumps(_TEST_API_DATA['sockets.udp']), |
| }, |
| 'docs': { |
| 'templates': { |
| @@ -58,6 +109,7 @@ _TEST_DATA = { |
| 'experimental_bluetooth.html', |
| 'experimental_power.html', |
| 'storage.html', |
| + 'sockets_udp.html' |
| ]), |
| 'extensions': _ToTestData([ |
| 'alarms.html', |
| @@ -66,6 +118,7 @@ _TEST_DATA = { |
| 'experimental_power.html', |
| 'infobars.html', |
| 'storage.html', |
| + 'sockets_udp.html' |
| ]), |
| }, |
| }, |
| @@ -80,75 +133,115 @@ 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, |
| + 'channel': 'dev', |
| + '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, |
| + 'channel': 'dev', |
| + '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() |