def test_call(self): class DummyGateway(object): def __init__(self, tc): self.tc = tc def addRequest(self, method_proxy, *args): self.tc.assertEqual(method_proxy, self.method_proxy) self.tc.assertEqual(args, self.args) self.request = {'method_proxy': method_proxy, 'args': args} return self.request def execute_single(self, request): self.tc.assertEqual(request, self.request) return pyamf.ASObject(body=None, status=None) gw = DummyGateway(self) x = client.ServiceProxy(gw, 'test') y = x.spam gw.method_proxy = y gw.args = () y() gw.args = (1, 2, 3) y(1, 2, 3)
def test_create(self): x = client.ServiceProxy('spam', 'eggs') self.assertEqual(x._gw, 'spam') self.assertEqual(x._name, 'eggs') self.assertEqual(x._auto_execute, True) x = client.ServiceProxy('hello', 'world', True) self.assertEqual(x._gw, 'hello') self.assertEqual(x._name, 'world') self.assertEqual(x._auto_execute, True) x = client.ServiceProxy(ord, chr, False) self.assertEqual(x._gw, ord) self.assertEqual(x._name, chr) self.assertEqual(x._auto_execute, False)
def test_service_call(self): class DummyGateway(object): def __init__(self, tc): self.tc = tc def addRequest(self, method_proxy, *args): self.tc.assertEqual(method_proxy.service, self.x) self.tc.assertEqual(method_proxy.name, None) return pyamf.ASObject(method_proxy=method_proxy, args=args) def execute_single(self, request): return pyamf.ASObject(body=None, status=None) gw = DummyGateway(self) x = client.ServiceProxy(gw, 'test') gw.x = x x()
def test_error(self): class DummyGateway(object): def __init__(self, tc): self.tc = tc def addRequest(self, method_proxy, *args): self.request = pyamf.ASObject(method_proxy=method_proxy, args=args) return self.request def execute_single(self, request): body = remoting.ErrorFault(code='TypeError', description='foobar') return remoting.Response(status=remoting.STATUS_ERROR, body=body) gw = DummyGateway(self) proxy = client.ServiceProxy(gw, 'test') self.assertRaises(TypeError, proxy)
def test_pending_call(self): class DummyGateway(object): def __init__(self, tc): self.tc = tc def addRequest(self, method_proxy, *args): self.tc.assertEquals(method_proxy, self.method_proxy) self.tc.assertEquals(args, self.args) self.request = pyamf.ASObject(method_proxy=method_proxy, args=args) return self.request gw = DummyGateway(self) x = client.ServiceProxy(gw, 'test', False) y = x.eggs gw.method_proxy = y gw.args = () res = y() self.assertEquals(id(gw.request), id(res))
def test_getattr(self): x = client.ServiceProxy(None, None) y = x.spam self.assertTrue(isinstance(y, client.ServiceMethodProxy)) self.assertEqual(y.name, 'spam')
def test_str(self): x = client.ServiceProxy(None, 'test') self.assertEqual(str(x), 'test')