

def test_timeout_on_send_message_reconnects(self):
    info = {
        'send_called': 0,
        'conn_called': 0,
    }

    def _connect(rabbit_self):
        info['conn_called'] += 1
        rabbit_self.connection_errors = ()
        rabbit_self.connection = 'fake_connection'

    def _send_message(rabbit_self, msg, routing_key):
        info['send_called'] += 1
        if (info['send_called'] == 1):
            raise Exception('foo timeout foo')
        self._send_message(msg, routing_key)
    self.notify_kombu.RabbitStrategy._connect = _connect
    self.notify_kombu.RabbitStrategy._send_message = _send_message
    notifier_ = notifier.Notifier(self.conf)
    notifier_.error('test_event', 'test_message')
    if (self.called is False):
        self.fail('Did not call _send_message properly.')
    self.assertEquals('test_message', self.called['message']['payload'])
    self.assertEquals('ERROR', self.called['message']['priority'])
    self.assertEquals(info['send_called'], 2)
    self.assertEquals(info['conn_called'], 2)

dataset/ETHPy150Open rcbops/glance-buildpackage/glance/tests/unit/test_notifier.py TestRabbitNotifier.test_timeout_on_send_message_reconnects/original