#[test]
fn generic() {
let permissions: lrau::Permissions = toml::from_str(
include_str!("./generic.toml")
).unwrap();
let mut user = lrau::User::new(
String::from("john_t"),
String::from("1234"),
permissions
);
assert!(user.validate("1234"));
assert!(!user.validate("12345"));
assert!(!user.get_permission("/", false));
assert!(!user.get_permission("/", true));
assert!(!user.get_permission("/contacts", false));
assert!(!user.get_permission("/contacts", true));
assert!(!user.get_permission("/contacts/", false));
assert!(!user.get_permission("/contacts/", true));
assert!(user.get_permission("/contacts/name", false));
assert!(!user.get_permission("/contacts/name", true));
assert!(user.get_permission("/admin/passwords/", true));
assert!(user.get_permission("/admin/passwords/reset", true));
assert!(!user.get_permission("/notathing", false));
assert!(!user.check_login());
assert!(!user.check_valid_login());
user.log_in("1234", std::time::Duration::from_secs(1));
assert!(user.check_login());
assert!(user.check_valid_login());
std::thread::sleep(std::time::Duration::from_secs(1));
assert!(user.check_login());
assert!(!user.check_valid_login());
assert_eq!(
user.get_valid_permissions (
"/admin/passwords/reset",
true
),
Err(lrau::user::SessionExpired{}),
);
}