🏡 index : ~doyle/sonos.rs.git

author Jordan Doyle <jordan@doyle.wf> 2017-12-09 19:13:20.0 +00:00:00
committer Jordan Doyle <jordan@doyle.wf> 2017-12-09 19:13:20.0 +00:00:00
commit
c4e00080f426c8fb25168f1658fd4eca8448b965 [patch]
tree
fba01c8f8cdafe32435ff338f036db3ae25f7570
parent
f51621fe609cd2d23ab9395d1efdd5703fc6e2d6
download
c4e00080f426c8fb25168f1658fd4eca8448b965.tar.gz

Rename device::room to device::name. Only test in the bedroom



Diff

 src/device.rs             |  7 +++++--
 tests/integration_test.rs | 19 ++++++++++++++++---
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/device.rs b/src/device.rs
index 66f779e..b70e956 100644
--- a/src/device.rs
+++ a/src/device.rs
@@ -17,7 +17,7 @@
    pub software_version: String,
    pub hardware_version: String,
    pub serial_number: String,
    pub room: String,
    pub name: String,
    pub uuid: String,
}

@@ -83,7 +83,7 @@
            serial_number: element_to_string(device_description
                .get_child("serialNum")
                .ok_or("Failed to parse device description")?),
            room: element_to_string(device_description
            name: element_to_string(device_description
                .get_child("roomName")
                .ok_or("Failed to parse device description")?),
            // we slice the UDN to remove "uuid:"
@@ -104,7 +104,8 @@
        }

        let mut content = String::new();
        resp.read_to_string(&mut content);
        resp.read_to_string(&mut content)
            .chain_err(|| "Failed to read Sonos topology")?;

        // clean up xml so xmltree can read it
        let content = content.replace(
diff --git a/tests/integration_test.rs b/tests/integration_test.rs
index ff24328..61d7188 100644
--- a/tests/integration_test.rs
+++ a/tests/integration_test.rs
@@ -1,5 +1,14 @@
extern crate sonos;

fn get_speaker() -> sonos::Speaker {
    let devices = sonos::discover().unwrap();

    devices.into_iter()
        .find(|d| d.name == "Bedroom")
        .ok_or("Couldn't find bedroom")
        .unwrap()
}

#[test]
fn can_discover_devices() {
    let devices = sonos::discover().unwrap();
@@ -8,7 +17,7 @@

#[test]
fn volume() {
    let device = &sonos::discover().unwrap()[0];
    let device = get_speaker();
    device.set_volume(2).expect("Failed to get volume");
    assert_eq!(
        device.volume().expect("Failed to get volume"),
@@ -19,7 +28,7 @@

#[test]
fn muted() {
    let device = &sonos::discover().unwrap()[0];
    let device = get_speaker();
    device.mute().expect("Couldn't mute player");
    assert_eq!(
        device.muted().expect("Failed to get current mute status"),
@@ -34,7 +43,7 @@

#[test]
fn playback_state() {
    let device = &sonos::discover().unwrap()[0];
    let device = get_speaker();

    device.play().expect("Couldn't play track");
    assert!(match device.transport_state().unwrap() {
@@ -60,13 +69,13 @@

#[test]
fn track_info() {
    let device = &sonos::discover().unwrap()[0];
    let device = get_speaker();
    device.track().expect("Failed to get track info");
}

#[test]
fn play() {
    let device = &sonos::discover().unwrap()[0];
    let device = get_speaker();
    device.play().expect("Failed to play");
    device.pause().expect("Failed to pause");
}