Skip to content

Commit 0b81833

Browse files
fix(ssg): ✅ fix broken tests
1 parent a25a499 commit 0b81833

File tree

1 file changed

+124
-101
lines changed

1 file changed

+124
-101
lines changed

src/main.rs

Lines changed: 124 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -156,10 +156,14 @@ mod tests {
156156
env::set_var("LANGUAGE", "en");
157157

158158
let result = mock_run_ok();
159-
let translate_result = mock_translate_success("en", "main_logger_msg");
159+
let translate_result =
160+
mock_translate_success("en", "main_logger_msg");
160161

161162
assert_eq!(result, Ok(()));
162-
assert_eq!(translate_result, Ok("Success message in en".to_string()));
163+
assert_eq!(
164+
translate_result,
165+
Ok("Success message in en".to_string())
166+
);
163167

164168
cleanup_env();
165169
}
@@ -171,10 +175,14 @@ mod tests {
171175
env::set_var("LANGUAGE", "en");
172176

173177
let result = mock_run_ok();
174-
let translate_result = mock_translate_failure("en", "main_logger_msg");
178+
let translate_result =
179+
mock_translate_failure("en", "main_logger_msg");
175180

176181
assert_eq!(result, Ok(()));
177-
assert_eq!(translate_result, Err("Translation error".to_string()));
182+
assert_eq!(
183+
translate_result,
184+
Err("Translation error".to_string())
185+
);
178186

179187
cleanup_env();
180188
}
@@ -195,7 +203,8 @@ mod tests {
195203
initialize();
196204
cleanup_env();
197205

198-
let lang = env::var("LANGUAGE").unwrap_or_else(|_| "en".to_string());
206+
let lang =
207+
env::var("LANGUAGE").unwrap_or_else(|_| "en".to_string());
199208
assert_eq!(lang, "en");
200209

201210
cleanup_env();
@@ -228,10 +237,12 @@ mod tests {
228237
cleanup_env();
229238
let rt = Runtime::new().unwrap();
230239

231-
let futures: Vec<_> = (0..3).map(|i| async move {
232-
let lang = format!("lang{}", i);
233-
mock_translate_success(&lang, "main_logger_msg")
234-
}).collect();
240+
let futures: Vec<_> = (0..3)
241+
.map(|i| async move {
242+
let lang = format!("lang{}", i);
243+
mock_translate_success(&lang, "main_logger_msg")
244+
})
245+
.collect();
235246

236247
let results = rt.block_on(async {
237248
let mut results = vec![];
@@ -243,7 +254,10 @@ mod tests {
243254

244255
for (i, result) in results.iter().enumerate() {
245256
assert!(result.is_ok());
246-
assert_eq!(result.as_ref().unwrap(), &format!("Success message in lang{}", i));
257+
assert_eq!(
258+
result.as_ref().unwrap(),
259+
&format!("Success message in lang{}", i)
260+
);
247261
}
248262

249263
cleanup_env();
@@ -263,7 +277,10 @@ mod tests {
263277
});
264278

265279
assert!(result.is_ok());
266-
assert_eq!(result.unwrap(), format!("Success message in {}", lang));
280+
assert_eq!(
281+
result.unwrap(),
282+
format!("Success message in {}", lang)
283+
);
267284
}
268285

269286
cleanup_env();
@@ -284,7 +301,8 @@ mod tests {
284301
// Test removal and default
285302
cleanup_env();
286303
assert!(env::var("LANGUAGE").is_err());
287-
let default_lang = env::var("LANGUAGE").unwrap_or_else(|_| "en".to_string());
304+
let default_lang =
305+
env::var("LANGUAGE").unwrap_or_else(|_| "en".to_string());
288306
assert_eq!(default_lang, "en");
289307

290308
cleanup_env();
@@ -297,21 +315,19 @@ mod tests {
297315

298316
// Test empty string
299317
env::set_var("LANGUAGE", "");
300-
assert_eq!(env::var("LANGUAGE").unwrap(), "");
318+
assert_eq!(env::var("LANGUAGE").unwrap_or_default(), "");
301319

302320
// Test overwriting
303321
env::set_var("LANGUAGE", "es");
304-
assert_eq!(env::var("LANGUAGE").unwrap(), "es");
322+
assert_eq!(env::var("LANGUAGE").unwrap_or_default(), "es");
305323
env::set_var("LANGUAGE", "fr");
306-
assert_eq!(env::var("LANGUAGE").unwrap(), "fr");
324+
assert_eq!(env::var("LANGUAGE").unwrap_or_default(), "fr");
307325

308326
// Test removal and fallback
309327
cleanup_env();
310-
assert!(env::var("LANGUAGE").is_err());
311-
assert_eq!(
312-
env::var("LANGUAGE").unwrap_or_else(|_| "en".to_string()),
313-
"en"
314-
);
328+
let default_lang =
329+
env::var("LANGUAGE").unwrap_or_else(|_| "en".to_string());
330+
assert_eq!(default_lang, "en");
315331
}
316332

317333
#[test]
@@ -340,104 +356,111 @@ mod tests {
340356
cleanup_env();
341357
}
342358

343-
#[test]
344-
fn test_execute_main_logic_rapid_language_changes() {
345-
initialize();
346-
cleanup_env();
359+
#[test]
360+
fn test_execute_main_logic_rapid_language_changes() {
361+
initialize();
362+
cleanup_env();
347363

348-
let rt = Runtime::new().unwrap();
349-
let languages = vec!["en", "fr", "es", "de", "it"];
364+
let rt = Runtime::new().unwrap();
365+
let languages = vec!["en", "fr", "es", "de", "it"];
350366

351-
for lang in languages {
352-
env::set_var("LANGUAGE", lang);
353-
let result = rt.block_on(async {
354-
mock_translate_success(lang, "main_logger_msg")
355-
});
356-
assert!(result.is_ok());
367+
for lang in languages {
368+
env::set_var("LANGUAGE", lang);
369+
let result = rt.block_on(async {
370+
mock_translate_success(lang, "main_logger_msg")
371+
});
372+
assert!(result.is_ok());
373+
}
374+
375+
cleanup_env();
357376
}
358377

359-
cleanup_env();
360-
}
378+
#[test]
379+
fn test_environment_variable_case_sensitivity() {
380+
initialize();
381+
cleanup_env();
361382

362-
#[test]
363-
fn test_environment_variable_case_sensitivity() {
364-
initialize();
365-
cleanup_env();
366-
367-
// Test different cases of the LANGUAGE variable
368-
let variants = vec!["LANGUAGE", "language", "Language"];
369-
370-
for var_name in variants {
371-
env::set_var(var_name, "en");
372-
let value = env::var("LANGUAGE").unwrap_or_else(|_| "default".to_string());
373-
if var_name == "LANGUAGE" {
374-
assert_eq!(value, "en");
375-
} else {
376-
// On most systems, environment variables are case-sensitive
377-
assert_eq!(value, "default");
383+
// Test different cases of the LANGUAGE variable
384+
let variants = vec!["LANGUAGE", "language", "Language"];
385+
386+
for var_name in variants {
387+
env::set_var(var_name, "en");
388+
let value = env::var("LANGUAGE")
389+
.unwrap_or_else(|_| "default".to_string());
390+
if var_name == "LANGUAGE" {
391+
assert_eq!(value, "en");
392+
} else {
393+
// On most systems, environment variables are case-sensitive
394+
assert_eq!(value, "default");
395+
}
396+
env::remove_var(var_name);
378397
}
379-
env::remove_var(var_name);
398+
399+
cleanup_env();
380400
}
381401

382-
cleanup_env();
383-
}
402+
#[test]
403+
fn test_execute_main_logic_concurrent_with_same_language() {
404+
initialize();
405+
cleanup_env();
384406

385-
#[test]
386-
fn test_execute_main_logic_concurrent_with_same_language() {
387-
initialize();
388-
cleanup_env();
407+
let rt = Runtime::new().unwrap();
408+
env::set_var("LANGUAGE", "en");
389409

390-
let rt = Runtime::new().unwrap();
391-
env::set_var("LANGUAGE", "en");
410+
let futures: Vec<_> = (0..10)
411+
.map(|_| async {
412+
mock_translate_success("en", "main_logger_msg")
413+
})
414+
.collect();
392415

393-
let futures: Vec<_> = (0..10).map(|_| async {
394-
mock_translate_success("en", "main_logger_msg")
395-
}).collect();
416+
let results = rt.block_on(async {
417+
let mut results = vec![];
418+
for future in futures {
419+
results.push(future.await);
420+
}
421+
results
422+
});
396423

397-
let results = rt.block_on(async {
398-
let mut results = vec![];
399-
for future in futures {
400-
results.push(future.await);
424+
for result in results {
425+
assert!(result.is_ok());
426+
assert_eq!(result.unwrap(), "Success message in en");
401427
}
402-
results
403-
});
404428

405-
for result in results {
406-
assert!(result.is_ok());
407-
assert_eq!(result.unwrap(), "Success message in en");
429+
cleanup_env();
408430
}
409431

410-
cleanup_env();
411-
}
412-
413-
/// Tests error propagation with multiple failure points
414-
#[test]
415-
fn test_execute_main_logic_cascading_errors() {
416-
initialize();
417-
cleanup_env();
432+
/// Tests error propagation with multiple failure points
433+
#[test]
434+
fn test_execute_main_logic_cascading_errors() {
435+
initialize();
436+
cleanup_env();
418437

419-
let rt = Runtime::new().unwrap();
438+
let rt = Runtime::new().unwrap();
420439

421-
// Test error from run
422-
let run_error = rt.block_on(async {
423-
match mock_run_err() {
424-
Ok(_) => mock_translate_success("en", "main_logger_msg"),
425-
Err(e) => Err(e),
426-
}
427-
});
428-
assert!(run_error.is_err());
429-
assert_eq!(run_error.unwrap_err(), "Site generation failed");
430-
431-
// Test error from translation
432-
let translate_error = rt.block_on(async {
433-
match mock_run_ok() {
434-
Ok(_) => mock_translate_failure("en", "main_logger_msg"),
435-
Err(e) => Err(e),
436-
}
437-
});
438-
assert!(translate_error.is_err());
439-
assert_eq!(translate_error.unwrap_err(), "Translation error");
440+
// Test error from run
441+
let run_error = rt.block_on(async {
442+
match mock_run_err() {
443+
Ok(_) => {
444+
mock_translate_success("en", "main_logger_msg")
445+
}
446+
Err(e) => Err(e),
447+
}
448+
});
449+
assert!(run_error.is_err());
450+
assert_eq!(run_error.unwrap_err(), "Site generation failed");
451+
452+
// Test error from translation
453+
let translate_error = rt.block_on(async {
454+
match mock_run_ok() {
455+
Ok(_) => {
456+
mock_translate_failure("en", "main_logger_msg")
457+
}
458+
Err(e) => Err(e),
459+
}
460+
});
461+
assert!(translate_error.is_err());
462+
assert_eq!(translate_error.unwrap_err(), "Translation error");
440463

441-
cleanup_env();
442-
}
464+
cleanup_env();
465+
}
443466
}

0 commit comments

Comments
 (0)