def test_receive_bad_op(self): class FakeMsg(object): def __init__(self): self.named = ["ein", "zwei"] cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self) ch = self._setup_mock_channel(value=cvalue, op="no_exist") e.attach_channel(ch) e.spawn_listener() e._recv_greenlet.join() # test to make sure send got called with our error ch.send.assert_called_once_with(None, {'status_code':400, 'error_message':'Unknown op name: no_exist', 'conv-id': '', 'conv-seq': 2, 'protocol':'', 'performative': 'failure', 'language':'ion-r2', 'encoding':'msgpack', 'format':'NoneType', 'receiver': ',', 'ts': sentinel.ts, 'reply-by': 'todo'})
def test_recv_bad_kwarg(self): # we try to call simple with the kwarg "not_named" instead of the correct one class FakeMsg(object): def __init__(self): self.not_named = ["ein", "zwei"] cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self) ch = self._setup_mock_channel(value=cvalue, op="simple") e.attach_channel(ch) e.spawn_listener() e._recv_greenlet.join() # test to make sure send got called with our error ch.send.assert_called_once_with(None, {'status_code':500, 'error_message':'simple() got an unexpected keyword argument \'not_named\'', 'conv-id': '', 'conv-seq': 2, 'protocol':'', 'performative': 'failure', 'language':'ion-r2', 'encoding':'msgpack', 'format':'NoneType', 'receiver': ',', 'ts': sentinel.ts, 'reply-by': 'todo'})
def test__message_received_error_in_op(self): # we want to make sure IonExceptions raised in business logic get a response, now that # _message_received sends the responses class FakeMsg(object): pass cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self) ch = self._setup_mock_channel(value=cvalue, op="error_op") e.attach_channel(ch) e.send = Mock() e.spawn_listener() e._recv_greenlet.join() e.send.assert_called_once_with( None, { "status_code": 401, "error_message": str(sentinel.unauth), "conv-id": "", "conv-seq": 2, "protocol": "", "performative": "failure", }, )
def test_receive_bad_op(self): class FakeMsg(object): def __init__(self): self.named = ["ein", "zwei"] cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self) ch = self._setup_mock_channel(value=cvalue, op="no_exist") e.attach_channel(ch) e.spawn_listener() e._recv_greenlet.join() # test to make sure send got called with our error ch.send.assert_called_once_with( None, { "status_code": 400, "error_message": "Unknown op name: no_exist", "conv-id": "", "conv-seq": 2, "protocol": "", "performative": "failure", "language": "ion-r2", "encoding": "msgpack", "format": "NoneType", "receiver": ",", "ts": sentinel.ts, "reply-by": "todo", }, )
def test_recv_bad_kwarg(self): # we try to call simple with the kwarg "not_named" instead of the correct one class FakeMsg(object): def __init__(self): self.not_named = ["ein", "zwei"] cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self) ch = self._setup_mock_channel(value=cvalue, op="simple") e.attach_channel(ch) e.spawn_listener() e._recv_greenlet.join() # test to make sure send got called with our error ch.send.assert_called_once_with( None, { "status_code": 500, "error_message": "simple() got an unexpected keyword argument 'not_named'", "conv-id": "", "conv-seq": 2, "protocol": "", "performative": "failure", "language": "ion-r2", "encoding": "msgpack", "format": "NoneType", "receiver": ",", "ts": sentinel.ts, "reply-by": "todo", }, )
def test__message_received_error_in_op(self): # we want to make sure IonExceptions raised in business logic get a response, now that # _message_received sends the responses class FakeMsg(object): pass cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self) ch = self._setup_mock_channel(value=cvalue, op="error_op") e.attach_channel(ch) e.send = Mock() e.spawn_listener() e._recv_greenlet.join() e.send.assert_called_once_with( None, { 'status_code': 401, 'error_message': str(sentinel.unauth), 'conv-id': '', 'conv-seq': 2, 'protocol': '', 'performative': 'failure' })
def test_recv_bad_kwarg(self): # we try to call simple with the kwarg "not_named" instead of the correct one class FakeMsg(object): def __init__(self): self.not_named = ["ein", "zwei"] cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self) ch = self._setup_mock_channel(value=cvalue, op="simple") e.attach_channel(ch) e.spawn_listener() e._recv_greenlet.join() # test to make sure send got called with our error ch.send.assert_called_once_with(None, {'status_code':500, 'error_message':'simple() got an unexpected keyword argument \'not_named\'', 'conv-id': '', 'conv-seq': 2, 'protocol':'', 'performative': 'failure', 'language':'ion-r2', 'encoding':'msgpack', 'format':'NoneType', 'receiver': ',', 'reply-by': 'todo'})
def test_receive_bad_op(self): class FakeMsg(object): def __init__(self): self.named = ["ein", "zwei"] cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self) ch = self._setup_mock_channel(value=cvalue, op="no_exist") e.attach_channel(ch) e.spawn_listener() e._recv_greenlet.join() # test to make sure send got called with our error ch.send.assert_called_once_with(None, {'status_code':400, 'error_message':'Unknown op name: no_exist', 'conv-id': '', 'conv-seq': 2, 'protocol':'', 'performative': 'failure', 'language':'ion-r2', 'encoding':'msgpack', 'format':'NoneType', 'receiver': ',', 'reply-by': 'todo'})
def test_endpoint_receive(self): self._ar = event.AsyncResult() # build a command object to be returned by the mocked channel class FakeMsg(object): def __init__(self): self.named = ["ein", "zwei"] cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self) ch = self._setup_mock_channel(value=cvalue, op="simple") e.attach_channel(ch) e.spawn_listener() args = self._ar.get() self.assertEquals(args, ["ein", "zwei"])
def test__message_received_error_in_op(self): # we want to make sure IonExceptions raised in business logic get a response, now that # _message_received sends the responses class FakeMsg(object): pass cvalue = FakeMsg() e = RPCResponseEndpointUnit(routing_obj=self, interceptors={}) ch = self._setup_mock_channel(value=cvalue, op="error_op") e.attach_channel(ch) e.send = Mock() e.spawn_listener() e._recv_greenlet.join() assert_called_once_with_header(self, e.send, {'status_code': 401, 'error_message': str(sentinel.unauth), 'conv-id': '', 'conv-seq': 2, 'protocol':'', 'performative':'failure'})