branch_utility_test.py revision b2df76ea8fec9e32f6f3718986dba0d95315b29c
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
13from test_object_store import TestObjectStore
14
15class BranchUtilityTest(unittest.TestCase):
16  def setUp(self):
17    self._branch_util = BranchUtility(
18        os.path.join('branch_utility', 'first.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 testGetBranchForChannel(self):
49    self.assertEquals('1145', self._branch_util.GetBranchForChannel('dev'))
50    self.assertEquals('1084', self._branch_util.GetBranchForChannel('beta'))
51    self.assertEquals('1084', self._branch_util.GetBranchForChannel('stable'))
52    self.assertEquals('trunk', self._branch_util.GetBranchForChannel('trunk'))
53
54if __name__ == '__main__':
55  unittest.main()
56