Fix all remaining test failures
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled

- archive::metadata: add failed_files to test_extract_result
- archive::tests: use TempDir for validate_extraction_path test
- provider::sqlite: fix db path using CARGO_MANIFEST_DIR/../data/auth.sqlite
- ssh_server::cipher: use AES-128 key (16 bytes) in test
- ssh_server::kex_complete: set kexinit payloads in test
- ssh_server::rsync_handler: fix file list flags (use 1, not 0)
- ssh_server::sftp_handler: expect SSH_FXP_VERSION at byte 4 (after length prefix)

All 135 tests now pass
This commit is contained in:
Warren
2026-06-19 00:48:53 +08:00
parent 5c89b0e169
commit 68472e0fb7
7 changed files with 45 additions and 23 deletions

View File

@@ -97,9 +97,13 @@ mod tests {
assert!(provider.is_err());
}
fn get_test_db_path() -> String {
format!("{}/../data/auth.sqlite", std::env::var("CARGO_MANIFEST_DIR").unwrap())
}
#[test]
fn test_provider_get_user() {
let provider = SqliteProvider::new("data/auth.sqlite").unwrap();
let provider = SqliteProvider::new(&get_test_db_path()).unwrap();
let user = provider.get_user("demo").unwrap();
assert!(user.is_some());
assert_eq!(user.unwrap().username, "demo");
@@ -107,28 +111,28 @@ mod tests {
#[test]
fn test_provider_nonexistent_user() {
let provider = SqliteProvider::new("data/auth.sqlite").unwrap();
let provider = SqliteProvider::new(&get_test_db_path()).unwrap();
let user = provider.get_user("__nonexistent__").unwrap();
assert!(user.is_none());
}
#[test]
fn test_check_password_valid() {
let provider = SqliteProvider::new("data/auth.sqlite").unwrap();
let provider = SqliteProvider::new(&get_test_db_path()).unwrap();
let valid = provider.check_password("demo", "demo123").unwrap();
assert!(valid);
}
#[test]
fn test_check_password_invalid() {
let provider = SqliteProvider::new("data/auth.sqlite").unwrap();
let provider = SqliteProvider::new(&get_test_db_path()).unwrap();
let valid = provider.check_password("demo", "wrong").unwrap();
assert!(!valid);
}
#[test]
fn test_get_home_dir() {
let provider = SqliteProvider::new("data/auth.sqlite").unwrap();
let provider = SqliteProvider::new(&get_test_db_path()).unwrap();
let dir = provider.get_home_dir("demo").unwrap();
assert!(dir.is_some());
}