Exemplo n.º 1
0
    def test_get_wrapper_object(self):
        d = AutoSignals()
        d.validate_model = MagicMock()
        d.connect_signals = MagicMock()
        d.to_wrap = None

        d.get_wrapped_object()

        self.assertTrue(d.validate_model.called)
        self.assertTrue(d.connect_signals.called)
Exemplo n.º 2
0
    def test_connect_signals(self):
        ref = randint(1, 100)

        obj = MagicMock()
        obj.get_signals.return_value = ref
        connect = MagicMock()

        d = AutoSignals()
        d.to_wrap = obj
        d.connect_signal = connect
        d.connect_signals()

        obj.get_signals.assert_called_with()
        connect.assert_called_with(ref)
Exemplo n.º 3
0
    def test_connect_signal(self):
        to_wrap = MagicMock()
        signal = MagicMock()
        receiver = MagicMock()
        receiver.__name__ = 'foo_dog'
        receiver.return_value = ''

        d = AutoSignals(signal_pool={'dog': signal})
        d.to_wrap = to_wrap
        d.connect_signal(receiver)
        expected = {
            'receiver': receiver,
            'sender': to_wrap,
        }

        signal.connect.assert_called_with(**expected)

        # -----------------

        to_wrap = MagicMock()
        signal = MagicMock()
        receiver = MagicMock()
        weak = bool(randint(0, 1))
        uid = 'foo' + six.text_type(randint(0, 100))

        d = AutoSignals()
        d.to_wrap = to_wrap
        d.connect_signal({
            'signal': signal,
            'receiver': receiver,
            'weak': weak,
            'dispatch_uid': uid
        })
        expected = {
            'receiver': receiver,
            'weak': weak,
            'dispatch_uid': uid,
            'sender': to_wrap,
        }

        signal.connect.assert_called_with(**expected)

        # -----------------

        to_wrap = MagicMock()
        d.to_wrap = to_wrap
        with self.assertRaises(TypeError):
            d.connect_signal('')

        # -----------------

        to_wrap = MagicMock()
        receiver = MagicMock()
        receiver.__name__ = 'foo'
        d.to_wrap = to_wrap
        with self.assertRaises(ValueError):
            d.connect_signal({
                'receiver': receiver
            })

        # -----------------

        to_wrap = MagicMock()
        receiver = MagicMock()
        receiver.__name__ = 'foo_bar'
        signal = MagicMock()
        d = AutoSignals(signal_pool={'bar': signal})
        d.to_wrap = to_wrap
        d.connect_signal({
            'receiver': receiver
        })
        signal.connect.assert_called_with(sender=to_wrap,
                                          receiver=receiver)

        # -----------------

        to_wrap = MagicMock()
        receiver = MagicMock()
        d = AutoSignals()
        d.to_wrap = to_wrap
        with self.assertRaises(KeyError):
            d.connect_signal({
                'signal': 'bar',
                'receiver': receiver
            })