Monorepo consolidation: workspace, shared types, transport plans, docker/swam assets
This commit is contained in:
42
control/api/tests/swarm_smoke_docker.rs
Normal file
42
control/api/tests/swarm_smoke_docker.rs
Normal file
@@ -0,0 +1,42 @@
|
||||
use std::time::Duration;
|
||||
|
||||
#[tokio::test]
|
||||
#[ignore]
|
||||
async fn docker_swarm_smoke_test_is_gated_and_times_out() {
|
||||
let enabled = std::env::var("CONTROL_TEST_DOCKER").ok();
|
||||
assert_eq!(enabled.as_deref(), Some("1"));
|
||||
|
||||
let stack = "cloudlysis_control_test";
|
||||
let compose = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR"))
|
||||
.parent()
|
||||
.and_then(|p| p.parent())
|
||||
.unwrap()
|
||||
.join("swarm/stacks/control-plane.yml");
|
||||
|
||||
let deploy = tokio::process::Command::new("docker")
|
||||
.args(["stack", "deploy", "-c"])
|
||||
.arg(&compose)
|
||||
.arg(stack)
|
||||
.output();
|
||||
|
||||
let out = tokio::time::timeout(Duration::from_secs(30), deploy)
|
||||
.await
|
||||
.expect("docker stack deploy timed out")
|
||||
.expect("failed to run docker stack deploy");
|
||||
assert!(
|
||||
out.status.success(),
|
||||
"docker stack deploy failed: {}",
|
||||
String::from_utf8_lossy(&out.stderr)
|
||||
);
|
||||
|
||||
let ls = tokio::process::Command::new("docker")
|
||||
.args(["service", "ls"])
|
||||
.output();
|
||||
let _ = tokio::time::timeout(Duration::from_secs(10), ls).await;
|
||||
|
||||
let rm = tokio::process::Command::new("docker")
|
||||
.args(["stack", "rm"])
|
||||
.arg(stack)
|
||||
.output();
|
||||
let _ = tokio::time::timeout(Duration::from_secs(10), rm).await;
|
||||
}
|
||||
Reference in New Issue
Block a user