cleanup: share the integration-test key fixture in tests/common
The 32-byte test key "0123456789abcdef0123456789abcdef" was hardcoded in three places: src/crypto.rs unit tests, tests/roundtrip.rs, and tests/library_api.rs - three copies to keep in sync if the fixture ever changes. Add tests/common/mod.rs exposing the KEY bytes and a test_key() SecretBytes32 constructor; roundtrip.rs and library_api.rs now pull from it. The unit tests in src/crypto.rs cannot reach an integration-test module and keep their own copy. The module carries #![allow(dead_code)] because each test crate compiles its own copy and none uses every fixture. Test-only change. Test plan: cargo test passes all suites (43 CLI roundtrip tests, 2 library_api tests, 13 unit tests).
This commit is contained in:
@@ -0,0 +1,20 @@
|
|||||||
|
// SPDX-License-Identifier: MIT-0
|
||||||
|
//
|
||||||
|
// Fixtures shared by the integration-test crates (tests/*.rs). The unit
|
||||||
|
// tests inside src/ cannot reach this module and keep their own copies.
|
||||||
|
|
||||||
|
// Each test crate compiles its own copy of this module and not every crate
|
||||||
|
// uses every fixture, so the dead-code lint misfires here.
|
||||||
|
#![allow(dead_code)]
|
||||||
|
|
||||||
|
use fcry::SecretBytes32;
|
||||||
|
|
||||||
|
/// The raw 32-byte key used by all integration tests.
|
||||||
|
pub const KEY: &[u8; 32] = b"0123456789abcdef0123456789abcdef";
|
||||||
|
|
||||||
|
/// [`KEY`] wrapped in the `SecretBytes32` the library API takes.
|
||||||
|
pub fn test_key() -> SecretBytes32 {
|
||||||
|
let mut key = SecretBytes32::zeroed();
|
||||||
|
key.with_mut_array(|key| key.copy_from_slice(KEY));
|
||||||
|
key
|
||||||
|
}
|
||||||
@@ -6,7 +6,6 @@ use fcry::{
|
|||||||
EncryptOptions,
|
EncryptOptions,
|
||||||
KdfParams,
|
KdfParams,
|
||||||
OutputOptions,
|
OutputOptions,
|
||||||
SecretBytes32,
|
|
||||||
decrypt,
|
decrypt,
|
||||||
decrypt_range,
|
decrypt_range,
|
||||||
default_argon_decrypt_cap_mib,
|
default_argon_decrypt_cap_mib,
|
||||||
@@ -14,11 +13,8 @@ use fcry::{
|
|||||||
};
|
};
|
||||||
use tempfile::TempDir;
|
use tempfile::TempDir;
|
||||||
|
|
||||||
fn test_key() -> SecretBytes32 {
|
mod common;
|
||||||
let mut key = SecretBytes32::zeroed();
|
use common::test_key;
|
||||||
key.with_mut_array(|key| key.copy_from_slice(b"0123456789abcdef0123456789abcdef"));
|
|
||||||
key
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn library_file_roundtrip_raw_key() {
|
fn library_file_roundtrip_raw_key() {
|
||||||
|
|||||||
+2
-1
@@ -15,7 +15,8 @@ use std::{
|
|||||||
use assert_cmd::cargo::CommandCargoExt;
|
use assert_cmd::cargo::CommandCargoExt;
|
||||||
use tempfile::TempDir;
|
use tempfile::TempDir;
|
||||||
|
|
||||||
const KEY: &[u8; 32] = b"0123456789abcdef0123456789abcdef";
|
mod common;
|
||||||
|
use common::KEY;
|
||||||
|
|
||||||
fn fcry() -> Command {
|
fn fcry() -> Command {
|
||||||
Command::cargo_bin("fcry").unwrap()
|
Command::cargo_bin("fcry").unwrap()
|
||||||
|
|||||||
Reference in New Issue
Block a user