Files
freeipa/tests/test_xmlrpc/xmlrpc_test.py
Rob Crittenden 98d4644bff Fix remaining issues with XML-RPC test cases
Tied the make-test script into the test target of the top-level Makefile
Added code to xmlrpc_test.py so that it configures the API if it isn't
already done which enables individual tests to be executed.
2009-02-04 09:03:40 -05:00

64 lines
1.8 KiB
Python

# Authors:
# Rob Crittenden <rcritten@redhat.com>
#
# Copyright (C) 2008 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; version 2 only
#
# 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, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
"""
Base class for all XML-RPC tests
"""
import sys
import socket
import nose
from ipalib import api, request
from ipalib import errors2
from ipalib import errors
# Initialize the API. We do this here so that one can run the tests
# individually instead of at the top-level. If API.bootstrap()
# has already been called we continue gracefully. Other errors will be
# raised.
try:
api.bootstrap(context='cli')
api.finalize()
except StandardError, e:
if str(e) == "API.bootstrap() already called":
pass
else:
raise e
class XMLRPC_test(object):
"""
Base class for all XML-RPC plugin tests
"""
def setUp(self):
try:
if not api.Backend.xmlclient.isconnected():
api.Backend.xmlclient.connect()
res = api.Command['user_show'](u'notfound')
except errors2.NetworkError:
raise nose.SkipTest()
except errors2.NotFound:
pass
def tearDown(self):
"""
nose tear-down fixture.
"""
request.destroy_context()