Beispiel #1
0
    def test_get_channel_id(self):
        ch = BaseChannel()

        self.assertTrue(ch.get_channel_id() is None)

        ch._amq_chan = Mock()
        self.assertEquals(ch.get_channel_id(), ch._amq_chan.channel_number)
Beispiel #2
0
    def test_on_channel_close(self):
        ch = BaseChannel()
        ch._amq_chan = Mock()
        ch._amq_chan.channel_number = 1

        ch.on_channel_close(0, 'hi')
        self.assertIsNone(ch._amq_chan)
Beispiel #3
0
    def test_on_channel_close(self):
        ch = BaseChannel()
        ch._amq_chan = Mock()
        ch._amq_chan.channel_number = 1

        ch.on_channel_close(0, 'hi')
        self.assertIsNone(ch._amq_chan)
Beispiel #4
0
    def test_get_channel_id(self):
        ch = BaseChannel()

        self.assertTrue(ch.get_channel_id() is None)

        ch._amq_chan = Mock()
        self.assertEquals(ch.get_channel_id(), ch._amq_chan.channel_number)
Beispiel #5
0
    def test_on_channel_close(self):
        # er this just does logging, make the calls anyway for coverage.
        ch = BaseChannel()
        ch._amq_chan = Mock()
        ch._amq_chan.channel_number = 1

        ch.on_channel_close(0, 'hi')
        ch.on_channel_close(1, 'onoes')
Beispiel #6
0
    def test_on_channel_closed_with_error_callback(self):
        ch = BaseChannel()
        ch._amq_chan = Mock()
        ch._amq_chan.channel_number = 1

        closemock = Mock()
        ch.set_closed_error_callback(closemock)

        ch.on_channel_close(1, 'hi')

        closemock.assert_called_once_with(ch, 1, 'hi')
Beispiel #7
0
    def test_on_channel_closed_with_error_callback(self):
        ch = BaseChannel()
        ch._amq_chan = Mock()
        ch._amq_chan.channel_number = 1

        closemock = Mock()
        ch.set_closed_error_callback(closemock)

        ch.on_channel_close(1, 'hi')

        closemock.assert_called_once_with(ch, 1, 'hi')
Beispiel #8
0
    def test_close(self):

        # without close callback
        ac = Mock() #pchannel.Channel)  # cannot use this because callbacks is populated dynamically
        ch = BaseChannel()
        ch._amq_chan = ac
        ch._fsm.current_state = ch.S_ACTIVE
        
        ch.close()
        ac.close.assert_called_once_with()
        self.assertEquals(ac.callbacks.remove.call_count, 4)
Beispiel #9
0
    def test_close(self):

        # without close callback
        ac = Mock(
        )  #pchannel.Channel)  # cannot use this because callbacks is populated dynamically
        ch = BaseChannel()
        ch._amq_chan = ac
        ch._fsm.current_state = ch.S_ACTIVE

        ch.close()
        ac.close.assert_called_once_with()
        self.assertEquals(ac.callbacks.remove.call_count, 4)
Beispiel #10
0
    def test_on_channel_close_with_error_in_error_callback(self, logmock):
        ch = BaseChannel()
        ch._amq_chan = Mock()
        ch._amq_chan.channel_number = 1

        closemock = Mock()
        closemock.side_effect = StandardError
        ch.set_closed_error_callback(closemock)

        ch.on_channel_close(1, 'hi')

        self.assertEquals(logmock.warn.call_count, 1)
Beispiel #11
0
    def test_on_channel_close_with_error_in_error_callback(self, logmock):
        ch = BaseChannel()
        ch._amq_chan = Mock()
        ch._amq_chan.channel_number = 1

        closemock = Mock()
        closemock.side_effect = StandardError
        ch.set_closed_error_callback(closemock)

        ch.on_channel_close(1, 'hi')

        self.assertEquals(logmock.warn.call_count, 1)
Beispiel #12
0
    def test_declare_exchange_point(self):
        # make sure no xp param results in assertion
        ch = BaseChannel()
        self.assertRaises(AssertionError, ch._declare_exchange, None)

        ch._transport = Mock()
        ch._amq_chan = Mock()

        ch._declare_exchange('hello')
        self.assertTrue(ch._transport.declare_exchange_impl.called)
        self.assertIn(ch._amq_chan,     ch._transport.declare_exchange_impl.call_args[0])
        self.assertIn('hello',          ch._transport.declare_exchange_impl.call_args[0])
        self.assertIn('exchange_type',  ch._transport.declare_exchange_impl.call_args[1])
        self.assertIn('durable',        ch._transport.declare_exchange_impl.call_args[1])
        self.assertIn('auto_delete',    ch._transport.declare_exchange_impl.call_args[1])
Beispiel #13
0
    def test_close(self):
        # with close callback
        cbmock = Mock()
        ch = BaseChannel(close_callback=cbmock)
        ch.close()

        cbmock.assert_called_once_with(ch)

        # without close callback
        ac = Mock() #pchannel.Channel)  # cannot use this because callbacks is populated dynamically
        ch = BaseChannel()
        ch._amq_chan = ac
        
        ch.close()
        ac.close.assert_called_once_with()
        self.assertEquals(ac.callbacks.remove.call_count, 4)
Beispiel #14
0
    def test_declare_exchange_point(self):
        # make sure no xp param results in assertion
        ch = BaseChannel()
        self.assertRaises(AssertionError, ch._declare_exchange, None)

        ch._transport = Mock()
        ch._amq_chan = Mock()

        ch._declare_exchange('hello')
        self.assertTrue(ch._transport.declare_exchange_impl.called)
        self.assertIn(ch._amq_chan,
                      ch._transport.declare_exchange_impl.call_args[0])
        self.assertIn('hello',
                      ch._transport.declare_exchange_impl.call_args[0])
        self.assertIn('exchange_type',
                      ch._transport.declare_exchange_impl.call_args[1])
        self.assertIn('durable',
                      ch._transport.declare_exchange_impl.call_args[1])
        self.assertIn('auto_delete',
                      ch._transport.declare_exchange_impl.call_args[1])
Beispiel #15
0
    def test_declare_exchange_point(self):
        # make sure no xp param results in assertion
        ch = BaseChannel()
        self.assertRaises(AssertionError, ch._declare_exchange_point, None)

        # test it for real
        ac = Mock(spec=pchannel.Channel)
        def cbparam(*args, **kwargs):
            cbkwarg = kwargs.get('callback')
            cbkwarg(kwargs.get('exchange'))
            return kwargs.get('exchange')
        ac.exchange_declare.side_effect = cbparam

        ch._amq_chan = ac

        ch._declare_exchange_point('hello')
        self.assertTrue(ac.exchange_declare.called)
        self.assertIn('exchange',       ac.exchange_declare.call_args[1])
        self.assertIn('type',           ac.exchange_declare.call_args[1])
        self.assertIn('durable',        ac.exchange_declare.call_args[1])
        self.assertIn('auto_delete',    ac.exchange_declare.call_args[1])
        self.assertIn('hello',          ac.exchange_declare.call_args[1].itervalues())