Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / docs / server2 / branch_utility_test.py
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.
5
6 import os
7 import sys
8 import unittest
9
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
14
15
16 class BranchUtilityTest(unittest.TestCase):
17
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())
24
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(('trunk', 'extensions/stuff.html'),
36                       self._branch_util.SplitChannelNameFromPath(
37                       'trunk/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'))
50
51   def testNewestChannel(self):
52     self.assertEquals('trunk',
53         self._branch_util.NewestChannel(('trunk', 'dev', 'beta', 'stable')))
54     self.assertEquals('trunk',
55         self._branch_util.NewestChannel(('stable', 'beta', 'dev', 'trunk')))
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('trunk', self._branch_util.NewestChannel(('trunk',)))
68
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     trunk_info = ChannelInfo('trunk', 'trunk', 'trunk')
78
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(trunk_info, self._branch_util.Newer(dev_info))
88     # Test the upper limit.
89     self.assertEquals(None, self._branch_util.Newer(trunk_info))
90
91
92   def testOlder(self):
93     trunk_info = ChannelInfo('trunk', 'trunk', 'trunk')
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)
100
101     self.assertEquals(dev_info, self._branch_util.Older(trunk_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))
109
110   def testGetChannelInfo(self):
111     trunk_info = ChannelInfo('trunk', 'trunk', 'trunk')
112     self.assertEquals(trunk_info, self._branch_util.GetChannelInfo('trunk'))
113
114     dev_info = ChannelInfo('dev', '1612', 31)
115     self.assertEquals(dev_info, self._branch_util.GetChannelInfo('dev'))
116
117     beta_info = ChannelInfo('beta', '1599', 30)
118     self.assertEquals(beta_info, self._branch_util.GetChannelInfo('beta'))
119
120     stable_info = ChannelInfo('stable', '1547', 29)
121     self.assertEquals(stable_info, self._branch_util.GetChannelInfo('stable'))
122
123   def testGetLatestVersionNumber(self):
124     self.assertEquals(37, self._branch_util.GetLatestVersionNumber())
125
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))
155
156   def testGetChannelForVersion(self):
157     self.assertEquals('trunk',
158         self._branch_util.GetChannelForVersion('trunk'))
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))
175
176
177 if __name__ == '__main__':
178   unittest.main()