Skip to content

Commit bb0d021

Browse files
committed
fix(test): improve reliability encrypt/decrypt tests
1 parent b062abb commit bb0d021

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

src/crypto/mod.rs

+28-3
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,10 @@ pub fn decrypt(file_path: &Path, key: &str) -> Result<PathBuf, Error> {
106106

107107
#[cfg(test)]
108108
mod tests {
109+
use rand::Rng;
110+
111+
use crate::utils::gen_random_dir_name;
112+
109113
use super::*;
110114
use std::env;
111115

@@ -116,19 +120,34 @@ mod tests {
116120
#[test]
117121
fn test_encrypt_file() {
118122
let temp_dir = env::temp_dir();
123+
124+
let dir_name = gen_random_dir_name("test");
125+
126+
let temp_dir = temp_dir.join(dir_name);
127+
128+
fs::create_dir(&temp_dir).expect("Error creating temp dir");
129+
119130
let file_path = temp_dir.join(FILE_NAME);
120131

121132
std::fs::write(&file_path, FILE_CONTENT).expect("Failed to write file");
122133

123134
let encrypted_file_path = encrypt(&file_path, KEY).expect("Failed to encrypt file");
124135

125-
assert_eq!(encrypted_file_path.exists(), true)
136+
assert_eq!(encrypted_file_path.exists(), true);
137+
138+
fs::remove_dir_all(temp_dir).unwrap();
126139
}
127140

128141
#[test]
129142
fn test_decrypt_file() {
130143
let temp_dir = env::temp_dir();
131144

145+
let dir_name = gen_random_dir_name("test");
146+
147+
let temp_dir = temp_dir.join(dir_name);
148+
149+
fs::create_dir(&temp_dir).expect("Error creating temp dir");
150+
132151
let file_path = temp_dir.join(FILE_NAME);
133152

134153
// Encrypt test file again
@@ -137,11 +156,17 @@ mod tests {
137156

138157
let file_encrypt_path = encrypt(&file_path, KEY).expect("Failed to encrypt file");
139158

159+
// Remove file before decrypt
160+
161+
fs::remove_file(&file_path).expect("Error removing file before decrypt");
162+
140163
let file_decrypt_path = decrypt(&file_encrypt_path, KEY).expect("Failed to decrypt file");
141164

142165
let file_content =
143166
std::fs::read_to_string(&file_decrypt_path).expect("Failed to read file");
144167

145-
assert_eq!(file_content, FILE_CONTENT)
168+
assert_eq!(file_content, FILE_CONTENT);
169+
170+
fs::remove_dir_all(temp_dir).unwrap();
146171
}
147-
}
172+
}

0 commit comments

Comments
 (0)