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

Side by Side 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: Add test to availability_finder_test.py 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 unified diff | Download patch
OLDNEW
(Empty)
1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5
6 import json
7 import unittest
8
9 from extensions_paths import CHROME_API, CHROME_EXTENSIONS
10 from mock_file_system import MockFileSystem
11 from server_instance import ServerInstance
12 from test_file_system import TestFileSystem
13 from test_util import ReadFile
14
15
16 _TEST_DATA = {
17 'api': {
18 'devtools': {
19 'inspected_window.json': ReadFile(
20 CHROME_API, 'devtools', 'inspected_window.json'),
21 },
22 '_api_features.json': json.dumps({
23 'alarms': {},
24 'app': {'extension_types': ['platform_app']},
25 'app.runtime': {'noparent': True},
26 'app.runtime.foo': {'extension_types': ['extension']},
27 'declarativeWebRequest': {'extension_types': ['extension']},
28 'devtools.inspectedWindow': {'extension_types': ['extension']},
29 'input': {'extension_types': 'all'},
30 'input.ime': {'extension_types': ['extension', 'platform_app']},
31 'storage': {'extension_types': ['extension']},
32 }),
33 '_manifest_features.json': '{}',
34 '_permission_features.json': '{}',
35 'alarms.idl': ReadFile(CHROME_API, 'alarms.idl'),
36 'declarative_web_request.json': ReadFile(
37 CHROME_API, 'declarative_web_request.json'),
38 'input_ime.json': ReadFile(CHROME_API, 'input_ime.json'),
39 'page_action.json': ReadFile(CHROME_API, 'page_action.json'),
40 },
41 'docs': {
42 'templates': {
43 'json': {
44 'manifest.json': '{}',
45 'permissions.json': '{}',
46 }
47 }
48 },
49 }
50
51
52 class PlatformBundleTest(unittest.TestCase):
53 def setUp(self):
54 mock_file_system = MockFileSystem(
55 TestFileSystem(_TEST_DATA, relative_to=CHROME_EXTENSIONS))
56 server_instance = ServerInstance.ForTest(file_system=mock_file_system)
57 self._platform_bundle = server_instance.platform_bundle
58
59 def testGetters(self):
60 self.assertEqual([
61 'alarms',
62 'app.runtime',
63 'declarativeWebRequest',
64 'devtools.inspectedWindow',
65 'input',
66 'storage'
67 ], sorted(self._platform_bundle.GetAPIModels('extensions').GetNames()))
68
69 self.assertEqual([
70 'alarms',
71 'app',
72 'app.runtime',
73 'input'
74 ], sorted(self._platform_bundle.GetAPIModels('apps').GetNames()))
75
76 self.assertEqual({
77 'app.runtime': {
78 'name': 'app.runtime',
79 'noparent': True,
80 'channel': 'stable'
81 },
82 'declarativeWebRequest': {
83 'name': 'declarativeWebRequest',
84 'channel': 'stable'
85 },
86 'app.runtime.foo': {
87 'name': 'app.runtime.foo',
88 'channel': 'stable'
89 },
90 'storage': {
91 'name': 'storage',
92 'channel': 'stable'
93 },
94 'input.ime': {
95 'name': 'input.ime',
96 'channel': 'stable'
97 },
98 'alarms': {
99 'name': 'alarms',
100 'channel': 'stable'
101 },
102 'input': {
103 'name': 'input',
104 'channel': 'stable'
105 },
106 'devtools.inspectedWindow': {
107 'name': 'devtools.inspectedWindow',
108 'channel': 'stable'
109 }
110 }, self._platform_bundle.GetFeaturesBundle(
111 'extensions').GetAPIFeatures().Get())
112
113 self.assertEqual({
114 'app.runtime': {
115 'name': 'app.runtime',
116 'noparent': True,
117 'channel': 'stable'
118 },
119 'input': {
120 'name': 'input',
121 'channel': 'stable'
122 },
123 'input.ime': {
124 'name': 'input.ime',
125 'channel': 'stable'
126 },
127 'app': {
128 'name': 'app',
129 'channel': 'stable'
130 },
131 'alarms': {
132 'name': 'alarms',
133 'channel': 'stable'
134 }
135 }, self._platform_bundle.GetFeaturesBundle('apps').GetAPIFeatures().Get())
136
137 # Check that 'app' is resolved successfully in apps, but is None otherwise.
138 self.assertNotEqual(
139 None,
140 self._platform_bundle.GetReferenceResolver('apps').GetLink('app'))
141 self.assertEqual(
142 None,
143 self._platform_bundle.GetReferenceResolver('extensions').GetLink('app'))
144
145 if __name__ == '__main__':
146 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698