def test_configure_char(): """Test preconfiguring a characteristic from a service.""" pyhap_char = "pyhap.characteristic.Characteristic" service = Service(uuid1(), "Test Service") chars = get_chars() service.characteristics = chars with pytest.raises(ValueError): service.configure_char("Char not found") assert service.configure_char("Char 1") == chars[0] with patch(pyhap_char + ".override_properties") as mock_override_prop, patch( pyhap_char + ".set_value" ) as mock_set_value: service.configure_char("Char 1") mock_override_prop.assert_not_called() mock_set_value.assert_not_called() assert service.get_characteristic("Char 1").setter_callback is None with patch(pyhap_char + ".override_properties") as mock_override_prop: new_properties = {"Format": "string"} new_valid_values = {0: "on", 1: "off"} service.configure_char("Char 1", properties=new_properties) mock_override_prop.assert_called_with(new_properties, None) service.configure_char("Char 1", valid_values=new_valid_values) mock_override_prop.assert_called_with(None, new_valid_values) service.configure_char( "Char 1", properties=new_properties, valid_values=new_valid_values ) mock_override_prop.assert_called_with(new_properties, new_valid_values) with patch(pyhap_char + ".set_value") as mock_set_value: new_value = 1 service.configure_char("Char 1", value=new_value) mock_set_value.assert_called_with(1, should_notify=False) new_setter_callback = "Test callback" service.configure_char("Char 1", setter_callback=new_setter_callback) assert service.get_characteristic("Char 1").setter_callback == new_setter_callback
def test_configure_char(): """Test preconfiguring a characteristic from a service.""" pyhap_char = 'pyhap.characteristic.Characteristic' service = Service(uuid1(), 'Test Service') chars = get_chars() service.characteristics = chars with pytest.raises(ValueError): service.configure_char('Char not found') assert service.configure_char('Char 1') == chars[0] with patch(pyhap_char + '.override_properties') as mock_override_prop, \ patch(pyhap_char + '.set_value') as mock_set_value: service.configure_char('Char 1') mock_override_prop.assert_not_called() mock_set_value.assert_not_called() assert service.get_characteristic('Char 1').setter_callback is None with patch(pyhap_char + '.override_properties') as mock_override_prop: new_properties = {'Format': 'string'} new_valid_values = {0: 'on', 1: 'off'} service.configure_char('Char 1', properties=new_properties) mock_override_prop.assert_called_with(new_properties, None) service.configure_char('Char 1', valid_values=new_valid_values) mock_override_prop.assert_called_with(None, new_valid_values) service.configure_char('Char 1', properties=new_properties, valid_values=new_valid_values) mock_override_prop.assert_called_with(new_properties, new_valid_values) with patch(pyhap_char + '.set_value') as mock_set_value: new_value = 1 service.configure_char('Char 1', value=new_value) mock_set_value.assert_called_with(1, should_notify=False) new_setter_callback = 'Test callback' service.configure_char('Char 1', setter_callback=new_setter_callback) assert service.get_characteristic('Char 1').setter_callback == \ new_setter_callback