use pretty_assertions::assert_eq;
use super::{ArtifactObservation, ArtifactRef, Digest};
fn artifact(retained_bytes: u64, observed: ArtifactObservation) -> ArtifactRef {
ArtifactRef {
relative_path: "artifacts/build/stdout".into(),
retained_bytes,
observed,
digest: Digest("sha256:artifact".into()),
}
}
#[test]
fn observation_notices_describe_only_incomplete_artifacts() {
assert_eq!(
artifact(8, ArtifactObservation::Complete { observed_bytes: 8 }).observation_notice(),
None
);
assert_eq!(
artifact(
8,
ArtifactObservation::Truncated {
observed_bytes_at_least: 12
}
)
.observation_notice()
.as_deref(),
Some("truncated · showing 8 of at least 12 bytes")
);
assert_eq!(
artifact(8, ArtifactObservation::Incomplete { observed_bytes: 20 })
.observation_notice()
.as_deref(),
Some("incomplete · retained 8 bytes (observed 20)")
);
}