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

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: 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 020d19b9662a92f0efb40e9447390b5edcb10aea..3eb79964a017194a28692e2dbad5da5874353093 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,13 +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):
@@ -35,9 +38,31 @@ _TEST_API_FEATURES = _ToTestFeatures([
('infobars', ['extensions']),
('something_internal', ['apps']),
('something_else_internal', ['extensions']),
- ('storage', ['apps', 'extensions'])
+ ('storage', ['apps', 'extensions']),
+ ('sockets.udp', ['apps', 'extensions'])
])
+_TEST_API_Data = {
not at google - send to devlin 2013/11/07 23:52:18 DATA not Data
hukun 2013/11/08 06:23:39 Done
+ '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>'},
+ 'sockets.udp': {'description': u'<code>sockets.udp</code>'}
+ }
+
+_TEST_API_CHANNEL = {
+ 'sockets.udp': {'channel': 'dev'}
+ }
not at google - send to devlin 2013/11/07 23:52:18 each of these constants need 2 newlines between th
hukun 2013/11/08 06:23:39 Done
_TEST_DATA = {
'api': {
@@ -58,6 +83,7 @@ _TEST_DATA = {
'experimental_bluetooth.html',
'experimental_power.html',
'storage.html',
+ 'sockets_udp.html'
]),
'extensions': _ToTestData([
'alarms.html',
@@ -66,12 +92,40 @@ _TEST_DATA = {
'experimental_power.html',
'infobars.html',
'storage.html',
+ 'sockets_udp.html'
]),
},
},
},
}
+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)
+
+ def GetNames(self):
+ return _TEST_API_Data.keys()
+
+
+class FakeAvailabilityFinder(object):
+ def __init__(self):
+ self.data = _TEST_API_CHANNEL
+
+ def GetApiAvailability(self, key):
+ if key not in self.data:
+ return ChannelInfo('stable', '396', 5)
+ return ChannelInfo(self.data[key]['channel'], '', 0)
class APIListDataSourceTest(unittest.TestCase):
def setUp(self):
@@ -80,75 +134,108 @@ 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,
+ FakeAPIModels(),
not at google - send to devlin 2013/11/07 23:52:18 can you use server_instance.api_models here?
hukun 2013/11/08 06:23:39 Done
+ FakeAvailabilityFinder())
not at google - send to devlin 2013/11/07 23:52:18 and server_instance.availability_finder here? you
hukun 2013/11/08 06:23:39 Done
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'))
not at google - send to devlin 2013/11/07 23:52:18 nice to still ahve the 'beta' and 'trunk' lists on
hukun 2013/11/08 06:23:39 Done
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()

Powered by Google App Engine
This is Rietveld 408576698