#![allow(clippy::unused_async)]
use ant_service_management::StatusSummary;
use assert_cmd::cargo::cargo_bin_cmd;
use color_eyre::{Result, eyre::eyre};
pub async fn get_service_status() -> Result<StatusSummary> {
let mut cmd = cargo_bin_cmd!("antctl");
let output = cmd
.arg("status")
.arg("--json")
.assert()
.success()
.get_output()
.stdout
.clone();
let output = std::str::from_utf8(&output)?;
println!("status command output:");
println!("{output}");
let status: StatusSummary = match serde_json::from_str(output) {
Ok(json) => json,
Err(e) => return Err(eyre!("Failed to parse JSON output: {:?}", e)),
};
Ok(status)
}