def setUp(self): self.tup_dict = {'id': 14, 'comp': 'some_spout', 'stream': 'default', 'task': 'some_spout', 'tuple': [1, 2, 3]} self.tup = Tuple(self.tup_dict['id'], self.tup_dict['comp'], self.tup_dict['stream'], self.tup_dict['task'], self.tup_dict['tuple'],) self.spout = Spout(input_stream=BytesIO(), output_stream=BytesIO()) self.spout.initialize({}, {}) self.spout.logger = logging.getLogger(__name__)
def setUp(self): self.tup_dict = {"id": 14, "comp": "some_spout", "stream": "default", "task": "some_spout", "tuple": [1, 2, 3]} self.tup = Tuple( self.tup_dict["id"], self.tup_dict["comp"], self.tup_dict["stream"], self.tup_dict["task"], self.tup_dict["tuple"], ) self.spout = Spout(input_stream=BytesIO(), output_stream=BytesIO()) self.spout.initialize({}, {}) self.spout.logger = log
class SpoutTests(unittest.TestCase): def setUp(self): self.tup_dict = {"id": 14, "comp": "some_spout", "stream": "default", "task": "some_spout", "tuple": [1, 2, 3]} self.tup = Tuple( self.tup_dict["id"], self.tup_dict["comp"], self.tup_dict["stream"], self.tup_dict["task"], self.tup_dict["tuple"], ) self.spout = Spout(input_stream=BytesIO(), output_stream=BytesIO()) self.spout.initialize({}, {}) self.spout.logger = log @patch.object(Spout, "send_message", autospec=True) def test_emit(self, send_message_mock): # A basic emit self.spout.emit([1, 2, 3], need_task_ids=False) send_message_mock.assert_called_with( self.spout, {"command": "emit", "tuple": [1, 2, 3], "need_task_ids": False} ) # Emit as a direct task self.spout.emit([1, 2, 3], direct_task="other_spout") send_message_mock.assert_called_with(self.spout, {"command": "emit", "tuple": [1, 2, 3], "task": "other_spout"}) # Reliable emit self.spout.emit([1, 2, 3], tup_id="foo", need_task_ids=False) send_message_mock.assert_called_with( self.spout, {"command": "emit", "tuple": [1, 2, 3], "need_task_ids": False, "id": "foo"} ) # Reliable emit as direct task self.spout.emit([1, 2, 3], tup_id="foo", direct_task="other_spout") send_message_mock.assert_called_with( self.spout, {"command": "emit", "tuple": [1, 2, 3], "task": "other_spout", "id": "foo"} ) @patch.object(Spout, "read_command", autospec=True, return_value={"command": "ack", "id": 1234}) @patch.object(Spout, "ack", autospec=True) def test_ack(self, ack_mock, read_command_mock): # Make sure ack gets called self.spout._run() read_command_mock.assert_called_with(self.spout) ack_mock.assert_called_with(self.spout, 1234) @patch.object(Spout, "read_command", autospec=True, return_value={"command": "fail", "id": 1234}) @patch.object(Spout, "fail", autospec=True) def test_fail(self, fail_mock, read_command_mock): # Make sure fail gets called self.spout._run() read_command_mock.assert_called_with(self.spout) fail_mock.assert_called_with(self.spout, 1234) @patch.object(Spout, "read_command", autospec=True, return_value={"command": "next", "id": 1234}) @patch.object(Spout, "next_tuple", autospec=True) def test_next_tuple(self, next_tuple_mock, read_command_mock): self.spout._run() read_command_mock.assert_called_with(self.spout) self.assertEqual(next_tuple_mock.call_count, 1)
class SpoutTests(unittest.TestCase): def setUp(self): self.tup_dict = { 'id': 14, 'comp': 'some_spout', 'stream': 'default', 'task': 'some_spout', 'tuple': [1, 2, 3] } self.tup = Tuple( self.tup_dict['id'], self.tup_dict['comp'], self.tup_dict['stream'], self.tup_dict['task'], self.tup_dict['tuple'], ) self.spout = Spout(input_stream=BytesIO(), output_stream=BytesIO()) self.spout.initialize({}, {}) self.spout.logger = log @patch.object(Spout, 'send_message', autospec=True) def test_emit(self, send_message_mock): # A basic emit self.spout.emit([1, 2, 3], need_task_ids=False) send_message_mock.assert_called_with(self.spout, { 'command': 'emit', 'tuple': [1, 2, 3], 'need_task_ids': False }) # Emit as a direct task self.spout.emit([1, 2, 3], direct_task='other_spout') send_message_mock.assert_called_with(self.spout, { 'command': 'emit', 'tuple': [1, 2, 3], 'task': 'other_spout' }) # Reliable emit self.spout.emit([1, 2, 3], tup_id='foo', need_task_ids=False) send_message_mock.assert_called_with( self.spout, { 'command': 'emit', 'tuple': [1, 2, 3], 'need_task_ids': False, 'id': 'foo' }) # Reliable emit as direct task self.spout.emit([1, 2, 3], tup_id='foo', direct_task='other_spout') send_message_mock.assert_called_with( self.spout, { 'command': 'emit', 'tuple': [1, 2, 3], 'task': 'other_spout', 'id': 'foo' }) @patch.object(Spout, 'read_command', autospec=True, return_value={ 'command': 'ack', 'id': 1234 }) @patch.object(Spout, 'ack', autospec=True) def test_ack(self, ack_mock, read_command_mock): # Make sure ack gets called self.spout._run() read_command_mock.assert_called_with(self.spout) ack_mock.assert_called_with(self.spout, 1234) @patch.object(Spout, 'read_command', autospec=True, return_value={ 'command': 'fail', 'id': 1234 }) @patch.object(Spout, 'fail', autospec=True) def test_fail(self, fail_mock, read_command_mock): # Make sure fail gets called self.spout._run() read_command_mock.assert_called_with(self.spout) fail_mock.assert_called_with(self.spout, 1234) @patch.object(Spout, 'read_command', autospec=True, return_value={ 'command': 'next', 'id': 1234 }) @patch.object(Spout, 'next_tuple', autospec=True) def test_next_tuple(self, next_tuple_mock, read_command_mock): self.spout._run() read_command_mock.assert_called_with(self.spout) self.assertEqual(next_tuple_mock.call_count, 1)
class SpoutTests(unittest.TestCase): def setUp(self): self.tup_dict = {'id': 14, 'comp': 'some_spout', 'stream': 'default', 'task': 'some_spout', 'tuple': [1, 2, 3]} self.tup = Tuple(self.tup_dict['id'], self.tup_dict['comp'], self.tup_dict['stream'], self.tup_dict['task'], self.tup_dict['tuple'],) self.spout = Spout(input_stream=BytesIO(), output_stream=BytesIO()) self.spout.initialize({}, {}) self.spout.logger = logging.getLogger(__name__) @patch.object(Spout, 'send_message', autospec=True) def test_emit(self, send_message_mock): # A basic emit self.spout.emit([1, 2, 3], need_task_ids=False) send_message_mock.assert_called_with(self.spout, {'command': 'emit', 'tuple': [1, 2, 3], 'need_task_ids': False}) # Emit as a direct task self.spout.emit([1, 2, 3], direct_task='other_spout') send_message_mock.assert_called_with(self.spout, {'command': 'emit', 'tuple': [1, 2, 3], 'task': 'other_spout', 'need_task_ids': False}) # Reliable emit self.spout.emit([1, 2, 3], tup_id='foo', need_task_ids=False) send_message_mock.assert_called_with(self.spout, {'command': 'emit', 'tuple': [1, 2, 3], 'need_task_ids': False, 'id': 'foo'}) # Reliable emit as direct task self.spout.emit([1, 2, 3], tup_id='foo', direct_task='other_spout') send_message_mock.assert_called_with(self.spout, {'command': 'emit', 'tuple': [1, 2, 3], 'task': 'other_spout', 'id': 'foo', 'need_task_ids': False}) @patch.object(Spout, 'read_command', autospec=True, return_value={'command': 'ack', 'id': 1234}) @patch.object(Spout, 'ack', autospec=True) def test_ack(self, ack_mock, read_command_mock): # Make sure ack gets called self.spout._run() read_command_mock.assert_called_with(self.spout) ack_mock.assert_called_with(self.spout, 1234) @patch.object(Spout, 'read_command', autospec=True, return_value={'command': 'fail', 'id': 1234}) @patch.object(Spout, 'fail', autospec=True) def test_fail(self, fail_mock, read_command_mock): # Make sure fail gets called self.spout._run() read_command_mock.assert_called_with(self.spout) fail_mock.assert_called_with(self.spout, 1234) @patch.object(Spout, 'read_command', autospec=True, return_value={'command': 'next', 'id': 1234}) @patch.object(Spout, 'next_tuple', autospec=True) def test_next_tuple(self, next_tuple_mock, read_command_mock): self.spout._run() read_command_mock.assert_called_with(self.spout) self.assertEqual(next_tuple_mock.call_count, 1)