mirror of
https://github.com/EthanShoeDev/fressh.git
synced 2026-01-11 14:22:51 +00:00
rust tests
This commit is contained in:
@@ -1 +1,2 @@
|
|||||||
!.vscode
|
!.vscode
|
||||||
|
mnt/
|
||||||
@@ -4,4 +4,8 @@ default:
|
|||||||
@just --list
|
@just --list
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
cargo clippy --all-targets --all-features -- -D warnings
|
cargo clippy --all-targets --all-features -- -D warnings
|
||||||
|
|
||||||
|
# Run crate tests
|
||||||
|
test:
|
||||||
|
cargo test
|
||||||
|
|||||||
@@ -897,3 +897,71 @@ impl From<russh::client::AuthResult> for SshError {
|
|||||||
SshError::Auth(format!("{a:?}"))
|
SshError::Auth(format!("{a:?}"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ---------- Unit Tests ----------
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn validate_private_key_rejects_invalid_constant() {
|
||||||
|
let invalid_key = "this is not a private key".to_string();
|
||||||
|
let result = validate_private_key(invalid_key);
|
||||||
|
assert!(result.is_err(), "Expected Err for invalid key content");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn validate_private_key_accepts_1() {
|
||||||
|
// Generated with: ssh-keygen -t ed25519 -C "test-ed25519@fressh.com" -f ./ed25519-with-comment
|
||||||
|
let valid_key = "-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
||||||
|
QyNTUxOQAAACC7PhmC0yS0Q8LcUkRnoYCxpb4gkCjJhadvvf+TDlRBJwAAAKCX5GEsl+Rh
|
||||||
|
LAAAAAtzc2gtZWQyNTUxOQAAACC7PhmC0yS0Q8LcUkRnoYCxpb4gkCjJhadvvf+TDlRBJw
|
||||||
|
AAAEBmrg8TL0+2xypHjVpFeuQmgQf3Qn/A45Jz+zCwVgoBt7s+GYLTJLRDwtxSRGehgLGl
|
||||||
|
viCQKMmFp2+9/5MOVEEnAAAAF3Rlc3QtZWQyNTUxOUBmcmVzc2guY29tAQIDBAUG
|
||||||
|
-----END OPENSSH PRIVATE KEY-----
|
||||||
|
".to_string();
|
||||||
|
let result = validate_private_key(valid_key);
|
||||||
|
assert!(result.is_ok(), "Expected Ok for valid key content");
|
||||||
|
}
|
||||||
|
#[test]
|
||||||
|
fn validate_private_key_accepts_2() {
|
||||||
|
// Generated with: ssh-keygen -t ed25519 -f ./ed25519-wo-comment
|
||||||
|
let valid_key = "-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
||||||
|
QyNTUxOQAAACD/icJYduvcR9JPKw9g/bPWpsgS0IAaJxlYL5yeuOaNMgAAAJjDAt7NwwLe
|
||||||
|
zQAAAAtzc2gtZWQyNTUxOQAAACD/icJYduvcR9JPKw9g/bPWpsgS0IAaJxlYL5yeuOaNMg
|
||||||
|
AAAEDYE6BYf7QlpAaJCfaxA/HN487NM9iIF7VGue/iefZIyP+Jwlh269xH0k8rD2D9s9am
|
||||||
|
yBLQgBonGVgvnJ645o0yAAAADmV0aGFuQEV0aGFuLVBDAQIDBAUGBw==
|
||||||
|
-----END OPENSSH PRIVATE KEY-----
|
||||||
|
".to_string();
|
||||||
|
let result = validate_private_key(valid_key);
|
||||||
|
assert!(result.is_ok(), "Expected Ok for valid key content");
|
||||||
|
}
|
||||||
|
#[test]
|
||||||
|
fn validate_private_key_accepts_3() {
|
||||||
|
// Generated with: ssh-keygen -t ed25519 -C "" -N "" -f ./ed25519-wo-comment-and-hostname
|
||||||
|
let valid_key = "-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
||||||
|
QyNTUxOQAAACDt2ZcFrEhB8/B4uu30mPIi3BWWEa/wE//IUXLeL9YevAAAAIg90nGHPdJx
|
||||||
|
hwAAAAtzc2gtZWQyNTUxOQAAACDt2ZcFrEhB8/B4uu30mPIi3BWWEa/wE//IUXLeL9YevA
|
||||||
|
AAAEBMtZWpjpVnzDhYKR3V09SLohGqkW7HgMXoF8f0zf+/Pu3ZlwWsSEHz8Hi67fSY8iLc
|
||||||
|
FZYRr/AT/8hRct4v1h68AAAAAAECAwQF
|
||||||
|
-----END OPENSSH PRIVATE KEY-----
|
||||||
|
".to_string();
|
||||||
|
let result = validate_private_key(valid_key);
|
||||||
|
assert!(result.is_ok(), "Expected Ok for valid key content");
|
||||||
|
}
|
||||||
|
#[test]
|
||||||
|
fn validate_private_key_accepts_4() {
|
||||||
|
// Generated with juicessh
|
||||||
|
let valid_key = "-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZWQyNTUxOQAAACCh5IbLI9ypdFzNW8WvezgBrzJT/2mT9BKSdZScB4EYoQAAAJB8YyoafGMqGgAAAAtzc2gtZWQyNTUxOQAAACCh5IbLI9ypdFzNW8WvezgBrzJT/2mT9BKSdZScB4EYoQAAAECpYzHTSiKC2iehjck1n8GAp5mdGuB2J5vV+9U3MAvthKHkhssj3Kl0XM1bxa97OAGvMlP/aZP0EpJ1lJwHgRihAAAAAAECAwQFBgcICQoLDA0=
|
||||||
|
-----END OPENSSH PRIVATE KEY-----
|
||||||
|
".to_string();
|
||||||
|
let result = validate_private_key(valid_key);
|
||||||
|
assert!(result.is_ok(), "Expected Ok for valid key content");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user