use super::package::*;
use super::tests_package::make_apt_resource;
#[test]
fn fj154_apt_package_quote_neutralized() {
let r = make_apt_resource(&["x';reboot;'"]);
let script = apply_script(&r);
assert!(script.contains("'x'\\'';reboot;'\\'''"), "{script}");
assert!(!script.contains(" 'x';reboot"), "{script}");
}
#[test]
fn fj154_apt_benign_unchanged() {
let r = make_apt_resource(&["curl"]);
let script = apply_script(&r);
assert!(script.contains("'curl'"));
assert!(check_script(&r).contains("dpkg -l 'curl'"));
}
#[test]
fn fj154_uv_package_quote_neutralized() {
let mut r = make_apt_resource(&["ruff';id;'"]);
r.provider = Some("uv".to_string());
let script = apply_script(&r);
assert!(script.contains("'\\''"), "{script}");
assert!(!script.contains("--force 'ruff';id"), "{script}");
}
#[test]
fn fj154_brew_package_quote_neutralized() {
let mut r = make_apt_resource(&["jq';id;'"]);
r.provider = Some("brew".to_string());
let script = apply_script(&r);
assert!(script.contains("'\\''"), "{script}");
assert!(!script.contains("brew install 'jq';id"), "{script}");
}
#[test]
fn fj154_cargo_command_substitution_rejected() {
let mut r = make_apt_resource(&["x$(reboot)"]);
r.provider = Some("cargo".to_string());
let script = apply_script(&r);
assert!(
script.contains("ERROR: unsafe cargo package/version token"),
"{script}"
);
assert!(script.contains("exit 1"), "{script}");
assert!(!script.contains("_CACHE_KEY=\"x$(reboot)"), "{script}");
}
#[test]
fn fj154_cargo_unsafe_version_rejected() {
let mut r = make_apt_resource(&["ripgrep"]);
r.provider = Some("cargo".to_string());
r.version = Some("1.0;reboot".to_string());
let script = apply_script(&r);
assert!(
script.contains("ERROR: unsafe cargo package/version token"),
"{script}"
);
}
#[test]
fn fj154_cargo_legit_crate_unchanged() {
let mut r = make_apt_resource(&["ripgrep"]);
r.provider = Some("cargo".to_string());
let script = apply_script(&r);
assert!(script.contains("cache-hit ripgrep"), "{script}");
assert!(script.contains("$(uname -m)"), "{script}");
assert!(!script.contains("ERROR: unsafe"), "{script}");
}
#[test]
fn fj154_cargo_path_install_quoted() {
let mut r = make_apt_resource(&["apr-cli"]);
r.provider = Some("cargo".to_string());
r.source = Some("/build/x';reboot;'".to_string());
let script = apply_script(&r);
assert!(
script.contains("--path '/build/x'\\'';reboot;'\\'''"),
"{script}"
);
assert!(!script.contains("--path '/build/x';reboot"), "{script}");
}
#[test]
fn fj154_apt_state_query_quoted() {
let r = make_apt_resource(&["x';id;'"]);
let script = state_query_script(&r);
assert!(script.contains("'\\''"), "{script}");
assert!(!script.contains(" 'x';id"), "{script}");
}