mod common;
mod subscription;
mod usage;
use std::sync::Arc;
use crate::fetcher::Fetcher;
pub fn fetchers() -> Vec<Arc<dyn Fetcher>> {
vec![
Arc::new(usage::CodexUsage),
Arc::new(subscription::CodexSubscription),
]
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn fetchers_entry_point_registers_each_member_under_codex_prefix() {
let names: Vec<String> = fetchers().iter().map(|f| f.name().to_string()).collect();
for name in &names {
assert!(
name.starts_with("codex_"),
"{name} must use the `codex_` family prefix"
);
}
assert!(names.contains(&"codex_usage".to_string()));
assert!(names.contains(&"codex_subscription".to_string()));
}
}