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

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

Issue 344453003: Docserver: separate models for apps and extensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase/Add comment Created 6 years, 6 months 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/platform_bundle_test.py
diff --git a/chrome/common/extensions/docs/server2/platform_bundle_test.py b/chrome/common/extensions/docs/server2/platform_bundle_test.py
new file mode 100755
index 0000000000000000000000000000000000000000..6e1697448ead940057b41ed3fccbd1632e821f88
--- /dev/null
+++ b/chrome/common/extensions/docs/server2/platform_bundle_test.py
@@ -0,0 +1,155 @@
+#!/usr/bin/env python
+# Copyright 2014 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 extensions_paths import CHROME_API, CHROME_EXTENSIONS
+from mock_file_system import MockFileSystem
+from server_instance import ServerInstance
+from test_file_system import TestFileSystem
+from test_util import ReadFile
+
+
+_TEST_DATA = {
+ 'api': {
+ 'devtools': {
+ 'inspected_window.json': ReadFile(
+ CHROME_API, 'devtools', 'inspected_window.json'),
+ },
+ '_api_features.json': json.dumps({
+ 'alarms': {},
+ 'app': {'extension_types': ['platform_app']},
+ 'app.runtime': {'noparent': True},
+ 'app.runtime.foo': {'extension_types': ['extension']},
+ 'declarativeWebRequest': {'extension_types': ['extension']},
+ 'devtools.inspectedWindow': {'extension_types': ['extension']},
+ 'input': {'extension_types': 'all'},
+ 'input.ime': {'extension_types': ['extension', 'platform_app']},
+ 'storage': {'extension_types': ['extension']},
+ }),
+ '_manifest_features.json': '{}',
+ '_permission_features.json': '{}',
+ 'alarms.idl': ReadFile(CHROME_API, 'alarms.idl'),
+ 'declarative_web_request.json': ReadFile(
+ CHROME_API, 'declarative_web_request.json'),
+ 'input_ime.json': ReadFile(CHROME_API, 'input_ime.json'),
+ 'page_action.json': ReadFile(CHROME_API, 'page_action.json'),
+ },
+ 'docs': {
+ 'templates': {
+ 'json': {
+ 'manifest.json': '{}',
+ 'permissions.json': '{}',
+ }
+ }
+ },
+}
+
+
+class PlatformBundleTest(unittest.TestCase):
+ def setUp(self):
+ mock_file_system = MockFileSystem(
+ TestFileSystem(_TEST_DATA, relative_to=CHROME_EXTENSIONS))
+ server_instance = ServerInstance.ForTest(file_system=mock_file_system)
+ self._platform_bundle = server_instance.platform_bundle
+
+ def testGetters(self):
+ self.assertEqual([
+ 'alarms',
+ 'app.runtime',
+ 'declarativeWebRequest',
+ 'devtools.inspectedWindow',
+ 'input',
+ 'storage'
+ ], sorted(self._platform_bundle.GetAPIModels('extensions').GetNames()))
+
+ self.assertEqual([
+ 'alarms',
+ 'app',
+ 'app.runtime',
+ 'input'
+ ], sorted(self._platform_bundle.GetAPIModels('apps').GetNames()))
+
+ self.assertEqual({
+ 'app.runtime': {
+ 'name': 'app.runtime',
+ 'noparent': True,
+ 'channel': 'stable'
+ },
+ 'declarativeWebRequest': {
+ 'name': 'declarativeWebRequest',
+ 'channel': 'stable',
+ 'extension_types': ['extension'],
+ },
+ 'app.runtime.foo': {
+ 'name': 'app.runtime.foo',
+ 'channel': 'stable',
+ 'extension_types': ['extension'],
+ },
+ 'storage': {
+ 'name': 'storage',
+ 'channel': 'stable',
+ 'extension_types': ['extension'],
+ },
+ 'input.ime': {
+ 'name': 'input.ime',
+ 'channel': 'stable',
+ 'extension_types': ['extension', 'platform_app'],
+ },
+ 'alarms': {
+ 'name': 'alarms',
+ 'channel': 'stable'
+ },
+ 'input': {
+ 'name': 'input',
+ 'channel': 'stable',
+ 'extension_types': 'all'
+ },
+ 'devtools.inspectedWindow': {
+ 'name': 'devtools.inspectedWindow',
+ 'channel': 'stable',
+ 'extension_types': ['extension'],
+ }
+ }, self._platform_bundle.GetFeaturesBundle(
+ 'extensions').GetAPIFeatures().Get())
+
+ self.assertEqual({
+ 'app.runtime': {
+ 'name': 'app.runtime',
+ 'noparent': True,
+ 'channel': 'stable'
+ },
+ 'input': {
+ 'name': 'input',
+ 'channel': 'stable',
+ 'extension_types': 'all'
+ },
+ 'input.ime': {
+ 'name': 'input.ime',
+ 'channel': 'stable',
+ 'extension_types': ['extension', 'platform_app'],
+ },
+ 'app': {
+ 'name': 'app',
+ 'channel': 'stable',
+ 'extension_types': ['platform_app'],
+ },
+ 'alarms': {
+ 'name': 'alarms',
+ 'channel': 'stable'
+ }
+ }, self._platform_bundle.GetFeaturesBundle('apps').GetAPIFeatures().Get())
+
+ # Check that 'app' is resolved successfully in apps, but is None otherwise.
+ self.assertNotEqual(
+ None,
+ self._platform_bundle.GetReferenceResolver('apps').GetLink('app'))
+ self.assertEqual(
+ None,
+ self._platform_bundle.GetReferenceResolver('extensions').GetLink('app'))
+
+if __name__ == '__main__':
+ unittest.main()
« no previous file with comments | « chrome/common/extensions/docs/server2/platform_bundle.py ('k') | chrome/common/extensions/docs/server2/platform_util.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698