More refactoring

This commit is contained in:
2023-08-18 03:07:16 +02:00
parent 3134891751
commit 044c38ba86
20 changed files with 209 additions and 105 deletions

View File

@@ -13,3 +13,4 @@ thiserror = "1.0.37"
tokio = { version = "1", features = ["sync"] }
async-trait = "0.1.61"
futures = "0.3.25"
anyhow = "1.0.75"

View File

@@ -195,9 +195,8 @@ impl GoogleHome {
join_all(f).await;
// We await all the futures that use resp_payload so try_unwrap should never fail
std::sync::Arc::<tokio::sync::Mutex<response::execute::Payload>>::try_unwrap(resp_payload)
.unwrap()
.expect("All futures are done, so there should only be one strong reference")
.into_inner()
}
}
@@ -331,11 +330,11 @@ impl GoogleHome {
// let mut lamp = TestOutlet::new("living/lamp");
// let mut scene = TestScene::new();
// let mut devices: HashMap<&str, &mut dyn GoogleHomeDevice> = HashMap::new();
// let id = nightstand.get_id().to_owned();
// let id = nightstand.get_id().into();
// devices.insert(&id, &mut nightstand);
// let id = lamp.get_id().to_owned();
// let id = lamp.get_id().into();
// devices.insert(&id, &mut lamp);
// let id = scene.get_id().to_owned();
// let id = scene.get_id().into();
// devices.insert(&id, &mut scene);
//
// let resp = gh.handle_request(req, &mut devices).unwrap();
@@ -374,11 +373,11 @@ impl GoogleHome {
// let mut lamp = TestOutlet::new("living/lamp");
// let mut scene = TestScene::new();
// let mut devices: HashMap<&str, &mut dyn GoogleHomeDevice> = HashMap::new();
// let id = nightstand.get_id().to_owned();
// let id = nightstand.get_id().into();
// devices.insert(&id, &mut nightstand);
// let id = lamp.get_id().to_owned();
// let id = lamp.get_id().into();
// devices.insert(&id, &mut lamp);
// let id = scene.get_id().to_owned();
// let id = scene.get_id().into();
// devices.insert(&id, &mut scene);
//
// let resp = gh.handle_request(req, &mut devices).unwrap();
@@ -429,11 +428,11 @@ impl GoogleHome {
// let mut lamp = TestOutlet::new("living/lamp");
// let mut scene = TestScene::new();
// let mut devices: HashMap<&str, &mut dyn GoogleHomeDevice> = HashMap::new();
// let id = nightstand.get_id().to_owned();
// let id = nightstand.get_id().into();
// devices.insert(&id, &mut nightstand);
// let id = lamp.get_id().to_owned();
// let id = lamp.get_id().into();
// devices.insert(&id, &mut lamp);
// let id = scene.get_id().to_owned();
// let id = scene.get_id().into();
// devices.insert(&id, &mut scene);
//
// let resp = gh.handle_request(req, &mut devices).unwrap();

View File

@@ -83,7 +83,7 @@ mod tests {
assert_eq!(
req.request_id,
"ff36a3cc-ec34-11e6-b1a0-64510650abcf".to_owned()
"ff36a3cc-ec34-11e6-b1a0-64510650abcf".to_string()
);
assert_eq!(req.inputs.len(), 1);
match &req.inputs[0] {

View File

@@ -54,7 +54,7 @@ mod tests {
assert_eq!(
req.request_id,
"ff36a3cc-ec34-11e6-b1a0-64510650abcf".to_owned()
"ff36a3cc-ec34-11e6-b1a0-64510650abcf".to_string()
);
assert_eq!(req.inputs.len(), 1);
match &req.inputs[0] {

View File

@@ -19,7 +19,7 @@ mod tests {
assert_eq!(
req.request_id,
"ff36a3cc-ec34-11e6-b1a0-64510650abcf".to_owned()
"ff36a3cc-ec34-11e6-b1a0-64510650abcf".to_string()
);
assert_eq!(req.inputs.len(), 1);
match req.inputs[0] {

View File

@@ -14,7 +14,7 @@ pub struct Response {
impl Response {
pub fn new(request_id: &str, payload: ResponsePayload) -> Self {
Self {
request_id: request_id.to_owned(),
request_id: request_id.into(),
payload,
}
}

View File

@@ -86,10 +86,10 @@ mod tests {
device.room_hint = Some("kitchen".into());
device.device_info = Some(device::Info {
manufacturer: Some("lights-out-inc".to_string()),
model: Some("hs1234".to_string()),
hw_version: Some("3.2".to_string()),
sw_version: Some("11.4".to_string()),
manufacturer: Some("lights-out-inc".into()),
model: Some("hs1234".into()),
hw_version: Some("3.2".into()),
sw_version: Some("11.4".into()),
});
sync_resp.add_device(device);