def test_reply_succeeded(self): url = 'test-url' content = '' properties = {'qmf.opcode': ''} reply = Mock(content=content, properties=properties) method = Method(url, '', {}) method.on_reply(reply)
def test_repair(self, _connection, close, uuid): url = 'url-test' uuid.return_value = '5138' connection = Mock() _connection.return_value = connection session = Mock() session.close.side_effect = ValueError sender = Mock() sender.close.side_effect = ValueError receiver = Mock() receiver.close.side_effect = ValueError connection.session.return_value = session session.receiver.return_value = receiver session.sender.return_value = sender reply_to = model.REPLY_TO % uuid.return_value # test method = Method(url, '', {}) method.repair() # validation close.assert_called_once_with() connection.close.assert_called_once_with() connection.open.assert_called_once_with() session.sender.assert_called_once_with(model.ADDRESS) session.receiver.assert_called_once_with(reply_to) self.assertEqual(method.connection, connection) self.assertEqual(method.sender, sender) self.assertEqual(method.receiver, receiver)
def test_open_already(self): # test method = Method('', '', {}) method.is_open = Mock(return_value=True) method.open() # validation self.assertFalse(method.connection.open.called)
def test_reply_already_exists(self): url = 'test-url' values = {'error_code': model.EEXIST, 'error_text': 'just failed'} content = {'_values': values} properties = {'qmf.opcode': '_exception'} reply = Mock(content=content, properties=properties) method = Method(url, '', {}) method.on_reply(reply)
def test_reply_succeeded(self): url = 'test-url' content = '' properties = { 'qmf.opcode': '' } reply = Mock(content=content, properties=properties) method = Method(url, '', {}) method.on_reply(reply)
def test_call(self, message, uuid): url = 'url-test' name = model.CREATE arguments = {'a': 1} # test method = Method(url, name, arguments) method.reply_to = '234' method.open = Mock() method.close = Mock() method.session = Mock() method.sender = Mock() method.receiver = Mock() method.on_reply = Mock() method() # validation method.open.assert_called_once_with() message.assert_called_once_with( content=method.content, reply_to=method.reply_to, properties=method.properties, correlation_id=str(uuid.return_value).encode(), subject=model.SUBJECT ) method.session.acknowledge.assert_called_once_with() method.sender.send.assert_called_once_with(message.return_value) method.on_reply.assert_called_once_with(method.receiver.fetch.return_value) method.close.assert_called_once_with()
def test_reply_already_exists(self): url = 'test-url' values = { 'error_code': model.EEXIST, 'error_text': 'just failed' } content = {'_values': values} properties = { 'qmf.opcode': '_exception' } reply = Mock(content=content, properties=properties) method = Method(url, '', {}) method.on_reply(reply)
def test_reply_failed(self): url = 'test-url' values = {'error_code': 18, 'error_text': 'just failed'} content = {'_values': values} properties = {'qmf.opcode': '_exception'} reply = Mock(content=content, properties=properties) method = Method(url, '', {}) self.assertRaises(Error, method.on_reply, reply)
def test_properties(self): url = 'test-url' method = Method(url, model.CREATE, {}) self.assertEqual( method.properties, { 'qmf.opcode': '_method_request', 'x-amqp-0-10.app-id': 'qmf2', 'method': 'request' })
def test_content(self): url = 'test-url' name = model.CREATE arguments = {'a': 1} method = Method(url, name, arguments) self.assertEqual( method.content, { '_object_id': model.OBJECT_ID, '_method_name': name, '_arguments': arguments })
def test_init(self, _connection): url = 'test-url' name = model.CREATE arguments = {'a': 1} method = Method(url, name, arguments) _connection.assert_called_once_with(url) self.assertEqual(method.url, url) self.assertEqual(method.name, name) self.assertEqual(method.arguments, arguments) self.assertEqual(method.connection, _connection.return_value) self.assertEqual(method.session, None) self.assertEqual(method.sender, None) self.assertEqual(method.receiver, None)
def test_close(self): connection = Mock() session = Mock(connection=connection) sender = Mock() receiver = Mock() method = Method('', '', {}) method.connection = connection method.session = session method.sender = sender method.receiver = receiver # test method.close() # validation receiver.close.assert_called_once_with() sender.close.assert_called_once_with() session.close.assert_called_once_with() self.assertFalse(connection.close.called)