From c4e00080f426c8fb25168f1658fd4eca8448b965 Mon Sep 17 00:00:00 2001 From: Jordan Doyle Date: Sat, 09 Dec 2017 19:13:20 +0000 Subject: [PATCH] Rename device::room to device::name. Only test in the bedroom --- 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"); } -- rgit 0.1.3