def test_timeout(self): """ Google doesn't offer any services on our crazy ports """ addr = 'http://google.com:%s' % self.portNumber proxy = Proxy(addr, jsonrpc.VERSION_1, connectTimeout=0.1) d = proxy.callRemote('sleep', 5) def finished(result): self.assertTrue(isinstance(result.value, TimeoutError)) d.addErrback(finished) return d
def test_anonymousError(self): addr = 'http://localhost:%s' % self.portNumber proxy = Proxy(addr, credentials=Anonymous()) d = proxy.callRemote('echo', '') e = self.assertFailure(d, jsonrpc.JSONRPCError) def finished(result): self.assertEquals(result.strerror, 'Unauthorized') self.assertEquals(result.errno, jsonrpc.INVALID_REQUEST) e.addCallback(finished) return d
def test_keywordsV2(self): data = 'some random string' addr = 'http://localhost:%s' % self.portNumber proxy = Proxy(addr, jsonrpc.VERSION_2) d = proxy.callRemote('echo', data=data) def finished(result): self.assertEquals(result, data) d.addCallback(finished) return d
def test_bodyFromResponseProtocolBody(self): data = 'some random string' proxy = Proxy('', '') response = DummyResponse(data) d = proxy.bodyFromResponse(response) def finished(_): self.assertEquals(response.protocol.body, data) d.addCallback(finished) return d
def test_bodyFromResponseDeferred(self): data = 'some random string' proxy = Proxy('', '') response = DummyResponse(data) d = proxy.bodyFromResponse(response) def finished(result): self.assertEquals(result, data) d.addCallback(finished) return d
def test_anonymousLogin(self): data = 'some random string' addr = 'http://localhost:%s' % self.portNumber proxy = Proxy(addr, jsonrpc.VERSION_1, credentials=Anonymous()) d = proxy.callRemote('echo', data) def finished(result): self.assertEquals(result, data) d.addCallback(finished) return d
def test_callRemoteV1NoMethod(self): addr = 'http://localhost:%s' % self.portNumber proxy = Proxy(addr, jsonrpc.VERSION_1) d = proxy.callRemote('nosuchmethod') e = self.assertFailure(d, jsonrpc.JSONRPCError) def finished(result): self.assertEquals(result.strerror, 'Method nosuchmethod not found') self.assertEquals(result.errno, jsonrpc.METHOD_NOT_FOUND) self.assertEquals(result.version, jsonrpc.VERSION_1) e.addCallback(finished) return e
def test_loginOk(self): data = 'some random string' addr = 'http://localhost:%s' % self.portNumber credentials = UsernamePassword('user', 'password') proxy = Proxy(addr, credentials=credentials) d = proxy.callRemote('echo', data) def finished(result): self.assertEquals(result, data) d.addCallback(finished) return d
def test_loginWrongUser(self): addr = 'http://localhost:%s' % self.portNumber credentials = UsernamePassword('wrong user', 'password1') proxy = Proxy(addr, credentials=credentials) d = proxy.callRemote('echo', '') e = self.assertFailure(d, jsonrpc.JSONRPCError) def finished(result): self.assertEquals(result.strerror, 'Unauthorized') self.assertEquals(result.errno, jsonrpc.INVALID_REQUEST) e.addCallback(finished) return d
def test_callRemoteV2InvalidParams(self): addr = 'http://localhost:%s' % self.portNumber proxy = Proxy(addr, jsonrpc.VERSION_2) d = proxy.callRemote('echo', 'abc', 'def') e = self.assertFailure(d, jsonrpc.JSONRPCError) def finished(result): msg = 'jsonrpc_echo() takes exactly 2 arguments (3 given)' self.assertEquals(result.strerror, msg) self.assertEquals(result.errno, jsonrpc.INVALID_PARAMS) self.assertEquals(result.version, unicode(jsonrpc.VERSION_2)) e.addCallback(finished) return e
def test_keywordsUnexpected(self): data = 'some random string' addr = 'http://localhost:%s' % self.portNumber proxy = Proxy(addr, jsonrpc.VERSION_1) d = proxy.callRemote('echo', wrongname=data) e = self.assertFailure(d, jsonrpc.JSONRPCError) def finished(result): msg = 'jsonrpc_echo() got an unexpected keyword argument ' + \ '\'wrongname\'' self.assertEquals(result.strerror, msg) self.assertEquals(result.errno, jsonrpc.INVALID_PARAMS) e.addCallback(finished) return d
def test_init(self): url = 'https://example.org/abcdef' version = '2.0' proxy = Proxy(url, version, contextFactory=WebClientContextFactory()) self.assertEquals(proxy.url, url) self.assertEquals(proxy.version, version)
def test_init(self): url = 'http://example.org/abcdef' version = '2.0' proxy = Proxy(url, version) self.assertEquals(proxy.url, url) self.assertEquals(proxy.version, version)
def test_init(self): url = 'http://example.org/abcdef' version = '2.0' proxy = Proxy(url, version) self.assertEquals(proxy.url, url) self.assertEquals(proxy.version, version) self.assertTrue(isinstance(proxy.credentials, Anonymous))
def test_callRemote(self): """ The test itself passes, but trial raises "Reactor was unclean" after tearDown.. Might be related to http://twistedmatrix.com/trac/ticket/5118 """ data = 'some random string' addr = 'https://localhost:%s' % self.portNumber proxy = Proxy(addr, jsonrpc.VERSION_1, contextFactory=WebClientContextFactory()) d = proxy.callRemote('echo', data) def finished(result): self.assertEquals(result, data) d.addCallback(finished) return d
print "Result: %s" % str(value) def printError(error): print 'error', error.value def shutDown(data): print "Shutting down reactor..." reactor.stop() address = 'http://localhost:8999' credentials = UsernamePassword('user123', 'password456') proxy = Proxy(address, credentials=credentials) ds = [] d = proxy.callRemote('echo', ['ajajaj', 'bjbjbj']) d.addCallbacks(printValue, printError) ds.append(d) d = proxy.callRemote('add', 14, 15) d.addCallbacks(printValue, printError) ds.append(d) d = proxy.callRemote('mysql_first_user') d.addCallbacks(printValue, printError) ds.append(d) d = proxy.callRemote('none')
def test_poolPassing(self): pool = HTTPConnectionPool(reactor) proxy = Proxy('', pool=pool) self.assertEqual(id(proxy.agent._pool), id(pool))
def printValue(value): print "Result: %s" % str(value) def printError(error): print 'error', error.value def shutDown(data): print "Shutting down reactor..." reactor.stop() address = 'https://localhost:8999' proxy = Proxy(address, contextFactory=WebClientContextFactory()) ds = [] d = proxy.callRemote('echo', ['ajajaj', 'bjbjbj']) d.addCallbacks(printValue, printError) ds.append(d) d = proxy.callRemote('add', 14, 15) d.addCallbacks(printValue, printError) ds.append(d) d = proxy.callRemote('mysql_first_user') d.addCallbacks(printValue, printError) ds.append(d) d = proxy.callRemote('none')
def printValue(value): print "Result: %s" % str(value) def printError(error): print 'error', error.value def shutDown(data): print "Shutting down reactor..." reactor.stop() address = 'http://localhost:8999' credentials=UsernamePassword('user123', 'password456') proxy = Proxy(address, credentials=credentials) ds = [] d = proxy.callRemote('echo', ['ajajaj', 'bjbjbj']) d.addCallbacks(printValue, printError) ds.append(d) d = proxy.callRemote('add', 14, 15) d.addCallbacks(printValue, printError) ds.append(d) d = proxy.callRemote('mysql_first_user') d.addCallbacks(printValue, printError) ds.append(d) d = proxy.callRemote('none')
def test_init_agent(self): proxy = Proxy('', '', contextFactory=WebClientContextFactory()) self.assertTrue(isinstance(proxy.agent, Agent)) self.assertTrue( isinstance(proxy.agent._contextFactory, ssl.ClientContextFactory))
def test_init_agent(self): proxy = Proxy('', '') self.assertTrue(isinstance(proxy.agent, Agent))