diff --git a/src/config.rs b/src/config.rs index 239464e..858d2ca 100644 --- a/src/config.rs +++ b/src/config.rs @@ -47,11 +47,11 @@ impl HtrsConfig { } pub fn get_service(&self, name: &str) -> Option<&Service> { - self.services.iter().find(|&service| service.name == name || service.alias == Some(name.to_string())).map(|v| v as _) + self.services.iter().find(|&service| service.name == name || service.alias == Some(name.to_string())) } pub fn get_service_mut(&mut self, name: &str) -> Option<&mut Service> { - self.services.iter_mut().find(|s| s.name == name) + self.services.iter_mut().find(|s| s.name == name || s.alias ==Some(name.to_string())) } pub fn get_preset(&self, name: &str) -> Option<&Preset> { diff --git a/tests/environment/edit_environment_tests.rs b/tests/environment/edit_environment_tests.rs index 1018ad0..f0b7ba5 100644 --- a/tests/environment/edit_environment_tests.rs +++ b/tests/environment/edit_environment_tests.rs @@ -3,6 +3,7 @@ mod edit_environment_tests { use crate::common::builders::{EnvironmentBuilder, HtrsConfigBuilder, ServiceBuilder}; use crate::common::test_helpers::{clear_config, get_config, setup}; use assert_cmd::Command; + use rstest::rstest; use std::error::Error; #[test] @@ -64,12 +65,17 @@ mod edit_environment_tests { Ok(()) } - #[test] - fn given_edit_environment_command_with_known_environment_then_should_succeed() -> Result<(), Box> { + #[rstest] + #[case("foo_service")] + #[case("foo_alias")] + fn given_edit_environment_command_with_known_environment_then_should_succeed( + #[case] service_name: &str + ) -> Result<(), Box> { let config = HtrsConfigBuilder::new() .with_service( ServiceBuilder::new() .with_name("foo_service") + .with_alias("foo_alias") .with_environment( EnvironmentBuilder::new() .with_name("original_name") @@ -86,7 +92,7 @@ mod edit_environment_tests { .arg("environment") .arg("original_name") .arg("--service") - .arg("foo_service") + .arg(service_name) .arg("--new-name") .arg("new_name") .arg("--new-alias")