def test_async(self): d = defer.Deferred() gw = twisted.TwistedGateway( {'spam.eggs': lambda x: x}, expose_request=False ) proc = twisted.AMF3RequestProcessor(gw) request = remoting.Request('null', body=[ messaging.AsyncMessage( body=[None], destination='spam', operation='eggs') ]) def cb(result): msg = result.body try: self.assertTrue(isinstance(msg, messaging.AcknowledgeMessage)) except: d.errback() else: d.callback(None) proc(request).addCallback(cb).addErrback(lambda failure: d.errback()) return d
def test_getmessage(self): """ Tests for `getSmallMessage` """ for cls in ['AbstractMessage', 'ErrorMessage', 'RemotingMessage']: cls = getattr(messaging, cls) self.assertRaises(NotImplementedError, cls().getSmallMessage) kwargs = { 'body': { 'foo': 'bar' }, 'clientId': 'spam', 'destination': 'eggs', 'headers': { 'blarg': 'whoop' }, 'messageId': 'baz', 'timestamp': 1234, 'timeToLive': 99 } # test async a = messaging.AsyncMessage(correlationId='yay', **kwargs) m = a.getSmallMessage() k = kwargs.copy() k.update({'correlationId': 'yay'}) self.assertTrue(isinstance(m, messaging.AsyncMessageExt)) self.assertEquals(m.__dict__, k) # test command a = messaging.CommandMessage(operation='yay', **kwargs) m = a.getSmallMessage() k = kwargs.copy() k.update({ 'operation': 'yay', 'correlationId': None, 'messageRefType': None }) self.assertTrue(isinstance(m, messaging.CommandMessageExt)) self.assertEquals(m.__dict__, k) # test ack a = messaging.AcknowledgeMessage(**kwargs) m = a.getSmallMessage() k = kwargs.copy() k.update({'correlationId': None}) self.assertTrue(isinstance(m, messaging.AcknowledgeMessageExt)) self.assertEquals(m.__dict__, k)
def test_async(self): message = messaging.AsyncMessage() rp = amf3.RequestProcessor(None) request = remoting.Request('null', body=[message]) response = rp(request) ack = response.body self.assertTrue(isinstance(response, remoting.Response)) self.assertEqual(response.status, remoting.STATUS_OK) self.assertTrue(isinstance(ack, messaging.AcknowledgeMessage))