Skip to content

Commit fc76a65

Browse files
test: fix vacuous assertions in upload_pipeline_artifact.rs (#1615)
Upgrade 5 bare is_err() assertions to unwrap_err() with error-message content checks so that a wrong error type or message is caught. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 2d46d90 commit fc76a65

1 file changed

Lines changed: 44 additions & 6 deletions

File tree

src/safe_outputs/upload_pipeline_artifact.rs

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -737,12 +737,26 @@ mod tests {
737737

738738
#[test]
739739
fn test_validation_rejects_empty_artifact_name() {
740-
assert!(try_params(None, "", "out/report.pdf").is_err());
740+
let err = try_params(None, "", "out/report.pdf")
741+
.map(|_| ())
742+
.unwrap_err();
743+
assert!(
744+
err.to_string()
745+
.contains("must be non-empty and contain only alphanumeric"),
746+
"expected non-empty artifact_name error, got: {err}"
747+
);
741748
}
742749

743750
#[test]
744751
fn test_validation_rejects_artifact_name_with_spaces() {
745-
assert!(try_params(None, "my report", "out/report.pdf").is_err());
752+
let err = try_params(None, "my report", "out/report.pdf")
753+
.map(|_| ())
754+
.unwrap_err();
755+
assert!(
756+
err.to_string()
757+
.contains("must be non-empty and contain only alphanumeric"),
758+
"expected alphanumeric-only artifact_name error, got: {err}"
759+
);
746760
}
747761

748762
#[test]
@@ -759,7 +773,13 @@ mod tests {
759773
#[test]
760774
fn test_validation_rejects_long_artifact_name() {
761775
let long_name = "a".repeat(101);
762-
assert!(try_params(None, &long_name, "out/report.pdf").is_err());
776+
let err = try_params(None, &long_name, "out/report.pdf")
777+
.map(|_| ())
778+
.unwrap_err();
779+
assert!(
780+
err.to_string().contains("must be at most 100 characters"),
781+
"expected 100-char limit error, got: {err}"
782+
);
763783
}
764784

765785
#[test]
@@ -780,17 +800,35 @@ mod tests {
780800

781801
#[test]
782802
fn test_validation_rejects_null_bytes_in_file_path() {
783-
assert!(try_params(None, "report", "out/report\0.pdf").is_err());
803+
let err = try_params(None, "report", "out/report\0.pdf")
804+
.map(|_| ())
805+
.unwrap_err();
806+
assert!(
807+
err.to_string().contains("null bytes"),
808+
"expected null-bytes error, got: {err}"
809+
);
784810
}
785811

786812
#[test]
787813
fn test_validation_rejects_newline_in_file_path() {
788-
assert!(try_params(None, "report", "out\n/report.pdf").is_err());
814+
let err = try_params(None, "report", "out\n/report.pdf")
815+
.map(|_| ())
816+
.unwrap_err();
817+
assert!(
818+
err.to_string().contains("newlines"),
819+
"expected newlines error, got: {err}"
820+
);
789821
}
790822

791823
#[test]
792824
fn test_validation_rejects_carriage_return_in_file_path() {
793-
assert!(try_params(None, "report", "out\r/report.pdf").is_err());
825+
let err = try_params(None, "report", "out\r/report.pdf")
826+
.map(|_| ())
827+
.unwrap_err();
828+
assert!(
829+
err.to_string().contains("newlines"),
830+
"expected newlines/carriage-return error, got: {err}"
831+
);
794832
}
795833

796834
#[test]

0 commit comments

Comments
 (0)