use mecha10_cli::services::dev::DevService;
use std::net::TcpListener;
#[test]
fn test_service_creation() {
let service = DevService::new("redis://test:6379".to_string());
assert_eq!(service.redis_url, "redis://test:6379");
}
#[test]
fn test_default_service() {
let service = DevService::default();
assert_eq!(service.redis_url, "redis://localhost:6379");
}
#[test]
fn test_is_port_available() {
let service = DevService::default();
let _listener = TcpListener::bind(("127.0.0.1", 0)).unwrap();
let port = _listener.local_addr().unwrap().port();
assert!(!service.is_port_available(port).unwrap());
assert!(service.is_port_in_use(port).unwrap());
}
#[test]
fn test_get_default_env_vars() {
let service = DevService::new("redis://custom:6379".to_string());
let env = service.get_default_env_vars();
assert_eq!(env.get("REDIS_URL"), Some(&"redis://custom:6379".to_string()));
assert_eq!(env.get("RUST_LOG"), Some(&"info".to_string()));
}