Crate clnrm_core

Crate clnrm_core 

Source
Expand description

Cleanroom Testing Platform - Hermetic Integration Testing

A framework for reliable, hermetic integration testing with automatic container lifecycle management and comprehensive observability.

This library provides a complete testing platform that tests itself through the “eat your own dog food” principle - the framework validates its own functionality using its own capabilities.

Re-exports§

pub use error::CleanroomError;
pub use error::Result;
pub use policy::Policy;
pub use policy::SecurityLevel;
pub use policy::SecurityPolicy;
pub use scenario::scenario;
pub use assertions::cache;
pub use assertions::database;
pub use assertions::email_service;
pub use assertions::UserAssertions;
pub use cache::Cache;
pub use cache::CacheManager;
pub use cache::CacheStats;
pub use cache::FileCache;
pub use cache::MemoryCache;
pub use cleanroom::CleanroomEnvironment;
pub use cleanroom::ExecutionResult;
pub use cleanroom::HealthStatus;
pub use cleanroom::ServiceHandle;
pub use cleanroom::ServicePlugin;
pub use cleanroom::ServiceRegistry;
pub use config::load_cleanroom_config;
pub use config::load_cleanroom_config_from_file;
pub use config::load_config_from_file;
pub use config::parse_toml_config;
pub use config::CleanroomConfig;
pub use config::DeterminismConfig;
pub use config::ScenarioConfig;
pub use config::StepConfig;
pub use config::TestConfig;
pub use determinism::DeterminismEngine;
pub use formatting::format_test_results;
pub use formatting::format_toml_content;
pub use formatting::format_toml_file;
pub use formatting::needs_formatting;
pub use formatting::Formatter;
pub use formatting::FormatterType;
pub use formatting::HumanFormatter;
pub use formatting::JsonFormatter;
pub use formatting::JunitFormatter;
pub use formatting::TapFormatter;
pub use formatting::TestResult;
pub use formatting::TestStatus;
pub use formatting::TestSuite;
pub use macros::with_cache;
pub use macros::with_database;
pub use macros::with_message_queue;
pub use macros::with_web_server;
pub use reporting::generate_reports;
pub use reporting::DigestReporter;
pub use reporting::JsonReporter;
pub use reporting::JunitReporter;
pub use reporting::ReportConfig;
pub use services::generic::GenericContainerPlugin;
pub use services::surrealdb::SurrealDbPlugin;
pub use template::TemplateContext;
pub use template::TemplateRenderer;
pub use validation::otel::OtelValidationConfig;
pub use validation::otel::OtelValidator;
pub use validation::otel::SpanAssertion;
pub use validation::otel::TraceAssertion;
pub use validation::PrdExpectations;
pub use validation::ShapeValidator;
pub use validation::ValidationReport;
pub use watch::debouncer::FileDebouncer;
pub use watch::WatchConfig;

Modules§

assertions
Rich assertion library for domain-specific checks
backend
Backend implementations for cleanroom testing
cache
Cache module for change-aware test execution
cleanroom
Cleanroom Environment - Framework Self-Testing Implementation
cli
CLI module for the cleanroom testing framework
config
Configuration system for cleanroom testing
determinism
Determinism engine for reproducible test execution
error
Error types for cleanroom testing framework
formatting
Formatting Module for Cleanroom v0.7.0
macros
Jane-friendly macros for cleanroom testing
marketplace
Cleanroom Marketplace - Plugin Ecosystem Management
otel
OpenTelemetry integration for fake-green detection
policy
Policy enforcement for cleanroom testing
reporting
Report generation for test results
scenario
Scenario DSL for multi-step test orchestration
services
telemetry
Minimal, happy-path OpenTelemetry bootstrap for clnrm. Enable with --features otel-traces (logs/metrics are optional).
template
Tera template rendering for .clnrm.toml files
testing
Testing utilities and helpers for CLNRM
utils
Utility functions and helpers for the cleanroom framework
validation
Validation module for cleanroom testing framework
watch
File watching subsystem for auto-test execution

Macros§

cleanroom_test
Jane-friendly test macro that handles all the boilerplate

Structs§

RunResult
Result of a cleanroom run