Skip to main content

openlark_application/
service.rs

1use openlark_core::config::Config;
2use std::sync::Arc;
3
4/// ApplicationService:应用管理服务的统一入口
5///
6/// 提供对应用 API v1 的访问能力
7#[derive(Clone)]
8#[allow(dead_code)]
9pub struct ApplicationService {
10    config: Arc<Config>,
11}
12
13impl ApplicationService {
14    /// 创建新的应用管理服务实例。
15    pub fn new(config: Config) -> Self {
16        Self {
17            config: Arc::new(config),
18        }
19    }
20
21    #[cfg(feature = "v1")]
22    /// 访问 v1 版本应用 API。
23    pub fn v1(&self) -> crate::application::application::v1::ApplicationV1 {
24        crate::application::application::v1::ApplicationV1::new(self.config.clone())
25    }
26}
27
28#[cfg(test)]
29#[allow(unused_imports)]
30mod tests {
31
32    #[test]
33    fn test_serialization_roundtrip() {
34        // 基础序列化测试
35        let json = r#"{"test": "value"}"#;
36        assert!(serde_json::from_str::<serde_json::Value>(json).is_ok());
37    }
38
39    #[test]
40    fn test_deserialization_from_json() {
41        // 基础反序列化测试
42        let json = r#"{"field": "data"}"#;
43        let value: serde_json::Value = serde_json::from_str(json).expect("JSON 反序列化失败");
44        assert_eq!(value["field"], "data");
45    }
46}