pub const TEST_IDLE: std::time::Duration = std::time::Duration::from_secs(2);
pub const E2E_DEADLINE: std::time::Duration = std::time::Duration::from_secs(20);
pub const fn short_lease(ms: u64) -> super::ListenLease {
let d = std::time::Duration::from_millis(ms);
super::ListenLease::Renew(super::LeaseWindow::new(d, d).unwrap())
}
pub fn test_server_with_roots(
workspace_roots: crate::bridge::WorkspaceRoots,
) -> crate::mcp::McplsServer {
use std::sync::Arc;
use tokio::sync::Mutex;
use crate::bridge::{NotificationCache, Translator};
use crate::config::McpConfig;
use crate::mcp::{McplsServer, SubscriptionRegistry};
let translator = Arc::new(Translator::new());
let notification_cache = Arc::new(Mutex::new(NotificationCache::new()));
let subs = SubscriptionRegistry::new();
McplsServer::new(
translator,
notification_cache,
workspace_roots,
subs,
crate::ProjectConfigStatus::NotIgnored,
McpConfig::default(),
)
}
pub fn test_server() -> crate::mcp::McplsServer {
test_server_with_roots(crate::bridge::WorkspaceRoots::default())
}