This commit is contained in:
Mateusz Gruszczyński committed 2026-10-04 11:15:58 +02:00
1 parent 87e571c170
commit fa7abc9e53
308 files changed
+49746 -50237

No files matched your search

+56
View File
@@ -0,0 +1,56 @@
mod tests {
use super::*;
#[test]
fn embedded_defaults_are_valid() {
let config = Config::embedded().unwrap();
assert_eq!(config.repository_url, "https://git.linuxiarz.pl/gru/RustProxy");
assert_eq!(
config.version_url,
"https://git.linuxiarz.pl/gru/RustProxy/raw/branch/master/Cargo.toml"
);
assert_eq!(config.interval_seconds, 3600);
}
#[test]
fn reads_package_version_only() {
let document = r#"[workspace.package]
version = "99.0.0"
[package]
name = "rust-proxy"
version = "0.19.4"
[dependencies]
foo = { version = "100.0.0" }
"#;
assert_eq!(package_version(document).unwrap(), "0.19.4");
}
#[test]
fn update_redirects_accept_relative_https_and_reject_unsafe_targets() {
let base =
Url::parse("https://updates.example.invalid/releases/current/Cargo.toml").unwrap();
assert_eq!(
redirect_target(&base, "../next/Cargo.toml").unwrap().as_str(),
"https://updates.example.invalid/releases/next/Cargo.toml"
);
assert!(redirect_target(&base, "ftp://updates.example.invalid/Cargo.toml").is_err());
assert!(redirect_target(&base, "http://updates.example.invalid/Cargo.toml").is_err());
assert!(redirect_target(
&base,
"https://user:secret@updates.example.invalid/Cargo.toml"
)
.is_err());
}
#[test]
fn compares_release_versions() {
assert!(is_newer_version("0.19.5", "0.19.4"));
assert!(is_newer_version("0.20.0", "0.19.9"));
assert!(!is_newer_version("0.19.4", "0.19.4"));
assert!(!is_newer_version("0.19.3", "0.19.4"));
assert!(is_newer_version("0.19.4", "0.19.4-rc.1"));
assert!(!is_newer_version("0.19.4-rc.1", "0.19.4"));
}
}