use keplars::{Keplars, KeplarsError};
#[test]
fn rejects_empty_api_key() {
let result = Keplars::new("");
assert!(matches!(result, Err(KeplarsError::Validation { .. })));
}
#[test]
fn rejects_invalid_api_key_format() {
let result = Keplars::new("invalid-key");
assert!(matches!(result, Err(KeplarsError::Validation { .. })));
}
#[test]
fn accepts_valid_api_key() {
let result = Keplars::new("kms_abc123.live_def456");
assert!(result.is_ok());
}
#[test]
fn accepts_admin_api_key() {
let result = Keplars::new("kms_abc123.adm_def456");
assert!(result.is_ok());
}
#[cfg(test)]
mod utils_tests {
use keplars::utils::{validate_email, verify_webhook_signature};
#[test]
fn validates_correct_email() {
assert!(validate_email("user@example.com"));
assert!(validate_email("test.name+tag@sub.domain.com"));
}
#[test]
fn rejects_invalid_email() {
assert!(!validate_email("notanemail"));
assert!(!validate_email("@domain.com"));
assert!(!validate_email("user@"));
}
}