From 38b328a5884962cbc8c5840e47430283f0ce303e Mon Sep 17 00:00:00 2001 From: specCon18 Date: Thu, 21 Sep 2023 00:13:57 -0400 Subject: [PATCH] added csum check to all tests and updated test_data --- src/lib/lib.rs | 99 ++++++++++++++++++++++++++++------- src/test_data/test_csum.bz2 | Bin 0 -> 103 bytes src/test_data/test_csum.gz | Bin 0 -> 100 bytes src/test_data/test_csum.lzma | Bin 0 -> 98 bytes src/test_data/test_csum.xz | Bin 0 -> 136 bytes 5 files changed, 81 insertions(+), 18 deletions(-) create mode 100644 src/test_data/test_csum.bz2 create mode 100644 src/test_data/test_csum.gz create mode 100644 src/test_data/test_csum.lzma create mode 100644 src/test_data/test_csum.xz diff --git a/src/lib/lib.rs b/src/lib/lib.rs index 860c835..10ba077 100644 --- a/src/lib/lib.rs +++ b/src/lib/lib.rs @@ -63,60 +63,96 @@ fn test_extract_zip() { fn test_extract_rar() { let input_path = Path::new("src/test_data/test.rar"); let output_directory = create_temp_dir(); - //get the text in checksum_01,checksum_02,checksum_03 and compare to the hashes of testfile_01 testfile_02 and testfile_03 - //assert equality let result = extract_rar(input_path, &output_directory); assert!(result.is_ok()); + + // Check checksums and assert equality + let checksum_01 = verify_checksum("src/test_data/checksum_01", "src/test_data/testfile_01").unwrap(); + let checksum_02 = verify_checksum("src/test_data/checksum_02", "src/test_data/testfile_02").unwrap(); + let checksum_03 = verify_checksum("src/test_data/checksum_03", "src/test_data/testfile_03").unwrap(); + + assert_eq!(checksum_01, true); + assert_eq!(checksum_02, true); + assert_eq!(checksum_03, true); } #[test] fn test_extract_tar() { let input_path = Path::new("src/test_data/test.tar"); let output_directory = create_temp_dir(); - //get the text in checksum_01,checksum_02,checksum_03 and compare to the hashes of testfile_01 testfile_02 and testfile_03 - //assert equality let result = extract_tar(input_path, &output_directory); assert!(result.is_ok()); + + // Check checksums and assert equality + let checksum_01 = verify_checksum("src/test_data/checksum_01", "src/test_data/testfile_01").unwrap(); + let checksum_02 = verify_checksum("src/test_data/checksum_02", "src/test_data/testfile_02").unwrap(); + let checksum_03 = verify_checksum("src/test_data/checksum_03", "src/test_data/testfile_03").unwrap(); + + assert_eq!(checksum_01, true); + assert_eq!(checksum_02, true); + assert_eq!(checksum_03, true); } #[test] fn test_extract_lzma() { let input_path = Path::new("src/test_data/test.lzma"); + let csum_path = Path::new("src/test_data/test_csum.lzma"); let output_directory = create_temp_dir(); - //get the text in checksum_01 and compare to the hashes of testfile_01 - //assert equality - let result = extract_lzma(input_path, &output_directory); - assert!(result.is_ok()); + let testfile = extract_lzma(input_path, &output_directory); + let checksum = extract_lzma(csum_path, &output_directory); + assert!(testfile.is_ok()); + assert!(checksum.is_ok()); + + // Check checksums and assert equality + let checksum_01 = verify_checksum("src/test_data/checksum_01", "src/test_data/testfile_01").unwrap(); + assert_eq!(checksum_01, true); } #[test] fn test_extract_gz() { let input_path = Path::new("src/test_data/test.gz"); + let csum_path = Path::new("src/test_data/test_csum.gz"); let output_directory = create_temp_dir(); - //get the text in checksum_01 and compare to the hashes of testfile_01 - //assert equality - let result = extract_gz(input_path, &output_directory); - assert!(result.is_ok()); + let testfile = extract_gz(input_path, &output_directory); + let checksum = extract_gz(csum_path, &output_directory); + assert!(testfile.is_ok()); + assert!(checksum.is_ok()); + + // Check checksums and assert equality + let checksum_01 = verify_checksum("src/test_data/checksum_01", "src/test_data/testfile_01").unwrap(); + assert_eq!(checksum_01, true); } #[test] fn test_extract_bz2() { let input_path = Path::new("src/test_data/test.bz2"); + let csum_path = Path::new("src/test_data/test_csum.bz2"); let output_directory = create_temp_dir(); - //get the text in checksum_01 and compare to the hashes of testfile_01 - //assert equality - let result = extract_bz2(input_path, &output_directory); - assert!(result.is_ok()); + let testfile = extract_bz2(input_path, &output_directory); + let checksum = extract_bz2(csum_path, &output_directory); + assert!(testfile.is_ok()); + assert!(checksum.is_ok()); + + // Check checksums and assert equality + let checksum_01 = verify_checksum("src/test_data/checksum_01", "src/test_data/testfile_01").unwrap(); + assert_eq!(checksum_01, true); } #[test] fn test_extract_7z() { let input_path = Path::new("src/test_data/test.7z"); let output_directory = create_temp_dir(); - //get the text in checksum_01,checksum_02,checksum_03 and compare to the hashes of testfile_01 testfile_02 and testfile_03 - //assert equality let result = extract_7z(input_path, &output_directory); assert!(result.is_ok()); + + // Check checksums and assert equality + let checksum_01 = verify_checksum("src/test_data/checksum_01", "src/test_data/testfile_01").unwrap(); + let checksum_02 = verify_checksum("src/test_data/checksum_02", "src/test_data/testfile_02").unwrap(); + let checksum_03 = verify_checksum("src/test_data/checksum_03", "src/test_data/testfile_03").unwrap(); + + assert_eq!(checksum_01, true); + assert_eq!(checksum_02, true); + assert_eq!(checksum_03, true); } #[test] @@ -127,6 +163,15 @@ fn test_extract_zip() { //assert equality let result = extract_tbz2(input_path, &output_directory); assert!(result.is_ok()); + + // Check checksums and assert equality + let checksum_01 = verify_checksum("src/test_data/checksum_01", "src/test_data/testfile_01").unwrap(); + let checksum_02 = verify_checksum("src/test_data/checksum_02", "src/test_data/testfile_02").unwrap(); + let checksum_03 = verify_checksum("src/test_data/checksum_03", "src/test_data/testfile_03").unwrap(); + + assert_eq!(checksum_01, true); + assert_eq!(checksum_02, true); + assert_eq!(checksum_03, true); } #[test] @@ -137,6 +182,15 @@ fn test_extract_zip() { //assert equality let result = extract_tgz(input_path, &output_directory); assert!(result.is_ok()); + + // Check checksums and assert equality + let checksum_01 = verify_checksum("src/test_data/checksum_01", "src/test_data/testfile_01").unwrap(); + let checksum_02 = verify_checksum("src/test_data/checksum_02", "src/test_data/testfile_02").unwrap(); + let checksum_03 = verify_checksum("src/test_data/checksum_03", "src/test_data/testfile_03").unwrap(); + + assert_eq!(checksum_01, true); + assert_eq!(checksum_02, true); + assert_eq!(checksum_03, true); } #[test] @@ -147,6 +201,15 @@ fn test_extract_zip() { //assert equality let result = extract_txz(input_path, &output_directory); assert!(result.is_ok()); + + // Check checksums and assert equality + let checksum_01 = verify_checksum("src/test_data/checksum_01", "src/test_data/testfile_01").unwrap(); + let checksum_02 = verify_checksum("src/test_data/checksum_02", "src/test_data/testfile_02").unwrap(); + let checksum_03 = verify_checksum("src/test_data/checksum_03", "src/test_data/testfile_03").unwrap(); + + assert_eq!(checksum_01, true); + assert_eq!(checksum_02, true); + assert_eq!(checksum_03, true); } fn verify_checksum(checksum_path: &str, testfile_path: &str) -> Result { diff --git a/src/test_data/test_csum.bz2 b/src/test_data/test_csum.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..ec8de3c4306c2e2f185eb74fd11ea4be9b8dcfdd GIT binary patch literal 103 zcmZ>Y%CIzaj8qGb?CgCm&cGlW-M}E=z)=5yfnmK04}$_jz+yLti_6?vf-{%RTe&II z*3D~a?2R;Gj?1%St_3w)9o_RL;{c!DlJiaynjMM)rR@__bv0{CpYnX&cHdsS$kifX H0?1$hc<(4! literal 0 HcmV?d00001 diff --git a/src/test_data/test_csum.gz b/src/test_data/test_csum.gz new file mode 100644 index 0000000000000000000000000000000000000000..0ffa4fdc8573886afb4b8488d83522d32631d835 GIT binary patch literal 100 zcmV-q0Gt0GiwFoB6bfYk17m1qV{3DDZC@}k01d~x4S+BV1;CyuGJ-!i$(sgQwj&|Y zk^KeNU37I51DDb?F3G?-$Ux!-$?}O%){}eB#Xs7L;OMzd G0000aEh$$3 literal 0 HcmV?d00001 diff --git a/src/test_data/test_csum.lzma b/src/test_data/test_csum.lzma new file mode 100644 index 0000000000000000000000000000000000000000..6957bfff8da295df85ae3aa0a6f12ca373b02c2b GIT binary patch literal 98 zcma!LU}#|Y4+RW{y-jIB?ko4sK4ZY4^-CewE%UaK>itv7Sqcj`PW|EbVYbq^21Q0O1_p)_{ill=8GMt?j1x_bOf3yljSVbJ4O5L$k}XZl z4NNT!j1o;PjZ#t*Ei99b4UJ6<&CF8L43iBKEiBC~(<}{AEK?H=5{(oTN>YnU(lT>W o;|&bC7#J9g;}iZatrx0fU`+FyE9%-LzwL7^BLf2i150ES02EXu$N&HU literal 0 HcmV?d00001