Files
honey-biscuit-workshop/workshop-baker/tests/prebake_config_integration.rs
T
Catty Steve 8fd807f174 refactor!: extract execution engine into standalone workshop-engine
crate

BREAKING CHANGE: Moved engine/ module (cgroups, executor, pm, upm,
types) and shared types (command, repology, time) from workshop-baker to
new workshop-engine crate. All internal error types consolidated into
workshop-engine::error. Import paths changed throughout codebase.
2026-04-26 23:07:08 +08:00

80 lines
1.7 KiB
Rust

use workshop_baker::prebake::parse;
use workshop_baker::types::builderconfig::BuilderType;
#[test]
fn test_prebake_config_minimal_yaml() {
let yaml = r#"
version: "1.0"
environment:
builder: docker
"#;
let config = parse(yaml).unwrap();
assert_eq!(config.version, "1.0");
assert_eq!(config.environment.builder, BuilderType::Docker);
}
#[test]
fn test_prebake_config_with_builder_type_baremetal() {
let yaml = r#"
version: "1.0"
environment:
builder: baremetal
"#;
let config = parse(yaml).unwrap();
assert_eq!(config.environment.builder, BuilderType::Baremetal);
}
#[test]
fn test_prebake_config_with_envvars() {
let yaml = r#"
version: "1.0"
environment:
builder: baremetal
envvars:
prebake:
RUST_LOG: debug
"#;
let config = parse(yaml).unwrap();
assert_eq!(config.environment.builder, BuilderType::Baremetal);
let prebake_vars = config.envvars.unwrap().prebake.unwrap();
assert_eq!(prebake_vars.get("RUST_LOG").unwrap(), "debug");
}
#[test]
fn test_prebake_config_with_bootstrap_workspace() {
let yaml = r#"
version: "1.0"
environment:
builder: docker
bootstrap:
workspace:
path: "/workspace"
"#;
let config = parse(yaml).unwrap();
let bootstrap = config.bootstrap.unwrap();
let workspace = bootstrap.workspace.unwrap();
assert_eq!(workspace.path, "/workspace");
}
#[test]
fn test_prebake_config_validation_passes() {
let yaml = r#"
version: "1.0"
environment:
builder: docker
"#;
let config = parse(yaml).unwrap();
assert!(config.validate().is_ok());
}
#[test]
fn test_prebake_config_validation_fails_bad_version() {
let yaml = r#"
version: "99.0"
environment:
builder: docker
"#;
let config = parse(yaml).unwrap();
assert!(config.validate().is_err());
}