use crate::auth::authen::v1::AuthenServiceV1;
use openlark_core::config::Config;
#[derive(Debug, Clone)]
pub struct AuthenService {
config: Config,
}
impl AuthenService {
pub fn new(config: Config) -> Self {
Self { config }
}
pub fn config(&self) -> &Config {
&self.config
}
pub fn v1(&self) -> AuthenServiceV1 {
AuthenServiceV1::new(self.config.clone())
}
}
impl Default for AuthenService {
fn default() -> Self {
Self::new(Config::default())
}
}
#[cfg(test)]
#[allow(unused_imports)]
mod tests {
use super::*;
#[test]
fn test_authen_service_creation() {
let config = Config::default();
let service = AuthenService::new(config.clone());
assert_eq!(service.config().app_id(), config.app_id());
}
#[test]
fn test_v1_service() {
let config = Config::default();
let service = AuthenService::new(config);
let v1_service = service.v1();
let _ = format!("{v1_service:?}");
}
#[test]
fn test_default() {
let service = AuthenService::default();
let _ = format!("{service:?}");
}
}