1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
#![cfg(feature = "serde")]
extern crate serde_test;
extern crate sshkeys;
use self::serde_test::{assert_de_tokens_error, assert_tokens, Token};
use std::fmt;
#[test]
fn serde_ok_both_ways() {
let key = sshkeys::PublicKey::from_path("tests/test-keys/id_ed25519.pub").unwrap();
assert_tokens(
&key,
&[Token::String(
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMIVp6q5co/r5GwY0dH+NYQbfKicapeF3gXEU3dzaAvD me@home",
)],
);
}
#[test]
fn serde_de_error() {
struct MockError {}
impl fmt::Display for MockError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "Invalid format")
}
}
let err_format = MockError {}.to_string();
assert_de_tokens_error::<sshkeys::PublicKey>(&[Token::Str("M")], &err_format);
assert_de_tokens_error::<sshkeys::PublicKey>(&[Token::Str("")], &err_format);
}
|