28 lines
917 B
Rust
28 lines
917 B
Rust
use std::{path::PathBuf, process::Command};
|
|
|
|
#[test]
|
|
fn contract_check_is_independent_of_current_working_directory() {
|
|
let directory =
|
|
std::env::temp_dir().join(format!("crank-metrics-contract-{}", std::process::id()));
|
|
std::fs::create_dir_all(&directory).unwrap();
|
|
let output = Command::new(env!("CARGO_BIN_EXE_crank-metrics-contract"))
|
|
.arg("--check")
|
|
.current_dir(&directory)
|
|
.output()
|
|
.unwrap();
|
|
std::fs::remove_dir_all(&directory).ok();
|
|
assert!(
|
|
output.status.success(),
|
|
"{}",
|
|
String::from_utf8_lossy(&output.stderr)
|
|
);
|
|
assert!(String::from_utf8_lossy(&output.stdout).contains("metrics_contract_ok"));
|
|
}
|
|
|
|
#[test]
|
|
fn snapshot_path_is_resolved_from_the_crate_manifest() {
|
|
let path = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
|
|
.join("../../docs/schemas/metrics-registry-v1.json");
|
|
assert!(path.is_file());
|
|
}
|