use serde::{Deserialize, Serialize};
pub const TOKEN_ROTATED_NOTIFY_METHOD: &str = "nexo/notify/token_rotated";
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct TokenRotated {
pub old_hash: String,
pub new: String,
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn token_rotated_round_trip() {
let evt = TokenRotated {
old_hash: "abcdef0123456789".into(),
new: "fresh-token".into(),
};
let v = serde_json::to_value(&evt).unwrap();
assert_eq!(v["old_hash"], "abcdef0123456789");
assert_eq!(v["new"], "fresh-token");
let back: TokenRotated = serde_json::from_value(v).unwrap();
assert_eq!(back, evt);
}
#[test]
fn notify_method_constant() {
assert_eq!(TOKEN_ROTATED_NOTIFY_METHOD, "nexo/notify/token_rotated");
}
}