def test_extended_ack(): """Test extended ack.""" callbacks = MockCallbacks() callbacks.callbackvalue1 = "Callback 1" callbacks.callbackvalue2 = "Callback 2" message_callbacks = MessageCallback() address = '1a2b3c' template_ext_ack = ExtendedSend.template(address, acknak=MESSAGE_ACK) template_std_ack = StandardSend.template(address, acknak=MESSAGE_ACK) message_callbacks.add(template_ext_ack, callbacks.callbackvalue1) message_callbacks.add(template_std_ack, callbacks.callbackvalue2) extmsg = ExtendedSend(address, COMMAND_LIGHT_ON_0X11_NONE, {'d1': 0x02}, cmd2=0xff, acknak=MESSAGE_ACK) stdmsg = StandardSend(address, COMMAND_LIGHT_ON_0X11_NONE, cmd2=0xff, acknak=MESSAGE_ACK) result1 = message_callbacks.get_callbacks_from_message(extmsg) result2 = message_callbacks.get_callbacks_from_message(stdmsg) assert result2 == [callbacks.callbackvalue2] assert result1 == [callbacks.callbackvalue1]
def test_messagecallback_acknak(): """Test messagecallback acknak.""" callbacks = MessageCallback() callbacktest1 = "test callback 1" callbacktest2 = "test callback 2" callbacktest3 = "test callback 3" callbacktest4 = "test callback 4" address = '1a2b3c' template_address = StandardSend.template(address=address) template_address_ack = StandardSend.template(address=address, acknak=MESSAGE_ACK) template_empty = StandardSend.template() template_nak = StandardSend.template(acknak=MESSAGE_NAK) callbacks.add(template_address, callbacktest1) callbacks.add(template_address_ack, callbacktest2) callbacks.add(template_empty, callbacktest3) callbacks.add(template_nak, callbacktest4) msg1 = StandardSend(address, COMMAND_LIGHT_ON_0X11_NONE, cmd2=0xcd) msg2 = StandardSend('222222', COMMAND_LIGHT_ON_0X11_NONE, cmd2=0xff) msg3 = StandardSend('333333', COMMAND_LIGHT_ON_0X11_NONE, cmd2=0xff, acknak=MESSAGE_NAK) msg4 = StandardSend('444444', COMMAND_LIGHT_ON_0X11_NONE, cmd2=0xff, acknak=MESSAGE_ACK) _LOGGER.debug('Getting callbacks for message 1') callback1 = callbacks.get_callbacks_from_message(msg1) _LOGGER.debug('Getting callbacks for message 2') callback2 = callbacks.get_callbacks_from_message(msg2) _LOGGER.debug('Getting callbacks for message 3') callback3 = callbacks.get_callbacks_from_message(msg3) _LOGGER.debug('Getting callbacks for message 4') callback4 = callbacks.get_callbacks_from_message(msg4) assert len(callback1) == 4 assert len(callback2) == 2 assert len(callback3) == 2 assert len(callback4) == 1
def test_delete_callback(): """Test delete callback.""" callbacks = MessageCallback() callbacktest1 = "test callback 1" callbacktest2 = "test callback 2" callbacktest3 = "test callback 3" callbacks.add(StandardSend.template(), callbacktest1) callbacks.add(StandardSend.template(), callbacktest2) callbacks.add(StandardSend.template(acknak=MESSAGE_NAK), callbacktest3) msg = StandardSend('333333', COMMAND_LIGHT_ON_0X11_NONE, cmd2=0xff, acknak=MESSAGE_NAK) callback_list = callbacks.get_callbacks_from_message(msg) assert len(callback_list) == 3 callbacks.remove(StandardSend.template(), callbacktest2) callback_list = callbacks.get_callbacks_from_message(msg) assert len(callback_list) == 2