diff options
author | Petr Viktorin <pviktori@redhat.com> | 2012-07-04 08:39:21 -0400 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2012-07-11 10:49:02 +0200 |
commit | 5f69a06d1a78242a65164a94d752380613e73e44 (patch) | |
tree | d80039d6dad813ac932cf20343a11298ade9208e /tests | |
parent | e494650b2cdb6ac7e1eda3da7cf03d4c36f2739a (diff) | |
download | freeipa.git-5f69a06d1a78242a65164a94d752380613e73e44.tar.gz freeipa.git-5f69a06d1a78242a65164a94d752380613e73e44.tar.xz freeipa.git-5f69a06d1a78242a65164a94d752380613e73e44.zip |
Fix batch command error reporting
The Batch command did not report errors correctly: it reported
the text of *all* errors, not just PublicError, used unicode(e)
instead of e.strerror (which results in incorrect i18n), and only
reported the text of error messages, not their type and code.
Fix these problems. Update tests.
https://fedorahosted.org/freeipa/ticket/2874
https://fedorahosted.org/freeipa/ticket/2901
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_xmlrpc/test_batch_plugin.py | 60 |
1 files changed, 50 insertions, 10 deletions
diff --git a/tests/test_xmlrpc/test_batch_plugin.py b/tests/test_xmlrpc/test_batch_plugin.py index d69bfd9c..19728add 100644 --- a/tests/test_xmlrpc/test_batch_plugin.py +++ b/tests/test_xmlrpc/test_batch_plugin.py @@ -121,8 +121,16 @@ class test_batch(Declarative): expected=dict( count=2, results=[ - dict(error=u'%s: group not found' % group1), - dict(error=u'%s: group not found' % group1), + dict( + error=u'%s: group not found' % group1, + error_name=u'NotFound', + error_code=4001, + ), + dict( + error=u'%s: group not found' % group1, + error_name=u'NotFound', + error_code=4001, + ), ], ), ), @@ -137,7 +145,11 @@ class test_batch(Declarative): expected=dict( count=2, results=deepequal_list( - dict(error=u'%s: group not found' % group1), + dict( + error=u'%s: group not found' % group1, + error_name=u'NotFound', + error_code=4001, + ), dict( value=group1, summary=u'Added group "testgroup1"', @@ -180,13 +192,41 @@ class test_batch(Declarative): expected=dict( count=7, results=deepequal_list( - dict(error=u"unknown command 'nonexistent_ipa_command'"), - dict(error=u"unknown command 'user-del'"), - dict(error=u"'method' is required"), - dict(error=u"'params' is required"), - dict(error=u"'givenname' is required"), - dict(error=u"'description' is required"), - dict(error=Fuzzy(u"invalid 'gid'.*")), + dict( + error=u"unknown command 'nonexistent_ipa_command'", + error_name=u'CommandError', + error_code=905, + ), + dict( + error=u"unknown command 'user-del'", + error_name=u'CommandError', + error_code=905, + ), + dict( + error=u"'method' is required", + error_name=u'RequirementError', + error_code=3007, + ), + dict( + error=u"'params' is required", + error_name=u'RequirementError', + error_code=3007, + ), + dict( + error=u"'givenname' is required", + error_name=u'RequirementError', + error_code=3007, + ), + dict( + error=u"'description' is required", + error_name=u'RequirementError', + error_code=3007, + ), + dict( + error=Fuzzy(u"invalid 'gid'.*"), + error_name=u'ConversionError', + error_code=3008, + ), ), ), ), |