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..0ee52986c4f0d0895f4af6b04bd712f55bbb7f0a 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,150 @@ _TEST_API_FEATURES = _ToTestFeatures([ |
('storage', ['apps', 'extensions']) |
]) |
+_TEST_API_Data = { |
+ 'alarms': {'description': u'<code>alarms</code>'}, |
+ 'app.window': {'description': u'<code>app.window</code>'}, |
+ 'browserAction': {'description': u'<code>browserAction</code>'}, |
+ 'experimental.bluetooth': {'description': |
+ u'<code>experimental.bluetooth</code>'}, |
+ 'experimental.history': {'description': |
+ u'<code>experimental.history</code>'}, |
+ 'experimental.power': {'description': |
+ u'<code>experimental.power</code>'}, |
+ 'infobars': {'description': u'<code>infobars</code>'}, |
+ 'something_internal': {'description': u'<code>something_internal</code>'}, |
+ 'something_else_internal': {'description': |
+ u'<code>something_else_internal</code>'}, |
+ 'storage': {'description': u'<code>storage</code>'} |
+ } |
+ |
class _FakeFeaturesBundle(object): |
def GetAPIFeatures(self): |
return _TEST_API_FEATURES |
+class FakeModel(): |
+ def __init__(self, key): |
+ self.data = _TEST_API_Data |
+ self.key = key |
+ |
+ def Get(self): |
+ if self.key not in self.data: |
+ raise FileNotFoundError(self.key) |
+ self.description = self.data[self.key]['description'] |
+ return self |
+ |
+class FakeAPIModels(): |
+ def GetModel(self, key): |
+ return FakeModel(key) |
+ |
+ |
+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, |
+ FakeAPIModels(), |
+ 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() |