fix: harden typed metrics review findings
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
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());
|
||||
}
|
||||
Reference in New Issue
Block a user