1
0
Fork 0
mirror of https://codeberg.org/icewind/haze.git synced 2026-06-03 17:14:08 +02:00

update tests

This commit is contained in:
Robin Appelman 2023-07-16 17:44:44 +02:00
commit 663228f5f4
3 changed files with 58 additions and 20 deletions

View file

@ -320,31 +320,31 @@ impl HazeCommand {
#[test] #[test]
fn test_arg_parse() { fn test_arg_parse() {
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze"].into_iter()).unwrap(), HazeArgs::parse(&[], vec!["haze"].into_iter()).unwrap(),
HazeArgs::List { filter: None } HazeArgs::List { filter: None }
); );
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze", "test"].into_iter()).unwrap(), HazeArgs::parse(&[], vec!["haze", "test"].into_iter()).unwrap(),
HazeArgs::Test { HazeArgs::Test {
options: Default::default(), options: Default::default(),
args: vec![] args: vec![]
} }
); );
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze", "asdasd"].into_iter()).unwrap(), HazeArgs::parse(&[], vec!["haze", "asdasd"].into_iter()).unwrap(),
HazeArgs::List { HazeArgs::List {
filter: Some("asdasd".to_string()) filter: Some("asdasd".to_string())
} }
); );
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze", "asdasd", "db"].into_iter()).unwrap(), HazeArgs::parse(&[], vec!["haze", "asdasd", "db"].into_iter()).unwrap(),
HazeArgs::Db { HazeArgs::Db {
filter: Some("asdasd".to_string()), filter: Some("asdasd".to_string()),
root: false root: false
} }
); );
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze", "exec", "foo", "bar"].into_iter()).unwrap(), HazeArgs::parse(&[], vec!["haze", "exec", "foo", "bar"].into_iter()).unwrap(),
HazeArgs::Exec { HazeArgs::Exec {
filter: None, filter: None,
service: None, service: None,
@ -352,7 +352,11 @@ fn test_arg_parse() {
} }
); );
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze", "asdasd", "exec", "foo", "bar"].into_iter()).unwrap(), HazeArgs::parse(
&[],
vec!["haze", "asdasd", "exec", "foo", "bar"].into_iter()
)
.unwrap(),
HazeArgs::Exec { HazeArgs::Exec {
filter: Some("asdasd".to_string()), filter: Some("asdasd".to_string()),
service: None, service: None,
@ -360,7 +364,11 @@ fn test_arg_parse() {
} }
); );
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze", "asdasd", "exec", "db", "foo", "bar"].into_iter()).unwrap(), HazeArgs::parse(
&[],
vec!["haze", "asdasd", "exec", "db", "foo", "bar"].into_iter()
)
.unwrap(),
HazeArgs::Exec { HazeArgs::Exec {
filter: Some("asdasd".to_string()), filter: Some("asdasd".to_string()),
service: Some(ExecService::Db), service: Some(ExecService::Db),
@ -368,27 +376,31 @@ fn test_arg_parse() {
} }
); );
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze", "test", "foo", "bar"].into_iter()).unwrap(), HazeArgs::parse(&[], vec!["haze", "test", "foo", "bar"].into_iter()).unwrap(),
HazeArgs::Test { HazeArgs::Test {
options: Default::default(), options: Default::default(),
args: vec!["foo".into(), "bar".into()] args: vec!["foo".into(), "bar".into()]
} }
); );
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze", "logs", "-f", "smb"].into_iter()).unwrap(), HazeArgs::parse(&[], vec!["haze", "logs", "-f", "smb"].into_iter()).unwrap(),
HazeArgs::Logs { HazeArgs::Logs {
filter: None, filter: None,
follow: true, follow: true,
service: Some(LogService::from_type("smb").unwrap()), service: Some(LogService::from_type(&[], "smb").unwrap()),
count: None, count: None,
} }
); );
assert_eq!( assert_eq!(
HazeArgs::parse(vec!["haze", "asdasd", "logs", "smb", "123"].into_iter()).unwrap(), HazeArgs::parse(
&[],
vec!["haze", "asdasd", "logs", "smb", "123"].into_iter()
)
.unwrap(),
HazeArgs::Logs { HazeArgs::Logs {
filter: Some("asdasd".to_string()), filter: Some("asdasd".to_string()),
follow: false, follow: false,
service: Some(LogService::from_type("smb").unwrap()), service: Some(LogService::from_type(&[], "smb").unwrap()),
count: Some(123), count: Some(123),
} }
); );

View file

