Monorepo consolidation: workspace, shared types, transport plans, docker/swam assets
This commit is contained in:
24
aggregate/src/container.rs
Normal file
24
aggregate/src/container.rs
Normal file
@@ -0,0 +1,24 @@
|
||||
#[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")));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user