3 __author__
= 'raphtee@google.com (Travis Miller)'
7 from autotest_lib
.server
import utils
10 class UtilsTest(unittest
.TestCase
):
13 # define out machines here
14 self
.machines
= ['mach1', 'mach2', 'mach3', 'mach4', 'mach5',
17 self
.ntuples
= [['mach1', 'mach2'], ['mach3', 'mach4'],
20 self
.failures
.append(('mach7', "machine can not be tupled"))
23 def test_form_cell_mappings(self
):
24 (ntuples
, failures
) = utils
.form_ntuples_from_machines(self
.machines
)
25 self
.assertEquals(self
.ntuples
, ntuples
)
26 self
.assertEquals(self
.failures
, failures
)
29 # parse_machine() test cases
30 def test_parse_machine_good(self
):
31 '''test that parse_machine() is outputting the correct data'''
32 gooddata
= (('host', ('host', 'root', '', 22)),
33 ('host:21', ('host', 'root', '', 21)),
34 ('user@host', ('host', 'user', '', 22)),
35 ('user:pass@host', ('host', 'user', 'pass', 22)),
36 ('user:pass@host:1234', ('host', 'user', 'pass', 1234)),
38 for machine
, result
in gooddata
:
39 self
.assertEquals(utils
.parse_machine(machine
), result
)
42 def test_parse_machine_override(self
):
43 '''Test that parse_machine() defaults can be overridden'''
44 self
.assertEquals(utils
.parse_machine('host', 'bob', 'foo', 1234),
45 ('host', 'bob', 'foo', 1234))
48 def test_parse_machine_bad(self
):
49 '''test that bad data passed to parse_machine() will raise an exception'''
50 baddata
= (('host:port', ValueError), # pass a non-integer string for port
51 ('host:22:33', ValueError), # pass two ports
52 (':22', ValueError), # neglect to pass a hostname #1
53 ('user@', ValueError), # neglect to pass a hostname #2
54 ('user@:22', ValueError), # neglect to pass a hostname #3
55 (':pass@host', ValueError), # neglect to pass a username
57 for machine
, exception
in baddata
:
58 self
.assertRaises(exception
, utils
.parse_machine
, machine
)
61 if __name__
== "__main__":