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

Side by Side Diff: chrome/common/extensions/docs/server2/manifest_data_source_test.py

Issue 14273041: Doc server manifest page generation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Codereview and polish Created 7 years, 7 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 2013 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 types
8 import unittest
9
10 from compiled_file_system import CompiledFileSystem
11 from manifest_data_source import ManifestDataSource
12 from object_store_creator import ObjectStoreCreator
13 from test_file_system import TestFileSystem
14
15 file_system = TestFileSystem({
16 "_manifest_features.json": json.dumps({
17 'req0': {
18 'channl': 'stable',
19 'extension_types': ['platform_app', 'extension']
20 },
21 'req1': {
22 'channel': 'dev',
23 'extension_types': 'all'
24 },
25 'opt0': {
26 'channel': 'trunk',
27 'extension_types': ['extension']
28 },
29 'opt1': {
30 'channel': 'stable',
31 'extension_types': ['hosted_app']
32 },
33 'free0': {
34 'channel': 'stable',
35 'extension_types': ['platform_app']
36 },
37 'free1': {
38 'channel': 'dev',
39 'extension_types': ['platform_app', 'hosted_app', 'extension']
40 }
41 }),
42 "manifest.json": json.dumps({
43 'required': [
44 {'name': 'req0'},
45 {'name': 'req1'}
46 ],
47 'optional': [
48 {'name': 'opt0'},
49 {'name': 'opt1'}
50 ]
51 })
52 })
53
54 def Nothing(self, _):
55 # Do nothing. We don't care what Apply{Apps,Extensions}Transformations methods
56 # do because they change depending on data.
57 pass
58
59 class ManifestDataSourceTest(unittest.TestCase):
60 def testCreateManifestData(self):
61 expected_extensions = {
62 'required': [
63 {'name': 'req0'},
64 {'name': 'req1'}
65 ],
66 'optional': [
67 {'name': 'free1'},
68 {'name': 'opt0'}
69 ]
70 }
71
72 expected_apps = {
73 'required': [
74 {'name': 'req0'},
75 {'name': 'req1'}
76 ],
77 'optional': [
78 {'name': 'free0'},
79 {'name': 'free1'}
80 ]
81 }
82
83 mds = ManifestDataSource(
84 CompiledFileSystem.Factory(file_system, ObjectStoreCreator.ForTest()),
85 file_system, 'manifest.json', '_manifest_features.json', 'dev')
86
87 # Prevent an actual file load by patching in our load function.
88 mds._ApplyAppsTransformations = types.MethodType(Nothing, mds)
89 mds._ApplyExtensionsTransformations = types.MethodType(Nothing, mds)
not at google - send to devlin 2013/05/11 18:32:01 pls never override private methods. it greatly red
jshumway 2013/05/11 22:08:20 Fixed that.
90
91 self.assertEqual(expected_extensions, dict(mds.get('extensions')))
92 self.assertEqual(expected_apps, dict(mds.get('apps')))
93
94 if __name__ == '__main__':
95 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698