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)
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)
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 })