blob: c65d6317d0ae805050e59260e83f69f3bd64b943 [file] [log] [blame]
David Rochberg7c79a812011-01-19 14:24:45 -05001#!/usr/bin/python
2
3# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
4# Use of this source code is governed by a BSD-style license that can be
5# found in the LICENSE file.
6
7"""Unit tests for gmerge."""
8
9import gmerge
Chris Sosa37b217a2011-04-13 14:03:51 -070010import os
David Rochberg7c79a812011-01-19 14:24:45 -050011import unittest
12
13class Flags(object):
14 def __init__(self, dictionary):
15 self.__dict__.update(dictionary)
16
17
18class GMergeTest(unittest.TestCase):
19 """Test for gmerge."""
20
21 def setUp(self):
22 self.lsb_release_lines = [
23 'CHROMEOS_RELEASE_BOARD=x86-mario\r\n',
24 'CHROMEOS_DEVSERVER=http://localhost:8080/\n']
25
26 def testLsbRelease(self):
27 merger = gmerge.GMerger(self.lsb_release_lines)
28 self.assertEqual({'CHROMEOS_RELEASE_BOARD': 'x86-mario',
29 'CHROMEOS_DEVSERVER': 'http://localhost:8080/'},
30 merger.lsb_release)
31
32 def testPostData(self):
Chris Sosae66c2652011-04-13 14:55:25 -070033 old_env = os.environ
34 os.environ = {}
Chris Sosa37b217a2011-04-13 14:03:51 -070035 os.environ['USE'] = 'a b c d +e'
36 gmerge.FLAGS = Flags({'accept_stable': 'blah'})
David Rochberg7c79a812011-01-19 14:24:45 -050037
38 merger = gmerge.GMerger(self.lsb_release_lines)
39 self.assertEqual(
40 'use=a+b+c+d+%2Be&pkg=package_name&board=x86-mario&accept_stable=blah',
41 merger.GeneratePackageRequest('package_name'))
Chris Sosae66c2652011-04-13 14:55:25 -070042 os.environ = old_env
David Rochberg7c79a812011-01-19 14:24:45 -050043
44
45if __name__ == '__main__':
46 unittest.main()