def test_getFactoryClassPassed(self): class FakeFactory(object): pass proxy = BaseProxy() factoryClass = proxy._getFactoryClass({"factoryClass": FakeFactory}) self.assertEquals(factoryClass, FakeFactory)
def __init__(self, host, port, version=jsonrpclib.VERSION_PRE1, factoryClass=QueryFactory): """ @type host: C{str} @param host: The host to which method calls are made. @type port: C{integer} @param port: The host's port to which method calls are made. @type version: C{int} @param version: The version indicates which JSON-RPC spec to support. The available choices are jsonrpclib.VERSION*. The default is to use the version of the spec that txJSON-RPC was originally released with, pre-Version 1.0. @type factoryClass: C{object} @param factoryClass: The factoryClass should be a subclass of QueryFactory (class, not instance) that will be used instead of QueryFactory. """ BaseProxy.__init__(self, version, factoryClass) self.host = host self.port = port
def __init__(self, url, user=None, password=None, version=jsonrpclib.VERSION_PRE1, factoryClass=QueryFactory, ssl_ctx_factory=None): """ @type url: C{str} @param url: The URL to which to post method calls. Calls will be made over SSL if the scheme is HTTPS. If netloc contains username or password information, these will be used to authenticate, as long as the C{user} and C{password} arguments are not specified. @type user: C{str} or None @param user: The username with which to authenticate with the server when making calls. If specified, overrides any username information embedded in C{url}. If not specified, a value may be taken from C{url} if present. @type password: C{str} or None @param password: The password with which to authenticate with the server when making calls. If specified, overrides any password information embedded in C{url}. If not specified, a value may be taken from C{url} if present. @type version: C{int} @param version: The version indicates which JSON-RPC spec to support. The available choices are jsonrpclib.VERSION*. The default is to use the version of the spec that txJSON-RPC was originally released with, pre-Version 1.0. @type ssl_ctx_factory: C{twisted.internet.ssl.ClientContextFactory} or None @param ssl_ctx_factory: SSL client context factory class to use instead of default twisted.internet.ssl.ClientContextFactory. """ BaseProxy.__init__(self, version, factoryClass) scheme, netloc, path, params, query, fragment = urlparse.urlparse(url) netlocParts = netloc.split('@') if len(netlocParts) == 2: userpass = netlocParts.pop(0).split(':') self.user = userpass.pop(0) try: self.password = userpass.pop(0) except: self.password = None else: self.user = self.password = None hostport = netlocParts[0].split(':') self.host = hostport.pop(0) try: self.port = int(hostport.pop(0)) except: self.port = None self.path = path if self.path in ['', None]: self.path = '/' self.secure = (scheme == 'https') if user is not None: self.user = user if password is not None: self.password = password self.ssl_ctx_factory = ssl_ctx_factory
def __init__(self, path, version=jsonrpclib.VERSION_PRE1, factoryClass=UnixQueryFactory): """ @type host: C{str} @param host: The host to which method calls are made. @type port: C{integer} @param port: The host's port to which method calls are made. @type version: C{int} @param version: The version indicates which JSON-RPC spec to support. The available choices are jsonrpclib.VERSION*. The default is to use the version of the spec that txJSON-RPC was originally released with, pre-Version 1.0. @type factoryClass: C{object} @param factoryClass: The factoryClass should be a subclass of QueryFactory (class, not instance) that will be used instead of QueryFactory. """ BaseProxy.__init__(self, version, factoryClass) self.path = path
def test_getFactoryClassDefault(self): proxy = BaseProxy() factoryClass = proxy._getFactoryClass({}) self.assertEquals(factoryClass, None)
def test_getVersion1(self): proxy = BaseProxy() version = proxy._getVersion({"version": VERSION_1}) self.assertEquals(version, VERSION_1)
def test_getVersionDefault(self): proxy = BaseProxy() version = proxy._getVersion({}) self.assertEquals(version, VERSION_PRE1)
def test_creation(self): proxy = BaseProxy() self.assertEquals(proxy.version, VERSION_PRE1) self.assertEquals(proxy.factoryClass, None)