| 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 32879f6012e320681d1fa0bedd0a14dcf14f3732..a9a85e037bbe6d3005d61c80cf0fcf5f9be4d2eb 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,15 +2,15 @@
|
| # 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
|
| +
|
| from api_list_data_source import APIListDataSource
|
| from compiled_file_system import CompiledFileSystem
|
| from copy import deepcopy
|
| -from features_bundle import FeaturesBundle
|
| 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
|
| @@ -59,89 +59,205 @@ _TEST_API_FEATURES = _ToTestFeatures([
|
| ('storage', ['apps', 'extensions'])
|
| ])
|
|
|
| +_TEST_API_Data = {
|
| + 'alarms':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>alarms</code>'}]}
|
| + ]
|
| + },
|
| + 'app.window':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>app.window</code>'}]}
|
| + ]
|
| + },
|
| + 'browserAction':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>browserAction</code>'}]
|
| + }
|
| + ]
|
| + },
|
| + 'experimental.bluetooth':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>experimental.bluetooth</code>'}]
|
| + }
|
| + ]
|
| + },
|
| + 'experimental.history':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>experimental.history</code>'}]
|
| + }
|
| + ]
|
| + },
|
| + 'experimental.power':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>experimental.power</code>'}]
|
| + }
|
| + ]
|
| + },
|
| + 'infobars':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>infobars</code>'}]
|
| + }
|
| + ]
|
| + },
|
| + 'something_internal':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>something_internal</code>'}]
|
| + }
|
| + ]
|
| + },
|
| + 'something_else_internal':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>something_else_internal</code>'}]
|
| + }
|
| + ]
|
| + },
|
| + 'storage':
|
| + {'introList':
|
| + [{'title': 'Description',
|
| + 'content':[{'text': u'<code>storage</code>'}]
|
| + }
|
| + ]
|
| + },
|
| + }
|
| +
|
|
|
| class _FakeFeaturesBundle(object):
|
| def GetAPIFeatures(self):
|
| return _TEST_API_FEATURES
|
|
|
| +class FakeAPIDataSource():
|
| +
|
| + class Factory():
|
| + def Create(self, request, disable_refs=False):
|
| + return FakeAPIDataSource()
|
| +
|
| + def __init__(self):
|
| + self.data = _TEST_API_Data
|
| +
|
| + def get(self, key):
|
| + if key not in self.data:
|
| + raise FileNotFoundError(key)
|
| + return self.data[key]
|
| +
|
| + def GetAllNames(self):
|
| + return self._json.keys()
|
| +
|
| +class FakeAvailabilityFinder(object):
|
| + def GetApiAvailability(self, version):
|
| + return ChannelInfo('stable', '396', 5)
|
|
|
| class APIListDataSourceTest(unittest.TestCase):
|
| def setUp(self):
|
| object_store_creator = ObjectStoreCreator.ForTest()
|
| +
|
| self._factory = APIListDataSource.Factory(
|
| CompiledFileSystem.Factory(object_store_creator),
|
| TestFileSystem(deepcopy(_TEST_DATA)),
|
| 'public',
|
| _FakeFeaturesBundle(),
|
| - object_store_creator)
|
| + object_store_creator,
|
| + FakeAPIDataSource.Factory(),
|
| + FakeAvailabilityFinder())
|
|
|
| def testApps(self):
|
| api_list = self._factory.Create()
|
| self.assertEqual([
|
| {
|
| 'name': 'alarms',
|
| - 'platforms': ['apps', 'extensions']
|
| + 'platforms': ['apps', 'extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>alarms</code>'
|
| },
|
| {
|
| 'name': 'app.window',
|
| - 'platforms': ['apps']
|
| + 'platforms': ['apps'],
|
| + 'version': 5,
|
| + 'description': u'<code>app.window</code>'
|
| },
|
| {
|
| 'name': 'storage',
|
| 'platforms': ['apps', 'extensions'],
|
| - 'last': True
|
| + 'last': True,
|
| + 'version': 5,
|
| + 'description': u'<code>storage</code>'
|
| }],
|
| - api_list.get('apps').get('chrome'))
|
| + api_list.get('apps').get('chrome').get("stable"))
|
|
|
| def testExperimentalApps(self):
|
| api_list = self._factory.Create()
|
| self.assertEqual([
|
| {
|
| 'name': 'experimental.bluetooth',
|
| - 'platforms': ['apps']
|
| + 'platforms': ['apps'],
|
| + 'version': 5,
|
| + 'description': u'<code>experimental.bluetooth</code>'
|
| },
|
| {
|
| 'name': 'experimental.power',
|
| 'platforms': ['apps', 'extensions'],
|
| - 'last': True
|
| + 'last': True,
|
| + 'version': 5,
|
| + 'description': u'<code>experimental.power</code>'
|
| }],
|
| - sorted(api_list.get('apps').get('experimental')))
|
| + sorted(api_list.get('apps').get('experimental').get('stable')))
|
|
|
| def testExtensions(self):
|
| api_list = self._factory.Create()
|
| self.assertEqual([
|
| {
|
| 'name': 'alarms',
|
| - 'platforms': ['apps', 'extensions']
|
| + 'platforms': ['apps', 'extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>alarms</code>'
|
| },
|
| {
|
| 'name': 'browserAction',
|
| - 'platforms': ['extensions']
|
| + 'platforms': ['extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>browserAction</code>'
|
| },
|
| {
|
| 'name': 'infobars',
|
| - 'platforms': ['extensions']
|
| + 'platforms': ['extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>infobars</code>'
|
| },
|
| {
|
| 'name': 'storage',
|
| 'platforms': ['apps', 'extensions'],
|
| - 'last': True
|
| + 'last': True,
|
| + 'version': 5,
|
| + 'description': u'<code>storage</code>'
|
| }],
|
| - sorted(api_list.get('extensions').get('chrome')))
|
| + sorted(api_list.get('extensions').get('chrome').get('stable')))
|
|
|
| def testExperimentalExtensions(self):
|
| api_list = self._factory.Create()
|
| self.assertEqual([
|
| {
|
| 'name': 'experimental.history',
|
| - 'platforms': ['extensions']
|
| + 'platforms': ['extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>experimental.history</code>'
|
| },
|
| {
|
| 'name': 'experimental.power',
|
| 'platforms': ['apps', 'extensions'],
|
| + 'version': 5,
|
| + 'description': u'<code>experimental.power</code>',
|
| 'last': True
|
| }],
|
| - sorted(api_list.get('extensions').get('experimental')))
|
| + sorted(api_list.get('extensions').get('experimental').get('stable')))
|
|
|
| if __name__ == '__main__':
|
| unittest.main()
|
|
|