keplars 2.1.0

Official Rust SDK for Keplars Email API
Documentation
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@"));
    }
}