branch_utility_test.py revision 5821806d5e7f356e8fa4b058a389a808ea183019
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 in_memory_object_store import InMemoryObjectStore
11from branch_utility import BranchUtility
12from fake_url_fetcher import FakeUrlFetcher
13
14class BranchUtilityTest(unittest.TestCase):
15  def setUp(self):
16    self._branch_util = BranchUtility(
17        os.path.join('branch_utility', 'first.json'),
18        { 'extensions': 'stable', 'apps': 'trunk' },
19        FakeUrlFetcher(os.path.join(sys.path[0], 'test_data')),
20        InMemoryObjectStore(''))
21
22  def testSplitChannelNameFromPath(self):
23    self.assertEquals(('dev', 'extensions/stuff.html', False),
24                      self._branch_util.SplitChannelNameFromPath(
25                      'dev/extensions/stuff.html'))
26    self.assertEquals(('beta', 'extensions/stuff.html', False),
27                      self._branch_util.SplitChannelNameFromPath(
28                      'beta/extensions/stuff.html'))
29    self.assertEquals(('trunk', 'extensions/stuff.html', False),
30                      self._branch_util.SplitChannelNameFromPath(
31                      'trunk/extensions/stuff.html'))
32    self.assertEquals(('stable', 'extensions/stuff.html', False),
33                      self._branch_util.SplitChannelNameFromPath(
34                      'extensions/stuff.html'))
35    self.assertEquals(('trunk', 'apps/stuff.html', False),
36                      self._branch_util.SplitChannelNameFromPath(
37                      'apps/stuff.html'))
38    self.assertEquals(('stable', 'extensions/dev/stuff.html', False),
39                      self._branch_util.SplitChannelNameFromPath(
40                      'extensions/dev/stuff.html'))
41    self.assertEquals(('stable', 'stuff.html', True),
42                      self._branch_util.SplitChannelNameFromPath(
43                      'stuff.html'))
44
45  def testGetBranchNumberForChannelName(self):
46    self.assertEquals('1145',
47                      self._branch_util.GetBranchNumberForChannelName('dev'))
48    self.assertEquals('1084',
49                      self._branch_util.GetBranchNumberForChannelName('beta'))
50    self.assertEquals('1084',
51                      self._branch_util.GetBranchNumberForChannelName('stable'))
52    self.assertEquals('trunk',
53                      self._branch_util.GetBranchNumberForChannelName('trunk'))
54
55if __name__ == '__main__':
56  unittest.main()
57