class TestEndpointUnit(PyonTestCase): def setUp(self): self._endpoint_unit = EndpointUnit(interceptors={}) def test_attach_channel(self): ch = Mock(spec=BaseChannel) self._endpoint_unit.attach_channel(ch) self.assertTrue(self._endpoint_unit.channel is not None) self.assertEquals(self._endpoint_unit.channel, ch) @patch('pyon.net.endpoint.get_ion_ts', Mock(return_value=sentinel.ts)) def test_send(self): # need a channel to send on self.assertRaises(AttributeError, self._endpoint_unit.send, "fake") ch = Mock(spec=SendChannel) self._endpoint_unit.attach_channel(ch) self._endpoint_unit.send("hi", {'header':'value'}) ch.send.assert_called_once_with('hi', {'header':'value', 'ts':sentinel.ts}) def test_close(self): ch = Mock(spec=BaseChannel) self._endpoint_unit.attach_channel(ch) self._endpoint_unit.close() ch.close.assert_called_once_with() def test_build_header(self): head = self._endpoint_unit._build_header({'fake': 'content'}, {}) self.assertTrue(isinstance(head, dict)) def test_build_payload(self): fakemsg = {'fake':'content'} msg = self._endpoint_unit._build_payload(fakemsg, {'fake':'header'}) self.assertEquals(msg, fakemsg) def test_build_msg(self): fakemsg = {'fake':'content'} msg, headers = self._endpoint_unit._build_msg(fakemsg, {}) self.assertEquals(msg, fakemsg) self.assertEquals(headers, {'ts':ANY}) def test_intercept_in(self): self._endpoint_unit._build_invocation = Mock() self._endpoint_unit._intercept_msg_in = Mock() self._endpoint_unit.intercept_in(sentinel.msg, sentinel.headers) self._endpoint_unit._build_invocation.assert_called_once_with(path=Invocation.PATH_IN, message=sentinel.msg, headers=sentinel.headers) self.assertTrue(self._endpoint_unit._intercept_msg_in.called) def test__message_received(self): self._endpoint_unit.message_received = Mock() self._endpoint_unit.message_received.return_value = sentinel.msg_return retval = self._endpoint_unit._message_received(sentinel.msg, sentinel.headers) self.assertEquals(retval, sentinel.msg_return) self.assertTrue(self._endpoint_unit.message_received.called)
class TestEndpointUnit(PyonTestCase): def setUp(self): self._endpoint_unit = EndpointUnit(interceptors={}) def test_attach_channel(self): ch = Mock(spec=BaseChannel) self._endpoint_unit.attach_channel(ch) self.assertTrue(self._endpoint_unit.channel is not None) self.assertEquals(self._endpoint_unit.channel, ch) @patch('pyon.net.endpoint.get_ion_ts', Mock(return_value=sentinel.ts)) def test_send(self): # need a channel to send on self.assertRaises(AttributeError, self._endpoint_unit.send, "fake") ch = Mock(spec=SendChannel) self._endpoint_unit.attach_channel(ch) self._endpoint_unit.send("hi", {'header': 'value'}) ch.send.assert_called_once_with('hi', { 'header': 'value', 'ts': sentinel.ts }) def test_close(self): ch = Mock(spec=BaseChannel) self._endpoint_unit.attach_channel(ch) self._endpoint_unit.close() ch.close.assert_called_once_with() def test_spawn_listener(self): def recv(): ar = event.AsyncResult() ar.wait() ch = Mock(spec=BidirClientChannel) ch.recv.side_effect = recv self._endpoint_unit.attach_channel(ch) self._endpoint_unit.spawn_listener() self._endpoint_unit.close() self.assertTrue(self._endpoint_unit._recv_greenlet.ready()) def test_build_header(self): head = self._endpoint_unit._build_header({'fake': 'content'}) self.assertTrue(isinstance(head, dict)) def test_build_payload(self): fakemsg = {'fake': 'content'} msg = self._endpoint_unit._build_payload(fakemsg) self.assertEquals(msg, fakemsg) def test_build_msg(self): fakemsg = {'fake': 'content'} msg = self._endpoint_unit._build_msg(fakemsg) # self.assertTrue(isinstance(msg, dict)) # self.assertTrue(msg.has_key('header')) # self.assertTrue(msg.has_key('payload')) # self.assertTrue(isinstance(msg['header'], dict)) # self.assertEquals(fakemsg, msg['payload']) def test_intercept_in(self): self._endpoint_unit._build_invocation = Mock() self._endpoint_unit._intercept_msg_in = Mock() self._endpoint_unit.intercept_in(sentinel.msg, sentinel.headers) self._endpoint_unit._build_invocation.assert_called_once_with( path=Invocation.PATH_IN, message=sentinel.msg, headers=sentinel.headers) self.assertTrue(self._endpoint_unit._intercept_msg_in.called) def test__message_received(self): self._endpoint_unit.message_received = Mock() self._endpoint_unit.message_received.return_value = sentinel.msg_return retval = self._endpoint_unit._message_received(sentinel.msg, sentinel.headers) self.assertEquals(retval, sentinel.msg_return) self.assertTrue(self._endpoint_unit.message_received.called)
class TestEndpointUnit(PyonTestCase): def setUp(self): self._endpoint_unit = EndpointUnit(interceptors={}) def test_attach_channel(self): ch = Mock(spec=BaseChannel) self._endpoint_unit.attach_channel(ch) self.assertTrue(self._endpoint_unit.channel is not None) self.assertEquals(self._endpoint_unit.channel, ch) @patch('pyon.net.endpoint.get_ion_ts', Mock(return_value=sentinel.ts)) def test_send(self): # need a channel to send on self.assertRaises(AttributeError, self._endpoint_unit.send, "fake") ch = Mock(spec=SendChannel) self._endpoint_unit.attach_channel(ch) self._endpoint_unit.send("hi", {'header': 'value'}) ch.send.assert_called_once_with('hi', { 'header': 'value', 'ts': sentinel.ts }) def test_close(self): ch = Mock(spec=BaseChannel) self._endpoint_unit.attach_channel(ch) self._endpoint_unit.close() ch.close.assert_called_once_with() def test_build_header(self): head = self._endpoint_unit._build_header({'fake': 'content'}, {}) self.assertTrue(isinstance(head, dict)) def test_build_payload(self): fakemsg = {'fake': 'content'} msg = self._endpoint_unit._build_payload(fakemsg, {'fake': 'header'}) self.assertEquals(msg, fakemsg) def test_build_msg(self): fakemsg = {'fake': 'content'} msg, headers = self._endpoint_unit._build_msg(fakemsg, {}) self.assertEquals(msg, fakemsg) self.assertEquals(headers, {'ts': ANY}) def test_intercept_in(self): self._endpoint_unit._build_invocation = Mock() self._endpoint_unit._intercept_msg_in = Mock() self._endpoint_unit.intercept_in(sentinel.msg, sentinel.headers) self._endpoint_unit._build_invocation.assert_called_once_with( path=Invocation.PATH_IN, message=sentinel.msg, headers=sentinel.headers) self.assertTrue(self._endpoint_unit._intercept_msg_in.called) def test__message_received(self): self._endpoint_unit.message_received = Mock() self._endpoint_unit.message_received.return_value = sentinel.msg_return retval = self._endpoint_unit._message_received(sentinel.msg, sentinel.headers) self.assertEquals(retval, sentinel.msg_return) self.assertTrue(self._endpoint_unit.message_received.called)
class TestEndpointUnit(PyonTestCase): def setUp(self): self._endpoint_unit = EndpointUnit(interceptors={}) def test_attach_channel(self): ch = Mock(spec=BaseChannel) self._endpoint_unit.attach_channel(ch) self.assertTrue(self._endpoint_unit.channel is not None) self.assertEquals(self._endpoint_unit.channel, ch) @patch('pyon.net.endpoint.get_ion_ts', Mock(return_value=sentinel.ts)) def test_send(self): # need a channel to send on self.assertRaises(AttributeError, self._endpoint_unit.send, "fake") ch = Mock(spec=SendChannel) self._endpoint_unit.attach_channel(ch) self._endpoint_unit.send("hi", {'header':'value'}) ch.send.assert_called_once_with('hi', {'header':'value', 'ts':sentinel.ts}) def test_close(self): ch = Mock(spec=BaseChannel) self._endpoint_unit.attach_channel(ch) self._endpoint_unit.close() ch.close.assert_called_once_with() def test_spawn_listener(self): def recv(): ar = event.AsyncResult() ar.wait() ch = Mock(spec=BidirClientChannel) ch.recv.side_effect = recv self._endpoint_unit.attach_channel(ch) self._endpoint_unit.spawn_listener() self._endpoint_unit.close() self.assertTrue(self._endpoint_unit._recv_greenlet.ready()) def test_build_header(self): head = self._endpoint_unit._build_header({'fake': 'content'}) self.assertTrue(isinstance(head, dict)) def test_build_payload(self): fakemsg = {'fake':'content'} msg = self._endpoint_unit._build_payload(fakemsg) self.assertEquals(msg, fakemsg) def test_build_msg(self): fakemsg = {'fake':'content'} msg = self._endpoint_unit._build_msg(fakemsg) # self.assertTrue(isinstance(msg, dict)) # self.assertTrue(msg.has_key('header')) # self.assertTrue(msg.has_key('payload')) # self.assertTrue(isinstance(msg['header'], dict)) # self.assertEquals(fakemsg, msg['payload']) def test_intercept_in(self): self._endpoint_unit._build_invocation = Mock() self._endpoint_unit._intercept_msg_in = Mock() self._endpoint_unit.intercept_in(sentinel.msg, sentinel.headers) self._endpoint_unit._build_invocation.assert_called_once_with(path=Invocation.PATH_IN, message=sentinel.msg, headers=sentinel.headers) self.assertTrue(self._endpoint_unit._intercept_msg_in.called) def test__message_received(self): self._endpoint_unit.message_received = Mock() self._endpoint_unit.message_received.return_value = sentinel.msg_return retval = self._endpoint_unit._message_received(sentinel.msg, sentinel.headers) self.assertEquals(retval, sentinel.msg_return) self.assertTrue(self._endpoint_unit.message_received.called)