use mecha10_core::context::builder::*;
#[test]
fn test_builder_creation() {
let builder = ContextBuilder::new("test-node");
assert_eq!(builder.node_id, "test-node");
assert_eq!(builder.instance, None);
}
#[test]
fn test_builder_with_instance() {
let builder = ContextBuilder::new("test-node").with_instance("instance-1");
assert_eq!(builder.instance, Some("instance-1".to_string()));
}
#[test]
fn test_builder_with_redis() {
let builder = ContextBuilder::new("test-node").with_redis("redis://custom:6379");
assert_eq!(builder.redis_url, Some("redis://custom:6379".to_string()));
}
#[test]
fn test_builder_chaining() {
let builder = ContextBuilder::new("test-node")
.with_instance("inst")
.with_redis("redis://localhost:6379")
.with_state_dir("./state");
assert_eq!(builder.node_id, "test-node");
assert_eq!(builder.instance, Some("inst".to_string()));
assert_eq!(builder.redis_url, Some("redis://localhost:6379".to_string()));
assert!(builder.state_dir.is_some());
}
#[test]
fn test_preset_local_dev() {
let builder = ContextBuilder::local_dev("dev-node");
assert_eq!(builder.redis_url, Some("redis://localhost:6379".to_string()));
assert!(builder.state_dir.is_some());
}
#[test]
fn test_preset_production() {
let builder = ContextBuilder::production("prod-node");
assert!(builder.redis_config.is_some());
assert!(builder.state_dir.is_some());
}