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