diff options
Diffstat (limited to 'tests/test_xmlrpc/test_batch_plugin.py')
-rw-r--r-- | tests/test_xmlrpc/test_batch_plugin.py | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/tests/test_xmlrpc/test_batch_plugin.py b/tests/test_xmlrpc/test_batch_plugin.py deleted file mode 100644 index 55e557050..000000000 --- a/tests/test_xmlrpc/test_batch_plugin.py +++ /dev/null @@ -1,232 +0,0 @@ -# Authors: -# Petr Viktorin <pviktori@redhat.com> -# -# Copyright (C) 2012 Red Hat -# see file 'COPYING' for use and warranty information -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -""" -Test the `ipalib/plugins/batch.py` module. -""" - -from ipalib import api, errors -from tests.test_xmlrpc import objectclasses -from tests.util import assert_equal, Fuzzy, assert_deepequal -from xmlrpc_test import Declarative, fuzzy_digits, fuzzy_uuid -from ipapython.dn import DN - -group1 = u'testgroup1' - - -def deepequal_list(*expected): - """Factory for a function that checks a list - - The created function asserts items of a list are "deepequal" to the given - argument. Unlike using assert_deepequal directly, the order matters. - """ - def checker(got): - if len(expected) != len(got): - raise AssertionError('Expected %s entries, got %s\n\n%s\n%s' % - (len(expected), len(got), expected, got)) - for e, g in zip(expected, got): - assert_deepequal(e, g) - return True - return checker - - -class test_batch(Declarative): - - cleanup_commands = [ - ('group_del', [group1], {}), - ] - - tests = [ - - dict( - desc='Batch ping', - command=('batch', [dict(method='ping', params=([], {}))], {}), - expected=dict( - count=1, - results=[ - dict(summary=Fuzzy('IPA server version .*'), error=None), - ] - ), - ), - - dict( - desc='Batch two pings', - command=('batch', [dict(method='ping', params=([], {}))] * 2, {}), - expected=dict( - count=2, - results=[ - dict(summary=Fuzzy('IPA server version .*'), error=None), - dict(summary=Fuzzy('IPA server version .*'), error=None), - ] - ), - ), - - dict( - desc='Create and deleting a group', - command=('batch', [ - dict(method='group_add', - params=([group1], dict(description=u'Test desc 1'))), - dict(method='group_del', params=([group1], dict())), - ], {}), - expected=dict( - count=2, - results=deepequal_list( - dict( - value=group1, - summary=u'Added group "testgroup1"', - result=dict( - cn=[group1], - description=[u'Test desc 1'], - objectclass=objectclasses.group + [u'posixgroup'], - ipauniqueid=[fuzzy_uuid], - gidnumber=[fuzzy_digits], - dn=DN(('cn', 'testgroup1'), - ('cn', 'groups'), - ('cn', 'accounts'), - api.env.basedn), - ), - error=None), - dict( - summary=u'Deleted group "%s"' % group1, - result=dict(failed=u''), - value=group1, - error=None), - ), - ), - ), - - dict( - desc='Try to delete nonexistent group twice', - command=('batch', [ - dict(method='group_del', params=([group1], dict())), - dict(method='group_del', params=([group1], dict())), - ], {}), - expected=dict( - count=2, - results=[ - 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, - ), - ], - ), - ), - - dict( - desc='Try to delete non-existent group first, then create it', - command=('batch', [ - dict(method='group_del', params=([group1], dict())), - dict(method='group_add', - params=([group1], dict(description=u'Test desc 1'))), - ], {}), - expected=dict( - count=2, - results=deepequal_list( - dict( - error=u'%s: group not found' % group1, - error_name=u'NotFound', - error_code=4001, - ), - dict( - value=group1, - summary=u'Added group "testgroup1"', - result=dict( - cn=[group1], - description=[u'Test desc 1'], - objectclass=objectclasses.group + [u'posixgroup'], - ipauniqueid=[fuzzy_uuid], - gidnumber=[fuzzy_digits], - dn=DN(('cn', 'testgroup1'), - ('cn', 'groups'), - ('cn', 'accounts'), - api.env.basedn), - ), - error=None), - ), - ), - ), - - dict( - desc='Try bad command invocations', - command=('batch', [ - # bad command name - dict(method='nonexistent_ipa_command', params=([], dict())), - # dash, not underscore, in command name - dict(method='user-del', params=([], dict())), - # missing command name - dict(params=([group1], dict())), - # missing params - dict(method='user_del'), - # missing required argument - dict(method='user_add', params=([], dict())), - # missing required option - dict(method='group_add', params=([group1], dict())), - # bad type - dict(method='group_add', params=([group1], dict( - description=u't', gidnumber=u'bad'))), - ], {}), - expected=dict( - count=7, - results=deepequal_list( - 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, - ), - ), - ), - ), - - ] |