Skip to main content

openlark_webhook/common/
validation.rs

1//! Webhook 模块输入校验工具。
2
3use openlark_core::SDKResult;
4
5/// 校验 webhook URL 非空。
6pub fn validate_webhook_url(url: &str) -> SDKResult<()> {
7    if url.trim().is_empty() {
8        return Err(openlark_core::CoreError::validation_msg(
9            "Webhook URL cannot be empty",
10        ));
11    }
12    Ok(())
13}
14
15/// 校验消息内容非空。
16pub fn validate_message_content(content: &str) -> SDKResult<()> {
17    if content.trim().is_empty() {
18        return Err(openlark_core::CoreError::validation_msg(
19            "Message content cannot be empty",
20        ));
21    }
22    Ok(())
23}
24
25#[cfg(test)]
26#[allow(unused_imports)]
27mod tests {
28    use super::*;
29
30    #[test]
31    fn test_validate_webhook_url_empty() {
32        assert!(validate_webhook_url("").is_err());
33        assert!(validate_webhook_url("   ").is_err());
34    }
35
36    #[test]
37    fn test_validate_webhook_url_valid() {
38        assert!(validate_webhook_url("https://example.com/webhook").is_ok());
39    }
40
41    #[test]
42    fn test_validate_message_content_empty() {
43        assert!(validate_message_content("").is_err());
44        assert!(validate_message_content("   ").is_err());
45    }
46
47    #[test]
48    fn test_validate_message_content_valid() {
49        assert!(validate_message_content("Hello, World!").is_ok());
50    }
51}