mecha10-core 0.8.0

Mecha10 core runtime and foundational types
Documentation

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());
}