summaryrefslogtreecommitdiffstats
path: root/tests/test_ipalib/test_rpc.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_ipalib/test_rpc.py')
-rw-r--r--tests/test_ipalib/test_rpc.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/tests/test_ipalib/test_rpc.py b/tests/test_ipalib/test_rpc.py
index bc8936ab6..30175e3bf 100644
--- a/tests/test_ipalib/test_rpc.py
+++ b/tests/test_ipalib/test_rpc.py
@@ -22,7 +22,7 @@ Test the `ipalib.rpc` module.
"""
import threading
-from xmlrpclib import Binary, Fault, dumps, loads
+from xmlrpclib import Binary, Fault, dumps, loads, ServerProxy
from tests.util import raises, assert_equal, PluginTester, DummyClass
from tests.data import binary_bytes, utf8_bytes, unicode_str
from ipalib.frontend import Command
@@ -184,6 +184,20 @@ class test_xmlclient(PluginTester):
"""
_plugin = rpc.xmlclient
+ def test_connect(self):
+ (o, api, home) = self.instance('Backend', in_server=False)
+
+ # Test that StandardError is raised if conntext.xmlconn already exists:
+ context.xmlconn = 'The xmlrpclib.ServerProxy instance'
+ e = raises(StandardError, o.connect)
+ assert str(e) == '%s.connect(): context.%s already exists in thread %r' % (
+ 'xmlclient', 'xmlconn', threading.currentThread().getName()
+ )
+
+ del context.xmlconn
+ o.connect()
+ assert isinstance(context.xmlconn, ServerProxy)
+
def test_forward(self):
"""
Test the `ipalib.rpc.xmlclient.forward` method.