@ -82,16 +82,18 @@ impl CloudOptions {
#[test] #[test]
fn test_option_parse() { fn test_option_parse() {
use crate::config::Preset;
use crate::service::PresetService;
use crate::service::{Ldap, LdapAdmin}; use crate::service::{Ldap, LdapAdmin};
let mut args = vec![].into_iter().peekable(); let mut args = vec![].into_iter().peekable();
assert_eq!( assert_eq!(
CloudOptions::parse::<_, &str>(&mut args).unwrap(), CloudOptions::parse::<_, &str>(&[], &mut args).unwrap(),
CloudOptions::default() CloudOptions::default()
); );
let mut args = vec!["mariadb"].into_iter().peekable(); let mut args = vec!["mariadb"].into_iter().peekable();
assert_eq!( assert_eq!(
CloudOptions::parse(&mut args).unwrap(), CloudOptions::parse(&[], &mut args).unwrap(),
CloudOptions { CloudOptions {
db: Database::MariaDB, db: Database::MariaDB,
..Default::default() ..Default::default()
@ -99,14 +101,14 @@ fn test_option_parse() {
); );
let mut args = vec!["rest"].into_iter().peekable(); let mut args = vec!["rest"].into_iter().peekable();
assert_eq!( assert_eq!(
CloudOptions::parse(&mut args).unwrap(), CloudOptions::parse(&[], &mut args).unwrap(),
CloudOptions { CloudOptions {
..Default::default() ..Default::default()
} }
); );
let mut args = vec!["7"].into_iter().peekable(); let mut args = vec!["7"].into_iter().peekable();
assert_eq!( assert_eq!(
CloudOptions::parse(&mut args).unwrap(), CloudOptions::parse(&[], &mut args).unwrap(),
CloudOptions { CloudOptions {
php: PhpVersion::Php74, php: PhpVersion::Php74,
..Default::default() ..Default::default()
@ -114,7 +116,7 @@ fn test_option_parse() {
); );
let mut args = vec!["7", "pgsql", "rest"].into_iter().peekable(); let mut args = vec!["7", "pgsql", "rest"].into_iter().peekable();
assert_eq!( assert_eq!(
CloudOptions::parse(&mut args).unwrap(), CloudOptions::parse(&[], &mut args).unwrap(),
CloudOptions { CloudOptions {
php: PhpVersion::Php74, php: PhpVersion::Php74,
db: Database::Postgres, db: Database::Postgres,
@ -123,7 +125,7 @@ fn test_option_parse() {
); );
let mut args = vec!["7", "ldap", "pgsql"].into_iter().peekable(); let mut args = vec!["7", "ldap", "pgsql"].into_iter().peekable();
assert_eq!( assert_eq!(
CloudOptions::parse(&mut args).unwrap(), CloudOptions::parse(&[], &mut args).unwrap(),
CloudOptions { CloudOptions {
php: PhpVersion::Php74, php: PhpVersion::Php74,
db: Database::Postgres, db: Database::Postgres,
@ -133,7 +135,7 @@ fn test_option_parse() {
); );
let mut args = vec!["7", "pgsql", "ldap"].into_iter().peekable(); let mut args = vec!["7", "pgsql", "ldap"].into_iter().peekable();
assert_eq!( assert_eq!(
CloudOptions::parse(&mut args).unwrap(), CloudOptions::parse(&[], &mut args).unwrap(),
CloudOptions { CloudOptions {
php: PhpVersion::Php74, php: PhpVersion::Php74,
db: Database::Postgres, db: Database::Postgres,
@ -141,6 +143,30 @@ fn test_option_parse() {
..Default::default() ..Default::default()
} }
); );
let mut args = vec!["7", "pgsql", "ldap", "mypreset"]
.into_iter()
.peekable();
assert_eq!(
CloudOptions::parse(
&[Preset {
name: "mypreset".to_string(),
commands: Vec::new(),
apps: Vec::new(),
}],
&mut args
)
.unwrap(),
CloudOptions {
php: PhpVersion::Php74,
db: Database::Postgres,
services: vec![
Service::Ldap(Ldap),
Service::LdapAdmin(LdapAdmin),
Service::Preset(PresetService("mypreset".to_string()))
],
..Default::default()
}
);
} }
#[derive(Debug)] #[derive(Debug)]

View file

@ -218,7 +218,7 @@ fn get_preset<'a>(presets: &'a [Preset], name: &str) -> Option<&'a Preset> {
} }
#[derive(Clone, Eq, PartialEq, Debug)] #[derive(Clone, Eq, PartialEq, Debug)]
pub struct PresetService(String); pub struct PresetService(pub String);
#[async_trait::async_trait] #[async_trait::async_trait]
impl ServiceTrait for PresetService { impl ServiceTrait for PresetService {