Add new certificateProvider extension API.
[chromium-blink-merge.git] / chrome / common / extensions / docs / server2 / branch_utility_test.py
blobdb9e87d2979b293383016485af93dc4f8104222c
1 #!/usr/bin/env python
2 # Copyright (c) 2012 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.
6 import os
7 import sys
8 import unittest
10 from branch_utility import BranchUtility, ChannelInfo
11 from fake_url_fetcher import FakeUrlFetcher
12 from object_store_creator import ObjectStoreCreator
13 from test_util import Server2Path
16 class BranchUtilityTest(unittest.TestCase):
18 def setUp(self):
19 self._branch_util = BranchUtility(
20 os.path.join('branch_utility', 'first.json'),
21 os.path.join('branch_utility', 'second.json'),
22 FakeUrlFetcher(Server2Path('test_data')),
23 ObjectStoreCreator.ForTest())
25 def testSplitChannelNameFromPath(self):
26 self.assertEquals(('stable', 'extensions/stuff.html'),
27 self._branch_util.SplitChannelNameFromPath(
28 'stable/extensions/stuff.html'))
29 self.assertEquals(('dev', 'extensions/stuff.html'),
30 self._branch_util.SplitChannelNameFromPath(
31 'dev/extensions/stuff.html'))
32 self.assertEquals(('beta', 'extensions/stuff.html'),
33 self._branch_util.SplitChannelNameFromPath(
34 'beta/extensions/stuff.html'))
35 self.assertEquals(('master', 'extensions/stuff.html'),
36 self._branch_util.SplitChannelNameFromPath(
37 'master/extensions/stuff.html'))
38 self.assertEquals((None, 'extensions/stuff.html'),
39 self._branch_util.SplitChannelNameFromPath(
40 'extensions/stuff.html'))
41 self.assertEquals((None, 'apps/stuff.html'),
42 self._branch_util.SplitChannelNameFromPath(
43 'apps/stuff.html'))
44 self.assertEquals((None, 'extensions/dev/stuff.html'),
45 self._branch_util.SplitChannelNameFromPath(
46 'extensions/dev/stuff.html'))
47 self.assertEquals((None, 'stuff.html'),
48 self._branch_util.SplitChannelNameFromPath(
49 'stuff.html'))
51 def testNewestChannel(self):
52 self.assertEquals('master',
53 self._branch_util.NewestChannel(('master', 'dev', 'beta', 'stable')))
54 self.assertEquals('master',
55 self._branch_util.NewestChannel(('stable', 'beta', 'dev', 'master')))
56 self.assertEquals('dev',
57 self._branch_util.NewestChannel(('stable', 'beta', 'dev')))
58 self.assertEquals('dev',
59 self._branch_util.NewestChannel(('dev', 'beta', 'stable')))
60 self.assertEquals('beta',
61 self._branch_util.NewestChannel(('beta', 'stable')))
62 self.assertEquals('beta',
63 self._branch_util.NewestChannel(('stable', 'beta')))
64 self.assertEquals('stable', self._branch_util.NewestChannel(('stable',)))
65 self.assertEquals('beta', self._branch_util.NewestChannel(('beta',)))
66 self.assertEquals('dev', self._branch_util.NewestChannel(('dev',)))
67 self.assertEquals('master', self._branch_util.NewestChannel(('master',)))
69 def testNewer(self):
70 oldest_stable_info = ChannelInfo('stable', '963', 17)
71 older_stable_info = ChannelInfo('stable', '1025', 18)
72 old_stable_info = ChannelInfo('stable', '1084', 19)
73 sort_of_old_stable_info = ChannelInfo('stable', '1500', 28)
74 stable_info = ChannelInfo('stable', '1547', 29)
75 beta_info = ChannelInfo('beta', '1599', 30)
76 dev_info = ChannelInfo('dev', '1612', 31)
77 master_info = ChannelInfo('master', 'master', 'master')
79 self.assertEquals(older_stable_info,
80 self._branch_util.Newer(oldest_stable_info))
81 self.assertEquals(old_stable_info,
82 self._branch_util.Newer(older_stable_info))
83 self.assertEquals(stable_info,
84 self._branch_util.Newer(sort_of_old_stable_info))
85 self.assertEquals(beta_info, self._branch_util.Newer(stable_info))
86 self.assertEquals(dev_info, self._branch_util.Newer(beta_info))
87 self.assertEquals(master_info, self._branch_util.Newer(dev_info))
88 # Test the upper limit.
89 self.assertEquals(None, self._branch_util.Newer(master_info))
92 def testOlder(self):
93 master_info = ChannelInfo('master', 'master', 'master')
94 dev_info = ChannelInfo('dev', '1612', 31)
95 beta_info = ChannelInfo('beta', '1599', 30)
96 stable_info = ChannelInfo('stable', '1547', 29)
97 old_stable_info = ChannelInfo('stable', '1500', 28)
98 older_stable_info = ChannelInfo('stable', '1453', 27)
99 oldest_stable_info = ChannelInfo('stable', '396', 5)
101 self.assertEquals(dev_info, self._branch_util.Older(master_info))
102 self.assertEquals(beta_info, self._branch_util.Older(dev_info))
103 self.assertEquals(stable_info, self._branch_util.Older(beta_info))
104 self.assertEquals(old_stable_info, self._branch_util.Older(stable_info))
105 self.assertEquals(older_stable_info,
106 self._branch_util.Older(old_stable_info))
107 # Test the lower limit.
108 self.assertEquals(None, self._branch_util.Older(oldest_stable_info))
110 def testGetChannelInfo(self):
111 master_info = ChannelInfo('master', 'master', 'master')
112 self.assertEquals(master_info, self._branch_util.GetChannelInfo('master'))
114 dev_info = ChannelInfo('dev', '1612', 31)
115 self.assertEquals(dev_info, self._branch_util.GetChannelInfo('dev'))
117 beta_info = ChannelInfo('beta', '1599', 30)
118 self.assertEquals(beta_info, self._branch_util.GetChannelInfo('beta'))
120 stable_info = ChannelInfo('stable', '1547', 29)
121 self.assertEquals(stable_info, self._branch_util.GetChannelInfo('stable'))
123 def testGetLatestVersionNumber(self):
124 self.assertEquals(37, self._branch_util.GetLatestVersionNumber())
126 def testGetBranchForVersion(self):
127 self.assertEquals('1500',
128 self._branch_util.GetBranchForVersion(28))
129 self.assertEquals('1453',
130 self._branch_util.GetBranchForVersion(27))
131 self.assertEquals('1410',
132 self._branch_util.GetBranchForVersion(26))
133 self.assertEquals('1364',
134 self._branch_util.GetBranchForVersion(25))
135 self.assertEquals('1312',
136 self._branch_util.GetBranchForVersion(24))
137 self.assertEquals('1271',
138 self._branch_util.GetBranchForVersion(23))
139 self.assertEquals('1229',
140 self._branch_util.GetBranchForVersion(22))
141 self.assertEquals('1180',
142 self._branch_util.GetBranchForVersion(21))
143 self.assertEquals('1132',
144 self._branch_util.GetBranchForVersion(20))
145 self.assertEquals('1084',
146 self._branch_util.GetBranchForVersion(19))
147 self.assertEquals('1025',
148 self._branch_util.GetBranchForVersion(18))
149 self.assertEquals('963',
150 self._branch_util.GetBranchForVersion(17))
151 self.assertEquals('696',
152 self._branch_util.GetBranchForVersion(11))
153 self.assertEquals('396',
154 self._branch_util.GetBranchForVersion(5))
156 def testGetChannelForVersion(self):
157 self.assertEquals('master',
158 self._branch_util.GetChannelForVersion('master'))
159 self.assertEquals('dev',
160 self._branch_util.GetChannelForVersion(31))
161 self.assertEquals('beta',
162 self._branch_util.GetChannelForVersion(30))
163 self.assertEquals('stable',
164 self._branch_util.GetChannelForVersion(26))
165 self.assertEquals('stable',
166 self._branch_util.GetChannelForVersion(22))
167 self.assertEquals('stable',
168 self._branch_util.GetChannelForVersion(18))
169 self.assertEquals('stable',
170 self._branch_util.GetChannelForVersion(14))
171 self.assertEquals(None,
172 self._branch_util.GetChannelForVersion(32))
173 self.assertEquals(None,
174 self._branch_util.GetChannelForVersion(42))
177 if __name__ == '__main__':
178 unittest.main()