1#!/usr/bin/python
2# Copyright 2015 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
10_CATAPULT_PATH = os.path.abspath(os.path.join(
11    os.path.dirname(__file__), os.path.pardir, os.path.pardir))
12sys.path.insert(0, os.path.join(_CATAPULT_PATH, 'third_party', 'mock'))
13
14import mock
15
16from bisect_lib import fetch_revision_info
17
18_TEST_DATA_PATH = os.path.join(os.path.dirname(__file__), 'test_data')
19_MOCK_RESPONSE_PATH = os.path.join(_TEST_DATA_PATH, 'MOCK_INFO_RESPONSE_FILE')
20
21
22class ChromiumRevisionsTest(unittest.TestCase):
23
24  def testRevisionInfo(self):
25    commit_hash = 'c89130e28fd01062104e1be7f3a6fc3abbb80ca9'
26    with mock.patch('urllib2.urlopen', mock.MagicMock(
27        return_value=open(_MOCK_RESPONSE_PATH))):
28      revision_info = fetch_revision_info.FetchRevisionInfo(
29          commit_hash, depot_name='chromium')
30    self.assertEqual(
31        {
32            'body': ('\nHiding actions without the toolbar redesign '
33                     'means removing them entirely, so if\nthey exist '
34                     'in the toolbar, they are considered \'visible\' '
35                     '(even if they are in\nthe chevron).\n\n'
36                     'BUG=544859\nBUG=548160\n\nReview URL: '
37                     'https://codereview.chromium.org/1414343003\n\n'
38                     'Cr-Commit-Position: refs/heads/master@{#356400}'),
39            'date': 'Tue Oct 27 21:26:30 2015',
40            'subject': ('[Extensions] Fix hiding browser actions '
41                        'without the toolbar redesign'),
42            'email': 'rdevlin.cronin@chromium.org',
43            'author': 'rdevlin.cronin'
44        },
45        revision_info)
46
47
48if __name__ == '__main__':
49  unittest.main()
50