#![cfg(feature = "sign")]
use librpm::sign::{self, HashAlgo, SignArgs, SignError, SignFlags};
mod common;
#[test]
fn test_sign_flags_default() {
assert_eq!(SignFlags::default(), SignFlags::NONE);
}
#[test]
fn test_sign_args_default() {
let _args = SignArgs::default();
}
#[test]
fn test_sign_args_builder() {
let _args = SignArgs::new()
.key_id("DEADBEEF")
.hash_algo(HashAlgo::SHA256)
.flags(SignFlags::IMA);
}
#[test]
fn test_sign_nonexistent_file() {
common::configure();
let result = sign::sign_package("/nonexistent/package.rpm", None);
assert_eq!(result, Err(SignError));
}
#[test]
fn test_del_sign_nonexistent_file() {
common::configure();
let result = sign::del_sign("/nonexistent/package.rpm", None);
assert_eq!(result, Err(SignError));
}
#[test]
#[cfg(has_rpmpkg_delfilesign)]
fn test_del_file_sign_nonexistent_file() {
common::configure();
let result = sign::del_file_sign("/nonexistent/package.rpm", None);
assert_eq!(result, Err(SignError));
}
#[test]
fn test_sign_error_display() {
let err = SignError;
assert_eq!(format!("{err}"), "RPM signing operation failed");
}
#[test]
fn test_hash_algo_constants() {
assert_ne!(HashAlgo::SHA256, HashAlgo::SHA512);
assert_ne!(HashAlgo::SHA256, HashAlgo::SHA1);
}