Add test #41
+113
@@ -31,3 +31,116 @@ fn main() {
|
||||
|
||||
cmt_mgr.commit_action();
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::managers;
|
||||
|
||||
#[test]
|
||||
fn test_song_prep_upload() {
|
||||
let meta_path = String::from("tests/sample2_tracks/album.json");
|
||||
|
||||
if !std::path::Path::new(&meta_path).exists() {
|
||||
assert!(false, "File does not exists: {:?}", meta_path);
|
||||
}
|
||||
|
||||
match icarus_models::album::collection::parse_album(&meta_path) {
|
||||
Ok(album) => {
|
||||
for track in 1..3 {
|
||||
let directory_path = std::path::Path::new(&meta_path);
|
||||
let directory: String = directory_path.parent().unwrap().display().to_string();
|
||||
let filename: String = if track < 10 {
|
||||
String::from("track0")
|
||||
+ &track.to_string()
|
||||
+ icarus_models::constants::DEFAULTMUSICEXTENSION
|
||||
} else {
|
||||
String::from("track")
|
||||
+ &track.to_string()
|
||||
+ icarus_models::constants::DEFAULTMUSICEXTENSION
|
||||
};
|
||||
let disc = 1;
|
||||
match managers::commit_manager::retrieve_song(
|
||||
&album, track, disc, &directory, &filename,
|
||||
) {
|
||||
Ok(song) => match song.to_data() {
|
||||
Ok(_) => {
|
||||
print!("Success");
|
||||
}
|
||||
Err(err) => {
|
||||
assert!(false, "Error: {:?}", err.to_string());
|
||||
}
|
||||
},
|
||||
Err(err) => {
|
||||
assert!(false, "Error: {:?}", err.to_string());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Err(err) => {
|
||||
assert!(false, "Error: {:?}", err.to_string());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_minimum_action_and_args() {
|
||||
let args: Vec<String> = vec![
|
||||
"icarus-dm".to_string(),
|
||||
"download".to_string(),
|
||||
"-u".to_string(),
|
||||
"jamborie".to_string(),
|
||||
"-p".to_string(),
|
||||
"somethingsecr3t!".to_string(),
|
||||
"-h".to_string(),
|
||||
"https://music-server.com".to_string(),
|
||||
];
|
||||
let arg_count = args.len() as i32;
|
||||
let minimum_arg_count = 8;
|
||||
assert!(arg_count >= minimum_arg_count);
|
||||
|
||||
let mut act_mgr = managers::action_managers::ActionManager {
|
||||
action: String::new(),
|
||||
flags: Vec::new(),
|
||||
params: args,
|
||||
param_count: arg_count,
|
||||
};
|
||||
act_mgr.initialize();
|
||||
let ica = act_mgr.retrieve_icarus_action();
|
||||
let action = &ica.action;
|
||||
let flags = &ica.flags;
|
||||
|
||||
assert!(action != "");
|
||||
assert!(flags.len() > 2);
|
||||
assert!(
|
||||
!(action != "download"
|
||||
&& action != "upload"
|
||||
&& action != "retrieve"
|
||||
&& action != "upload-meta")
|
||||
);
|
||||
|
||||
let mut found_count = 0;
|
||||
let mut flags_already_read = Vec::new();
|
||||
|
||||
for flag in flags {
|
||||
if flags_already_read.contains(&flag.flag) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if flag.flag == "-u" {
|
||||
found_count += 1;
|
||||
flags_already_read.push(flag.flag.clone());
|
||||
} else if flag.flag == "-p" {
|
||||
found_count += 1;
|
||||
flags_already_read.push(flag.flag.clone());
|
||||
} else if flag.flag == "-h" {
|
||||
found_count += 1;
|
||||
flags_already_read.push(flag.flag.clone());
|
||||
}
|
||||
}
|
||||
|
||||
let all_flags_found = found_count == 3;
|
||||
|
||||
assert_eq!(found_count, 3, "Three flags are required: -u, -p, -h");
|
||||
assert!(all_flags_found, "All flags have not been found");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -166,71 +166,3 @@ impl ActionManager {
|
||||
return parsed;
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use crate::managers::action_managers::ActionManager;
|
||||
|
||||
#[test]
|
||||
fn minimum_action_and_args() {
|
||||
let args: Vec<String> = vec![
|
||||
"icarus-dm".to_string(),
|
||||
"download".to_string(),
|
||||
"-u".to_string(),
|
||||
"jamborie".to_string(),
|
||||
"-p".to_string(),
|
||||
"somethingsecr3t!".to_string(),
|
||||
"-h".to_string(),
|
||||
"https://music-server.com".to_string(),
|
||||
];
|
||||
let arg_count = args.len() as i32;
|
||||
let minimum_arg_count = 8;
|
||||
assert!(arg_count >= minimum_arg_count);
|
||||
|
||||
let mut act_mgr = ActionManager {
|
||||
action: String::new(),
|
||||
flags: Vec::new(),
|
||||
params: args,
|
||||
param_count: arg_count,
|
||||
};
|
||||
act_mgr.initialize();
|
||||
let ica = act_mgr.retrieve_icarus_action();
|
||||
let action = &ica.action;
|
||||
let flags = &ica.flags;
|
||||
|
||||
assert!(action != "");
|
||||
assert!(flags.len() > 2);
|
||||
assert!(
|
||||
!(action != "download"
|
||||
&& action != "upload"
|
||||
&& action != "retrieve"
|
||||
&& action != "upload-meta")
|
||||
);
|
||||
|
||||
let mut all_flags_found = false;
|
||||
let mut found_count = 0;
|
||||
let mut flags_already_read = Vec::new();
|
||||
|
||||
for flag in flags {
|
||||
if flags_already_read.contains(&flag.flag) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if flag.flag == "-u" {
|
||||
found_count += 1;
|
||||
flags_already_read.push(flag.flag.clone());
|
||||
} else if flag.flag == "-p" {
|
||||
found_count += 1;
|
||||
flags_already_read.push(flag.flag.clone());
|
||||
} else if flag.flag == "-h" {
|
||||
found_count += 1;
|
||||
flags_already_read.push(flag.flag.clone());
|
||||
}
|
||||
}
|
||||
|
||||
all_flags_found = found_count == 3;
|
||||
|
||||
assert_eq!(found_count, 3, "Three flags are required: -u, -p, -h");
|
||||
assert!(all_flags_found, "All flags have not been found");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user