pub const DEFAULT_PATCH_MANIFEST_PATH: &str = ".socket/manifest.json";
pub const DEFAULT_PATCH_API_PROXY_URL: &str = "https://patches-api.socket.dev";
pub const DEFAULT_SOCKET_API_URL: &str = "https://api.socket.dev";
pub const USER_AGENT: &str = concat!("SocketPatchCLI/", env!("CARGO_PKG_VERSION"));
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn user_agent_reports_real_crate_version() {
let expected = format!("SocketPatchCLI/{}", env!("CARGO_PKG_VERSION"));
assert_eq!(USER_AGENT, expected);
assert!(USER_AGENT.starts_with("SocketPatchCLI/"));
assert!(
!USER_AGENT.ends_with("/1.0"),
"USER_AGENT must not be stuck at the stale 1.0 version"
);
let version = USER_AGENT.trim_start_matches("SocketPatchCLI/");
assert!(!version.is_empty(), "version segment must not be empty");
}
#[test]
fn api_urls_are_https_without_trailing_slash() {
for url in [DEFAULT_PATCH_API_PROXY_URL, DEFAULT_SOCKET_API_URL] {
assert!(url.starts_with("https://"), "{url} must use https");
assert!(
!url.ends_with('/'),
"{url} must not end with a trailing slash"
);
}
assert_ne!(DEFAULT_PATCH_API_PROXY_URL, DEFAULT_SOCKET_API_URL);
assert_eq!(
DEFAULT_PATCH_API_PROXY_URL,
"https://patches-api.socket.dev"
);
assert_eq!(DEFAULT_SOCKET_API_URL, "https://api.socket.dev");
}
#[test]
fn manifest_path_is_under_dot_socket() {
assert_eq!(DEFAULT_PATCH_MANIFEST_PATH, ".socket/manifest.json");
}
}