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

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

Issue 12996003: Dynamically generate a heading for Extension Docs API pages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing up Offline/Online Access - Attempting to rework availability algorithm 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 (c) 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 os
8 import unittest
9
10 from availability_finder import AvailabilityFinder
11 from compiled_file_system import CompiledFileSystem
12 from fake_fetchers import ConfigureFakeFetchers
13 from object_store_creator import ObjectStoreCreator
14 from test_file_system import TestFileSystem
15
16 def _LoadJSON(name, mode='rb'):
17 return json.load(
18 open(os.path.join('test_data', 'availability_finder', name), mode))
19
20 def _CreateSvnFileSystem(branch):
21 return TestFileSystem(_LoadJSON('test_avail_filesystem.json')[branch])
22
23 class AvailabilityInfo(object):
24 def __init__(self, channel, version):
25 self.channel = channel
26 self.version = version
27
28 class _FakeChromeVersionUtility(object):
29 def GetLatestVersionNumber(self):
30 return 28
31
32 def GetBranchNumberForVersion(self, version):
33 return _LoadJSON('test_avail_branch_list.json')[str(version)]
34
35 class AvailabilityFinderTest(unittest.TestCase):
36 def setUp(self):
37 # ChromeVersionUtility attempts to fetch data omaha proxy
38 ConfigureFakeFetchers()
39 self._avail_ds_factory = AvailabilityFinder.Factory(
40 _FakeChromeVersionUtility(),
41 ObjectStoreCreator.ForTest(),
42 CompiledFileSystem.Factory(
43 TestFileSystem(_LoadJSON('test_avail_filesystem.json')['trunk']),
44 ObjectStoreCreator.ForTest()),
45 _CreateSvnFileSystem)
46 self._avail_ds = self._avail_ds_factory.Create()
47 self._avail_ds._permission_apis = ['alarms', 'bookmarks', 'cookies']
48 self._avail_ds._manifest_apis = ['storage', 'runtime']
49 self._avail_ds._orphan_apis = ['idle', 'menus', 'tabs', 'windows']
50 '''
51 def testCheckFileSystemExistence(self):
52 self.assertEquals(True,
53 self._avail_ds._CheckFileSystemExistence('tabs', '20'))
54 self.assertEquals(True,
55 self._avail_ds._CheckFileSystemExistence('tabs', '19'))
56 self.assertEquals(True,
57 self._avail_ds._CheckFileSystemExistence('tabs', '18'))
58 self.assertEquals(False,
59 self._avail_ds._CheckFileSystemExistence('windows', '22'))
60 self.assertEquals(True,
61 self._avail_ds._CheckFileSystemExistence('windows', '24'))
62
63 def testCheckManifestExistence(self):
64 self.assertEquals(True,
65 self._avail_ds._CheckManifestExistence('storage', '27'))
66 self.assertEquals(False,
67 self._avail_ds._CheckManifestExistence('storage', '26'))
68 self.assertEquals(True,
69 self._avail_ds._CheckManifestExistence('runtime', '21'))
70 self.assertEquals(False,
71 self._avail_ds._CheckManifestExistence('runtime', '20'))
72 self.assertEquals(False,
73 self._avail_ds._CheckManifestExistence('cookies', '27'))
74
75 def testCheckPermissionExistence(self):
76 self.assertEquals(False,
77 self._avail_ds._CheckStablePermissionExistence('cookies', '27'))
78 self.assertEquals(True,
79 self._avail_ds._CheckStablePermissionExistence('cookies', '28'))
80 self.assertEquals(True,
81 self._avail_ds._CheckStablePermissionExistence('cookies', 'trunk'))
82 self.assertEquals(True,
83 self._avail_ds._CheckStablePermissionExistence('alarms', '24'))
84 self.assertEquals(False,
85 self._avail_ds._CheckStablePermissionExistence('alarms', '23'))
86 self.assertEquals(True,
87 self._avail_ds._CheckStablePermissionExistence('bookmarks', '21'))
88 self.assertEquals(False,
89 self._avail_ds._CheckStablePermissionExistence('bookmarks', '20'))
90
91 def testCheckExtensionAPIExistence(self):
92 self.assertEquals(True,
93 self._avail_ds._CheckExtensionAPIExistence('idle', '17'))
94 self.assertEquals(True,
95 self._avail_ds._CheckExtensionAPIExistence('idle', '12'))
96 self.assertEquals(True,
97 self._avail_ds._CheckExtensionAPIExistence('idle', '5'))
98 self.assertEquals(True,
99 self._avail_ds._CheckExtensionAPIExistence('menus', '6'))
100 self.assertEquals(False,
101 self._avail_ds._CheckExtensionAPIExistence('menus', '5'))
102
103 def testFindEarliestStableAvailability(self):
104 self.assertEquals('18',
105 self._avail_ds._FindEarliestStableAvailability('tabs', 27))
106 self.assertEquals('24',
107 self._avail_ds._FindEarliestStableAvailability('alarms', 27))
108 self.assertEquals('23',
109 self._avail_ds._FindEarliestStableAvailability('windows', 27))
110 self.assertEquals('27',
111 self._avail_ds._FindEarliestStableAvailability('storage', 27))
112 self.assertEquals('6',
113 self._avail_ds._FindEarliestStableAvailability('menus', 27))
114 self.assertEquals('5',
115 self._avail_ds._FindEarliestStableAvailability('idle', 27))
116 '''
117 def testGetApiAvailability(self):
118 self.assertEqual('stable',
119 self._avail_ds.GetApiAvailability('earlyAPI1').channel)
120 self.assertEqual('10',
121 self._avail_ds.GetApiAvailability('earlyAPI1').version)
122 self.assertEqual('trunk',
123 self._avail_ds.GetApiAvailability('earlyAPI2').channel)
124 self.assertEqual('trunk',
125 self._avail_ds.GetApiAvailability('earlyAPI2').version)
126 self.assertEquals('stable',
127 self._avail_ds.GetApiAvailability('tabs').channel)
128 self.assertEquals(18,
129 self._avail_ds.GetApiAvailability('tabs').version)
130 self.assertEquals('stable',
131 self._avail_ds.GetApiAvailability('bookmarks').channel)
132 self.assertEquals(21,
133 self._avail_ds.GetApiAvailability('bookmarks').version)
134 self.assertEquals('stable',
135 self._avail_ds.GetApiAvailability('windows').channel)
136 self.assertEquals(23,
137 self._avail_ds.GetApiAvailability('windows').version)
138 self.assertEquals('beta',
139 self._avail_ds.GetApiAvailability('storage').channel)
140 self.assertEquals(27,
141 self._avail_ds.GetApiAvailability('storage').version)
142 self.assertEquals('stable',
143 self._avail_ds.GetApiAvailability('alarms').channel)
144 self.assertEquals(24,
145 self._avail_ds.GetApiAvailability('alarms').version)
146 self.assertEquals('dev',
147 self._avail_ds.GetApiAvailability('sync').channel)
148 self.assertEquals(28,
149 self._avail_ds.GetApiAvailability('sync').version)
150 self.assertEquals('dev',
151 self._avail_ds.GetApiAvailability('cookies').channel)
152 self.assertEquals(28,
153 self._avail_ds.GetApiAvailability('cookies').version)
154 self.assertEquals('trunk',
155 self._avail_ds.GetApiAvailability('notReallyBetaAPI').channel)
156 self.assertEquals('trunk',
157 self._avail_ds.GetApiAvailability('notReallyBetaAPI').version)
158 self.assertEquals('trunk',
159 self._avail_ds.GetApiAvailability('trunkAPI').channel)
160 self.assertEquals('trunk',
161 self._avail_ds.GetApiAvailability('trunkAPI').version)
162 self.assertEquals('stable',
163 self._avail_ds.GetApiAvailability('menus').channel)
164 self.assertEquals(6,
165 self._avail_ds.GetApiAvailability('menus').version)
166 self.assertEquals('stable',
167 self._avail_ds.GetApiAvailability('idle').channel)
168 self.assertEquals(5,
169 self._avail_ds.GetApiAvailability('idle').version)
170
171 if __name__ == '__main__':
172 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698