Files
cloudlysis/aggregate/src/container.rs
Vlad Durnea 1298d9a3df
Some checks failed
ci / rust (push) Failing after 2m34s
ci / ui (push) Failing after 30s
Monorepo consolidation: workspace, shared types, transport plans, docker/swam assets
2026-03-30 11:40:42 +03:00

25 lines
1.0 KiB
Rust

#[cfg(test)]
mod tests {
#[test]
fn dockerfile_is_multi_stage_and_builds_selected_binary() {
let raw = std::fs::read_to_string("../docker/Dockerfile.rust").unwrap();
assert!(raw.contains("AS builder"));
assert!(raw.contains("FROM debian:"));
assert!(raw.contains("ARG PACKAGE"));
assert!(raw.contains("ARG BIN"));
assert!(raw.contains("cargo build -p ${PACKAGE} --bin ${BIN} --release"));
assert!(raw.contains("COPY --from=builder"));
assert!(raw.contains("ENTRYPOINT"));
assert!(raw.contains("FROM"));
}
#[test]
fn docker_compose_is_valid_yaml_and_has_services() {
let raw = std::fs::read_to_string("../docker-compose.yml").unwrap();
let doc: serde_yaml::Value = serde_yaml::from_str(&raw).unwrap();
let services = doc.get("services").and_then(|v| v.as_mapping()).unwrap();
assert!(services.contains_key(serde_yaml::Value::from("nats")));
assert!(services.contains_key(serde_yaml::Value::from("aggregate")));
}
}