branch_utility_test.py revision eb525c5499e34cc9c4b825d6d9e75bb07cc06ace
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 6import os 7import sys 8import unittest 9 10from branch_utility import BranchUtility 11from fake_url_fetcher import FakeUrlFetcher 12from object_store_creator import ObjectStoreCreator 13 14class BranchUtilityTest(unittest.TestCase): 15 def setUp(self): 16 self._branch_util = BranchUtility( 17 os.path.join('branch_utility', 'first.json'), 18 os.path.join('branch_utility', 'second.json'), 19 FakeUrlFetcher(os.path.join(sys.path[0], 'test_data')), 20 ObjectStoreCreator.ForTest()) 21 22 def testSplitChannelNameFromPath(self): 23 self.assertEquals(('stable', 'extensions/stuff.html'), 24 self._branch_util.SplitChannelNameFromPath( 25 'stable/extensions/stuff.html')) 26 self.assertEquals(('dev', 'extensions/stuff.html'), 27 self._branch_util.SplitChannelNameFromPath( 28 'dev/extensions/stuff.html')) 29 self.assertEquals(('beta', 'extensions/stuff.html'), 30 self._branch_util.SplitChannelNameFromPath( 31 'beta/extensions/stuff.html')) 32 self.assertEquals(('trunk', 'extensions/stuff.html'), 33 self._branch_util.SplitChannelNameFromPath( 34 'trunk/extensions/stuff.html')) 35 self.assertEquals((None, 'extensions/stuff.html'), 36 self._branch_util.SplitChannelNameFromPath( 37 'extensions/stuff.html')) 38 self.assertEquals((None, 'apps/stuff.html'), 39 self._branch_util.SplitChannelNameFromPath( 40 'apps/stuff.html')) 41 self.assertEquals((None, 'extensions/dev/stuff.html'), 42 self._branch_util.SplitChannelNameFromPath( 43 'extensions/dev/stuff.html')) 44 self.assertEquals((None, 'stuff.html'), 45 self._branch_util.SplitChannelNameFromPath( 46 'stuff.html')) 47 48 def testNewestChannel(self): 49 self.assertEquals('trunk', 50 self._branch_util.NewestChannel(('trunk', 'dev', 'beta', 'stable'))) 51 self.assertEquals('trunk', 52 self._branch_util.NewestChannel(('stable', 'beta', 'dev', 'trunk'))) 53 self.assertEquals('dev', 54 self._branch_util.NewestChannel(('stable', 'beta', 'dev'))) 55 self.assertEquals('dev', 56 self._branch_util.NewestChannel(('dev', 'beta', 'stable'))) 57 self.assertEquals('beta', 58 self._branch_util.NewestChannel(('beta', 'stable'))) 59 self.assertEquals('beta', 60 self._branch_util.NewestChannel(('stable', 'beta'))) 61 self.assertEquals('stable', self._branch_util.NewestChannel(('stable',))) 62 self.assertEquals('beta', self._branch_util.NewestChannel(('beta',))) 63 self.assertEquals('dev', self._branch_util.NewestChannel(('dev',))) 64 self.assertEquals('trunk', self._branch_util.NewestChannel(('trunk',))) 65 66 def testGetChannelInfo(self): 67 self.assertEquals('trunk', 68 self._branch_util.GetChannelInfo('trunk').channel) 69 self.assertEquals('trunk', 70 self._branch_util.GetChannelInfo('trunk').branch) 71 self.assertEquals('trunk', 72 self._branch_util.GetChannelInfo('trunk').version) 73 self.assertEquals('dev', 74 self._branch_util.GetChannelInfo('dev').channel) 75 self.assertEquals(1500, 76 self._branch_util.GetChannelInfo('dev').branch) 77 self.assertEquals(28, 78 self._branch_util.GetChannelInfo('dev').version) 79 self.assertEquals('beta', 80 self._branch_util.GetChannelInfo('beta').channel) 81 self.assertEquals(1453, 82 self._branch_util.GetChannelInfo('beta').branch) 83 self.assertEquals(27, 84 self._branch_util.GetChannelInfo('beta').version) 85 self.assertEquals('stable', 86 self._branch_util.GetChannelInfo('stable').channel) 87 self.assertEquals(1410, 88 self._branch_util.GetChannelInfo('stable').branch) 89 self.assertEquals(26, 90 self._branch_util.GetChannelInfo('stable').version) 91 92 def testGetLatestVersionNumber(self): 93 self.assertEquals(28, self._branch_util.GetLatestVersionNumber()) 94 95 def testGetBranchForVersion(self): 96 self.assertEquals(1453, 97 self._branch_util.GetBranchForVersion(27)) 98 self.assertEquals(1410, 99 self._branch_util.GetBranchForVersion(26)) 100 self.assertEquals(1364, 101 self._branch_util.GetBranchForVersion(25)) 102 self.assertEquals(1312, 103 self._branch_util.GetBranchForVersion(24)) 104 self.assertEquals(1271, 105 self._branch_util.GetBranchForVersion(23)) 106 self.assertEquals(1229, 107 self._branch_util.GetBranchForVersion(22)) 108 self.assertEquals(1180, 109 self._branch_util.GetBranchForVersion(21)) 110 self.assertEquals(1132, 111 self._branch_util.GetBranchForVersion(20)) 112 self.assertEquals(1084, 113 self._branch_util.GetBranchForVersion(19)) 114 self.assertEquals(1025, 115 self._branch_util.GetBranchForVersion(18)) 116 self.assertEquals(963, 117 self._branch_util.GetBranchForVersion(17)) 118 self.assertEquals(696, 119 self._branch_util.GetBranchForVersion(11)) 120 self.assertEquals(396, 121 self._branch_util.GetBranchForVersion(5)) 122 123 def testGetChannelForVersion(self): 124 self.assertEquals('trunk', 125 self._branch_util.GetChannelForVersion('trunk')) 126 self.assertEquals('dev', 127 self._branch_util.GetChannelForVersion(28)) 128 self.assertEquals('beta', 129 self._branch_util.GetChannelForVersion(27)) 130 self.assertEquals('stable', 131 self._branch_util.GetChannelForVersion(26)) 132 self.assertEquals('stable', 133 self._branch_util.GetChannelForVersion(22)) 134 self.assertEquals('stable', 135 self._branch_util.GetChannelForVersion(18)) 136 self.assertEquals('stable', 137 self._branch_util.GetChannelForVersion(14)) 138 self.assertEquals(None, 139 self._branch_util.GetChannelForVersion(30)) 140 self.assertEquals(None, 141 self._branch_util.GetChannelForVersion(42)) 142 143 144if __name__ == '__main__': 145 unittest.main() 146