From f29c827d06cb455709d3b07baf727913381709ca Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Thu, 18 Sep 2008 23:53:23 +0000 Subject: 301: Command.args_to_kw() now raises ArgumentError if more args than max_args are given --- ipalib/tests/test_public.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'ipalib/tests/test_public.py') diff --git a/ipalib/tests/test_public.py b/ipalib/tests/test_public.py index 80151fa0..939d59e8 100644 --- a/ipalib/tests/test_public.py +++ b/ipalib/tests/test_public.py @@ -600,6 +600,9 @@ class test_Command(ClassChecker): assert str(e) == 'example takes at least 2 arguments' def test_args_to_kw(self): + """ + Test the `public.Command.args_to_kw` method. + """ o = self.get_instance(args=('one', 'two?')) assert o.args_to_kw(1) == dict(one=1) assert o.args_to_kw(1, 2) == dict(one=1, two=2) @@ -614,9 +617,21 @@ class test_Command(ClassChecker): assert o.args_to_kw(1, 2) == dict(one=1, two=(2,)) assert o.args_to_kw(1, 2, 3) == dict(one=1, two=(2, 3)) + o = self.get_instance() + e = raises(errors.ArgumentError, o.args_to_kw, 1) + assert str(e) == 'example takes no arguments' + + o = self.get_instance(args=('one?',)) + e = raises(errors.ArgumentError, o.args_to_kw, 1, 2) + assert str(e) == 'example takes at most 1 argument' + + o = self.get_instance(args=('one', 'two?')) + e = raises(errors.ArgumentError, o.args_to_kw, 1, 2, 3) + assert str(e) == 'example takes at most 2 arguments' + def test_kw_to_args(self): """ - Tests the `public.Command.kw_to_arg` method. + Tests the `public.Command.kw_to_args` method. """ o = self.get_instance(args=('one', 'two?')) assert o.kw_to_args() == (None, None) @@ -627,7 +642,6 @@ class test_Command(ClassChecker): ('One', 'Two') - class test_Object(ClassChecker): """ Tests the `public.Object` class. -- cgit