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

Unified Diff: chrome/common/extensions/docs/server2/api_list_data_source_test.py

Issue 48263002: list apis by channel info, e.g. dev, stable (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: gerenate one new template, e.g. api_table Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
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..56d87ac8dee5ef7ea3cbb00e47f99d237448cde1 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,51 +59,98 @@ _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())
not at google - send to devlin 2013/11/05 01:02:02 Ok, so prompted by this I've rewritten this test a
hukun 2013/11/06 08:56:19 OK, have merged.
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>'
not at google - send to devlin 2013/11/05 01:02:02 Modify the test data (_api_features.json file) so
hukun 2013/11/06 08:56:19 Done
},
{
'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'],
+ 'description': u'<code>experimental.bluetooth</code>'
},
{
'name': 'experimental.power',
'platforms': ['apps', 'extensions'],
- 'last': True
+ 'last': True,
+ 'description': u'<code>experimental.power</code>'
}],
sorted(api_list.get('apps').get('experimental')))
@@ -112,33 +159,43 @@ class APIListDataSourceTest(unittest.TestCase):
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'],
+ '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')))

Powered by Google App Engine
This is Rietveld 408576698