let key = [1u8; 32];
Arc::new(CryptConfig::new(key).unwrap())
};
+
+ static ref TEST_DIGEST_PLAIN: [u8; 32] = [83, 154, 96, 195, 167, 204, 38, 142, 204, 224, 130, 201, 24, 71, 2, 188, 130, 155, 177, 6, 162, 100, 61, 238, 38, 219, 63, 240, 191, 132, 87, 238];
+
+ static ref TEST_DIGEST_ENC: [u8; 32] = [50, 162, 191, 93, 255, 132, 9, 14, 127, 23, 92, 39, 246, 102, 245, 204, 130, 104, 4, 106, 182, 239, 218, 14, 80, 17, 150, 188, 239, 253, 198, 117];
}
-fn verify_test_blob(mut cursor: Cursor<Vec<u8>>) -> Result<(), Error> {
+fn verify_test_blob(mut cursor: Cursor<Vec<u8>>, digest: &[u8; 32]) -> Result<(), Error> {
// run read tests with different buffer sizes
for size in [1, 3, 64*1024].iter() {
let raw_data = cursor.into_inner();
- let blob = DataBlob::from_raw(raw_data)?;
- blob.verify_crc()?;
+ let blob = DataBlob::load_from_reader(&mut &raw_data[..])?;
- let data = blob.decode(Some(&CRYPT_CONFIG))?;
+ let data = blob.decode(Some(&CRYPT_CONFIG), Some(digest))?;
if data != *TEST_DATA {
bail!("blob data is wrong (decode)");
}
let mut blob_writer = DataBlobWriter::new_uncompressed(tmp)?;
blob_writer.write_all(&TEST_DATA)?;
- verify_test_blob(blob_writer.finish()?)
+ verify_test_blob(blob_writer.finish()?, &*TEST_DIGEST_PLAIN)
}
#[test]
let mut blob_writer = DataBlobWriter::new_compressed(tmp)?;
blob_writer.write_all(&TEST_DATA)?;
- verify_test_blob(blob_writer.finish()?)
-}
-
-#[test]
-fn test_signed_blob_writer() -> Result<(), Error> {
- let tmp = Cursor::new(Vec::<u8>::new());
- let mut blob_writer = DataBlobWriter::new_signed(tmp, CRYPT_CONFIG.clone())?;
- blob_writer.write_all(&TEST_DATA)?;
-
- verify_test_blob(blob_writer.finish()?)
-}
-
-#[test]
-fn test_signed_compressed_blob_writer() -> Result<(), Error> {
- let tmp = Cursor::new(Vec::<u8>::new());
- let mut blob_writer = DataBlobWriter::new_signed_compressed(tmp, CRYPT_CONFIG.clone())?;
- blob_writer.write_all(&TEST_DATA)?;
-
- verify_test_blob(blob_writer.finish()?)
+ verify_test_blob(blob_writer.finish()?, &*TEST_DIGEST_PLAIN)
}
#[test]
let mut blob_writer = DataBlobWriter::new_encrypted(tmp, CRYPT_CONFIG.clone())?;
blob_writer.write_all(&TEST_DATA)?;
- verify_test_blob(blob_writer.finish()?)
+ verify_test_blob(blob_writer.finish()?, &*TEST_DIGEST_ENC)
}
#[test]
let mut blob_writer = DataBlobWriter::new_encrypted_compressed(tmp, CRYPT_CONFIG.clone())?;
blob_writer.write_all(&TEST_DATA)?;
- verify_test_blob(blob_writer.finish()?)
+ verify_test_blob(blob_writer.finish()?, &*TEST_DIGEST_ENC)
}