Revision d971402f test/ganeti.cli_unittest.py
b/test/ganeti.cli_unittest.py | ||
---|---|---|
922 | 922 |
self.assertEqual(cli.FormatTimestamp(i), "?") |
923 | 923 |
|
924 | 924 |
|
925 |
if __name__ == '__main__': |
|
925 |
class TestFormatUsage(unittest.TestCase): |
|
926 |
def test(self): |
|
927 |
binary = "gnt-unittest" |
|
928 |
commands = { |
|
929 |
"cmdA": |
|
930 |
(NotImplemented, NotImplemented, NotImplemented, NotImplemented, |
|
931 |
"description of A"), |
|
932 |
"bbb": |
|
933 |
(NotImplemented, NotImplemented, NotImplemented, NotImplemented, |
|
934 |
"Hello World," * 10), |
|
935 |
"longname": |
|
936 |
(NotImplemented, NotImplemented, NotImplemented, NotImplemented, |
|
937 |
"Another description"), |
|
938 |
} |
|
939 |
|
|
940 |
self.assertEqual(list(cli._FormatUsage(binary, commands)), [ |
|
941 |
"Usage: gnt-unittest {command} [options...] [argument...]", |
|
942 |
"gnt-unittest <command> --help to see details, or man gnt-unittest", |
|
943 |
"", |
|
944 |
"Commands:", |
|
945 |
(" bbb - Hello World,Hello World,Hello World,Hello World,Hello" |
|
946 |
" World,Hello"), |
|
947 |
" World,Hello World,Hello World,Hello World,Hello World,", |
|
948 |
" cmdA - description of A", |
|
949 |
" longname - Another description", |
|
950 |
"", |
|
951 |
]) |
|
952 |
|
|
953 |
|
|
954 |
class TestParseArgs(unittest.TestCase): |
|
955 |
def testNoArguments(self): |
|
956 |
for argv in [[], ["gnt-unittest"]]: |
|
957 |
try: |
|
958 |
cli._ParseArgs("gnt-unittest", argv, {}, {}, set()) |
|
959 |
except cli._ShowUsage, err: |
|
960 |
self.assertTrue(err.exit_error) |
|
961 |
else: |
|
962 |
self.fail("Did not raise exception") |
|
963 |
|
|
964 |
def testVersion(self): |
|
965 |
for argv in [["test", "--version"], ["test", "--version", "somethingelse"]]: |
|
966 |
try: |
|
967 |
cli._ParseArgs("test", argv, {}, {}, set()) |
|
968 |
except cli._ShowVersion: |
|
969 |
pass |
|
970 |
else: |
|
971 |
self.fail("Did not raise exception") |
|
972 |
|
|
973 |
def testHelp(self): |
|
974 |
for argv in [["test", "--help"], ["test", "--help", "somethingelse"]]: |
|
975 |
try: |
|
976 |
cli._ParseArgs("test", argv, {}, {}, set()) |
|
977 |
except cli._ShowUsage, err: |
|
978 |
self.assertFalse(err.exit_error) |
|
979 |
else: |
|
980 |
self.fail("Did not raise exception") |
|
981 |
|
|
982 |
def testUnknownCommandOrAlias(self): |
|
983 |
for argv in [["test", "list"], ["test", "somethingelse", "--help"]]: |
|
984 |
try: |
|
985 |
cli._ParseArgs("test", argv, {}, {}, set()) |
|
986 |
except cli._ShowUsage, err: |
|
987 |
self.assertTrue(err.exit_error) |
|
988 |
else: |
|
989 |
self.fail("Did not raise exception") |
|
990 |
|
|
991 |
def testInvalidAliasList(self): |
|
992 |
cmd = { |
|
993 |
"list": NotImplemented, |
|
994 |
"foo": NotImplemented, |
|
995 |
} |
|
996 |
aliases = { |
|
997 |
"list": NotImplemented, |
|
998 |
"foo": NotImplemented, |
|
999 |
} |
|
1000 |
assert sorted(cmd.keys()) == sorted(aliases.keys()) |
|
1001 |
self.assertRaises(AssertionError, cli._ParseArgs, "test", |
|
1002 |
["test", "list"], cmd, aliases, set()) |
|
1003 |
|
|
1004 |
def testAliasForNonExistantCommand(self): |
|
1005 |
cmd = {} |
|
1006 |
aliases = { |
|
1007 |
"list": NotImplemented, |
|
1008 |
} |
|
1009 |
self.assertRaises(errors.ProgrammerError, cli._ParseArgs, "test", |
|
1010 |
["test", "list"], cmd, aliases, set()) |
|
1011 |
|
|
1012 |
|
|
1013 |
if __name__ == "__main__": |
|
926 | 1014 |
testutils.GanetiTestProgram() |
Also available in: Unified diff