use crate::cli::commands::build_systemd_unit;
#[test]
fn system_unit_runs_as_invoking_user_and_boots() {
let unit = build_systemd_unit("default", "/home/me/opencrabs daemon", Some("me"), true);
assert!(unit.contains("User=me"));
assert!(unit.contains("Group=me"));
assert!(unit.contains("Environment=HOME=/home/me"));
assert!(unit.contains("WantedBy=multi-user.target"));
assert!(unit.contains("ExecStart=/home/me/opencrabs daemon"));
assert!(unit.contains("Restart=always"));
}
#[test]
fn user_unit_has_no_user_directive_and_targets_default() {
let unit = build_systemd_unit("default", "/home/me/opencrabs daemon", None, false);
assert!(!unit.contains("User="));
assert!(!unit.contains("Environment=HOME="));
assert!(unit.contains("WantedBy=default.target"));
}
#[test]
fn profile_label_is_threaded_into_description() {
let unit = build_systemd_unit("staging", "/bin/opencrabs -p staging daemon", None, true);
assert!(unit.contains("Description=OpenCrabs Daemon [staging]"));
}