Skip to content

Commit 382a8d8

Browse files
author
Devdutt Shenoi
committed
use temp_dir in tests
1 parent c3f133e commit 382a8d8

File tree

1 file changed

+43
-17
lines changed

1 file changed

+43
-17
lines changed

src/parseable/streams.rs

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -855,7 +855,7 @@ impl Streams {
855855

856856
#[cfg(test)]
857857
mod tests {
858-
use std::time::Duration;
858+
use std::{io::Write, time::Duration};
859859

860860
use arrow_array::{Int32Array, StringArray, TimestampMillisecondArray};
861861
use arrow_schema::{DataType, Field, TimeUnit};
@@ -1231,66 +1231,92 @@ mod tests {
12311231
assert_eq!(staging.arrow_files().len(), 1);
12321232
}
12331233

1234+
fn create_test_file(dir: &TempDir, filename: &str) -> PathBuf {
1235+
let file_path = dir.path().join(filename);
1236+
let mut file = File::create(&file_path).expect("Failed to create test file");
1237+
// Write some dummy content
1238+
file.write_all(b"test content")
1239+
.expect("Failed to write to test file");
1240+
file_path
1241+
}
1242+
12341243
#[test]
12351244
fn test_valid_arrow_path_conversion() {
1236-
let path = Path::new("/tmp/12345abcde&key1=value1.date=2020-01-21.hour=10.minute=30.key1=value1.key2=value2.ee529ffc8e76.data.arrows");
1245+
let temp_dir = TempDir::new().expect("Failed to create temp dir");
1246+
let filename = "12345abcde&key1=value1.date=2020-01-21.hour=10.minute=30.key1=value1.key2=value2.ee529ffc8e76.data.arrows";
1247+
let file_path = create_test_file(&temp_dir, filename);
12371248
let random_string = "random123";
12381249

1239-
let result = arrow_path_to_parquet(path, random_string);
1250+
let result = arrow_path_to_parquet(&file_path, random_string);
12401251

12411252
assert!(result.is_some());
12421253
let parquet_path = result.unwrap();
12431254
assert_eq!(
1244-
parquet_path.to_str().unwrap(),
1245-
"/tmp/date=2020-01-21.hour=10.minute=30.key1=value1.key2=value2.ee529ffc8e76.data.random123.parquet"
1246-
);
1255+
parquet_path.file_name().unwrap().to_str().unwrap(),
1256+
"date=2020-01-21.hour=10.minute=30.key1=value1.key2=value2.ee529ffc8e76.data.random123.parquet"
1257+
);
12471258
}
12481259

12491260
#[test]
12501261
fn test_invalid_arrow_path() {
1262+
let temp_dir = TempDir::new().expect("Failed to create temp dir");
12511263
// Missing the ".data.arrows" suffix
1252-
let path = Path::new("/tmp/12345abcde&key1=value1.date=2020-01-21.hour=10.minute=30");
1264+
let filename = "12345abcde&key1=value1.date=2020-01-21.hour=10.minute=30";
1265+
let file_path = create_test_file(&temp_dir, filename);
12531266
let random_string = "random123";
12541267

1255-
let result = arrow_path_to_parquet(path, random_string);
1268+
let result = arrow_path_to_parquet(&file_path, random_string);
12561269

12571270
assert!(result.is_none());
12581271
}
12591272

12601273
#[test]
12611274
fn test_invalid_schema_key() {
1275+
let temp_dir = TempDir::new().expect("Failed to create temp dir");
12621276
// Invalid schema key with special characters
1263-
let path =
1264-
Path::new("/tmp/12345abcde&key1=value1!.date=2020-01-21.hour=10.minute=30.data.arrows");
1277+
let filename = "12345abcde&key1=value1!.date=2020-01-21.hour=10.minute=30.data.arrows";
1278+
let file_path = create_test_file(&temp_dir, filename);
12651279
let random_string = "random123";
12661280

1267-
let result = arrow_path_to_parquet(path, random_string);
1281+
let result = arrow_path_to_parquet(&file_path, random_string);
12681282

12691283
assert!(result.is_none());
12701284
}
12711285

12721286
#[test]
12731287
fn test_complex_path() {
1274-
let path = Path::new("/nested/directory/structure/20200201T1830f8a5fc1edc567d56&key1=value1&key2=value2.date=2020-01-21.hour=10.minute=30.region=us-west.ee529ffc8e76.data.arrows");
1288+
let temp_dir = TempDir::new().expect("Failed to create temp dir");
1289+
let nested_dir = temp_dir.path().join("nested/directory/structure");
1290+
std::fs::create_dir_all(&nested_dir).expect("Failed to create nested directories");
1291+
1292+
let filename = "20200201T1830f8a5fc1edc567d56&key1=value1&key2=value2.date=2020-01-21.hour=10.minute=30.region=us-west.ee529ffc8e76.data.arrows";
1293+
let file_path = nested_dir.join(filename);
1294+
1295+
let mut file = File::create(&file_path).expect("Failed to create test file");
1296+
file.write_all(b"test content")
1297+
.expect("Failed to write to test file");
1298+
12751299
let random_string = "random456";
12761300

1277-
let result = arrow_path_to_parquet(path, random_string);
1301+
let result = arrow_path_to_parquet(&file_path, random_string);
12781302

12791303
assert!(result.is_some());
12801304
let parquet_path = result.unwrap();
12811305
assert_eq!(
1282-
parquet_path.to_str().unwrap(),
1283-
"/nested/directory/structure/date=2020-01-21.hour=10.minute=30.region=us-west.ee529ffc8e76.data.random456.parquet"
1306+
parquet_path.file_name().unwrap().to_str().unwrap(),
1307+
"date=2020-01-21.hour=10.minute=30.region=us-west.ee529ffc8e76.data.random456.parquet"
12841308
);
12851309
}
12861310

12871311
#[test]
12881312
fn test_empty_front_part() {
1313+
let temp_dir = TempDir::new().expect("Failed to create temp dir");
12891314
// Valid but with empty front part
1290-
let path = Path::new("/tmp/schema_key..data.arrows");
1315+
let filename = "schema_key..data.arrows";
1316+
let file_path = create_test_file(&temp_dir, filename);
12911317
let random_string = "random789";
12921318

1293-
let result = arrow_path_to_parquet(path, random_string);
1319+
let result = arrow_path_to_parquet(&file_path, random_string);
12941320

12951321
assert!(result.is_none());
12961322
}

0 commit comments

Comments
 (0)