def test_parse_last_change_event_invalid_xml(): """Test parsing an invalid (non valid XML) last change event.""" data = """<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"> <InstanceID val="0"><TransportState val="PAUSED_PLAYBACK"></InstanceID> </Event>""" assert _parse_last_change_event(data) == { "0": {"TransportState": "PAUSED_PLAYBACK"} }
def test_parse_last_change_event_invalid_xml(): data = """<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"> <InstanceID val="0"><TransportState val="PAUSED_PLAYBACK"></InstanceID> </Event>""" assert _parse_last_change_event(data) == { '0': { 'TransportState': 'PAUSED_PLAYBACK' } }
def test_parse_last_change_event_multiple_instances(): """Test parsing a last change event with multiple instance.""" data = """<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"> <InstanceID val="0"><TransportState val="PAUSED_PLAYBACK"/></InstanceID> <InstanceID val="1"><TransportState val="PLAYING"/></InstanceID> </Event>""" assert _parse_last_change_event(data) == { "0": {"TransportState": "PAUSED_PLAYBACK"}, "1": {"TransportState": "PLAYING"}, }
def test_parse_last_change_event_multiple_channels(): """Test parsing a last change event with multiple channels.""" data = """<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"> <InstanceID val="0"> <Volume channel="Master" val="10"/> <Volume channel="Left" val="20"/> <Volume channel="Right" val="30"/> </InstanceID> </Event>""" assert _parse_last_change_event(data) == { "0": {"Volume": "10"}, }
def test_parse_last_change_event_multiple_channels(): data = """<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"> <InstanceID val="0"> <Volume channel="Master" val="10"/> <Volume channel="Left" val="20"/> <Volume channel="Right" val="30"/> </InstanceID> </Event>""" assert _parse_last_change_event(data) == { '0': { 'Volume': '10' }, }
def test_parse_last_change_event_multiple_instances(): data = """<Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/"> <InstanceID val="0"><TransportState val="PAUSED_PLAYBACK"/></InstanceID> <InstanceID val="1"><TransportState val="PLAYING"/></InstanceID> </Event>""" assert _parse_last_change_event(data) == { '0': { 'TransportState': 'PAUSED_PLAYBACK' }, '1': { 'TransportState': 'PLAYING' }, }