De-dupe some test code
This commit is contained in:
parent
3c95e1b163
commit
a57e582337
3 changed files with 10 additions and 18 deletions
|
@ -10,7 +10,7 @@ use medallion::{
|
|||
Token,
|
||||
};
|
||||
|
||||
fn load_key(keypath: &str) -> Result<String, Error> {
|
||||
fn load_pem(keypath: &str) -> Result<String, Error> {
|
||||
let mut key_file = File::open(keypath)?;
|
||||
let mut key = String::new();
|
||||
key_file.read_to_string(&mut key)?;
|
||||
|
@ -34,13 +34,13 @@ fn new_token(user_id: &str, password: &str) -> Option<String> {
|
|||
};
|
||||
let token = Token::new(header, claims);
|
||||
|
||||
token.signed(load_key("./privateKey.pem").unwrap().as_bytes()).ok()
|
||||
token.signed(load_pem("./privateKey.pem").unwrap().as_bytes()).ok()
|
||||
}
|
||||
|
||||
fn login(token: &str) -> Option<String> {
|
||||
let token = Token::<DefaultHeader, Registered>::parse(token).unwrap();
|
||||
|
||||
if token.verify(load_key("./publicKey.pub").unwrap().as_bytes()).unwrap() {
|
||||
if token.verify(load_pem("./publicKey.pub").unwrap().as_bytes()).unwrap() {
|
||||
token.claims.sub
|
||||
} else {
|
||||
None
|
||||
|
|
|
@ -71,7 +71,7 @@ fn verify_rsa(signature: &str, data: &str, key: &[u8], digest: MessageDigest) ->
|
|||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
pub mod tests {
|
||||
use header::Algorithm;
|
||||
use std::io::{Error, Read};
|
||||
use std::fs::File;
|
||||
|
@ -99,7 +99,7 @@ mod tests {
|
|||
let real_sig = "nXdpIkFQYZXZ0VlJjHmAc5_aewHCCJpT5jP1fpexUCF_9m3NxlC7uYNXAl6NKno520oh9wVT4VV_vmPeEin7BnnoIJNPcImWcUzkYpLTrDBntiF9HCuqFaniuEVzlf8dVlRJgo8QxhmUZEjyDFjPZXZxPlPV1LD6hrtItxMKZbh1qoNY3OL7Mwo-WuSRQ0mmKj-_y3weAmx_9EaTLY639uD8-o5iZxIIf85U4e55Wdp-C9FJ4RxyHpjgoG8p87IbChfleSdWcZL3NZuxjRCHVWgS1uYG0I-LqBWpWyXnJ1zk6-w4tfxOYpZFMOIyq4tY2mxJQ78Kvcu8bTO7UdI7iA==";
|
||||
let data = format!("{}.{}", header, claims);
|
||||
|
||||
let key = load_key("./examples/privateKey.pem").unwrap();
|
||||
let key = load_pem("./examples/privateKey.pem").unwrap();
|
||||
|
||||
let sig = sign(&*data, key.as_bytes(), &Algorithm::RS256);
|
||||
|
||||
|
@ -123,11 +123,11 @@ mod tests {
|
|||
let real_sig = "nXdpIkFQYZXZ0VlJjHmAc5_aewHCCJpT5jP1fpexUCF_9m3NxlC7uYNXAl6NKno520oh9wVT4VV_vmPeEin7BnnoIJNPcImWcUzkYpLTrDBntiF9HCuqFaniuEVzlf8dVlRJgo8QxhmUZEjyDFjPZXZxPlPV1LD6hrtItxMKZbh1qoNY3OL7Mwo-WuSRQ0mmKj-_y3weAmx_9EaTLY639uD8-o5iZxIIf85U4e55Wdp-C9FJ4RxyHpjgoG8p87IbChfleSdWcZL3NZuxjRCHVWgS1uYG0I-LqBWpWyXnJ1zk6-w4tfxOYpZFMOIyq4tY2mxJQ78Kvcu8bTO7UdI7iA";
|
||||
let data = format!("{}.{}", header, claims);
|
||||
|
||||
let key = load_key("./examples/publicKey.pub").unwrap();
|
||||
let key = load_pem("./examples/publicKey.pub").unwrap();
|
||||
assert!(verify(&real_sig, &*data, key.as_bytes(), &Algorithm::RS256).unwrap());
|
||||
}
|
||||
|
||||
fn load_key(keypath: &str) -> Result<String, Error> {
|
||||
pub fn load_pem(keypath: &str) -> Result<String, Error> {
|
||||
let mut key_file = File::open(keypath)?;
|
||||
let mut key = String::new();
|
||||
key_file.read_to_string(&mut key)?;
|
||||
|
|
14
src/lib.rs
14
src/lib.rs
|
@ -123,10 +123,9 @@ impl<H, C> PartialEq for Token<H, C>
|
|||
mod tests {
|
||||
use Claims;
|
||||
use Token;
|
||||
use crypt::tests::load_pem;
|
||||
use header::Algorithm::{HS256,RS512};
|
||||
use header::DefaultHeader;
|
||||
use std::io::{Error, Read};
|
||||
use std::fs::File;
|
||||
|
||||
#[derive(Default, Debug, Serialize, Deserialize, PartialEq)]
|
||||
struct EmptyClaim { }
|
||||
|
@ -162,19 +161,12 @@ mod tests {
|
|||
},
|
||||
..Default::default()
|
||||
};
|
||||
let private_key = load_key("./examples/privateKey.pem").unwrap();
|
||||
let private_key = load_pem("./examples/privateKey.pem").unwrap();
|
||||
let raw = token.signed(private_key.as_bytes()).unwrap();
|
||||
let same = Token::parse(&*raw).unwrap();
|
||||
|
||||
assert_eq!(token, same);
|
||||
let public_key = load_key("./examples/publicKey.pub").unwrap();
|
||||
let public_key = load_pem("./examples/publicKey.pub").unwrap();
|
||||
assert!(same.verify(public_key.as_bytes()).unwrap());
|
||||
}
|
||||
|
||||
fn load_key(keypath: &str) -> Result<String, Error> {
|
||||
let mut key_file = File::open(keypath)?;
|
||||
let mut key = String::new();
|
||||
key_file.read_to_string(&mut key)?;
|
||||
Ok(key)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue