#![allow(unused_imports)]
#[cfg(test)]
mod tests {
use super::super::graph_topology::{cmd_graph_dependency_count, cmd_graph_subgraph_stats};
use super::super::status_resource_detail::{
cmd_status_last_apply_status, cmd_status_resource_staleness,
};
use super::super::validate_paths::{
cmd_validate_check_env_refs, cmd_validate_check_resource_names,
};
fn yaml_header() -> &'static str {
"version: \"1.0\"\nname: test\n"
}
fn write_config(dir: &std::path::Path, body: &str) -> std::path::PathBuf {
let f = dir.join("forjar.yaml");
std::fs::write(&f, format!("{}{}", yaml_header(), body)).unwrap();
f
}
#[test]
fn test_fj741_env_refs_no_refs() {
let dir = tempfile::tempdir().unwrap();
let f = write_config(dir.path(), "machines: {}\nresources: {}\n");
assert!(cmd_validate_check_env_refs(&f, false).is_ok());
}
#[test]
fn test_fj741_env_refs_json() {
let dir = tempfile::tempdir().unwrap();
let f = write_config(dir.path(), "machines: {}\nresources: {}\n");
assert!(cmd_validate_check_env_refs(&f, true).is_ok());
}
#[test]
#[allow(clippy::disallowed_methods)]
fn test_fj741_env_refs_with_set_var() {
std::env::set_var("FORJAR_TEST_741", "1");
let dir = tempfile::tempdir().unwrap();
let f = dir.path().join("f.yaml");
std::fs::write(&f, "version: \"1.0\"\nname: test\nparams:\n x: \"{{env.FORJAR_TEST_741}}\"\nmachines: {}\nresources: {}\n").unwrap();
assert!(cmd_validate_check_env_refs(&f, false).is_ok());
std::env::remove_var("FORJAR_TEST_741");
}
#[test]
fn test_fj745_resource_names_kebab() {
let dir = tempfile::tempdir().unwrap();
let f = write_config(dir.path(), "machines:\n m1:\n hostname: m1\n addr: 127.0.0.1\nresources:\n my-resource:\n type: file\n path: /tmp/a\n content: a\n machine: m1\n");
assert!(cmd_validate_check_resource_names(&f, false, "kebab-case").is_ok());
}
#[test]
fn test_fj745_resource_names_prefix() {
let dir = tempfile::tempdir().unwrap();
let f = write_config(dir.path(), "machines:\n m1:\n hostname: m1\n addr: 127.0.0.1\nresources:\n app-web:\n type: file\n path: /tmp/a\n content: a\n machine: m1\n");
assert!(cmd_validate_check_resource_names(&f, false, "app-").is_ok());
}
#[test]
fn test_fj745_resource_names_json() {
let dir = tempfile::tempdir().unwrap();
let f = write_config(dir.path(), "machines: {}\nresources: {}\n");
assert!(cmd_validate_check_resource_names(&f, true, "kebab-case").is_ok());
}
#[test]
fn test_fj743_subgraph_stats_single() {
let dir = tempfile::tempdir().unwrap();
let f = write_config(dir.path(), "machines:\n m1:\n hostname: m1\n addr: 127.0.0.1\nresources:\n a:\n type: file\n path: /tmp/a\n content: a\n machine: m1\n b:\n type: file\n path: /tmp/b\n content: b\n machine: m1\n depends_on: [a]\n");
assert!(cmd_graph_subgraph_stats(&f, false).is_ok());
}
#[test]
fn test_fj743_subgraph_stats_json() {
let dir = tempfile::tempdir().unwrap();
let f = write_config(dir.path(), "machines: {}\nresources: {}\n");
assert!(cmd_graph_subgraph_stats(&f, true).is_ok());
}
#[test]
fn test_fj747_dependency_count() {
let dir = tempfile::tempdir().unwrap();
let f = write_config(dir.path(), "machines:\n m1:\n hostname: m1\n addr: 127.0.0.1\nresources:\n a:\n type: file\n path: /tmp/a\n content: a\n machine: m1\n b:\n type: file\n path: /tmp/b\n content: b\n machine: m1\n depends_on: [a]\n");
assert!(cmd_graph_dependency_count(&f, false).is_ok());
}
#[test]
fn test_fj747_dependency_count_json() {
let dir = tempfile::tempdir().unwrap();
let f = write_config(dir.path(), "machines: {}\nresources: {}\n");
assert!(cmd_graph_dependency_count(&f, true).is_ok());
}
#[test]
fn test_fj746_last_apply_empty() {
let dir = tempfile::tempdir().unwrap();
assert!(cmd_status_last_apply_status(dir.path(), None, false).is_ok());
}
#[test]
fn test_fj746_last_apply_json() {
let dir = tempfile::tempdir().unwrap();
assert!(cmd_status_last_apply_status(dir.path(), None, true).is_ok());
}
#[test]
fn test_fj748_staleness_empty() {
let dir = tempfile::tempdir().unwrap();
assert!(cmd_status_resource_staleness(dir.path(), None, false).is_ok());
}
#[test]
fn test_fj748_staleness_json() {
let dir = tempfile::tempdir().unwrap();
assert!(cmd_status_resource_staleness(dir.path(), None, true).is_ok());
}
}