| 459 | /// Default builder produces a disabled cache configuration with the same defaults. |
| 460 | #[test] |
| 461 | fn test_builder_default() { |
| 462 | let (_td, _cd, cp) = test_prolog(); |
| 463 | let config_content = "[cache]\n"; |
| 464 | fs::write(&cp, config_content).expect("Failed to write test config file"); |
| 465 | let expected_config = CacheConfig::from_file(Some(&cp)).unwrap(); |
| 466 | |
| 467 | let mut config = CacheConfig::new(); |
| 468 | config |
| 469 | .validate() |
| 470 | .expect("Failed to validate default config"); |
| 471 | |
| 472 | assert_eq!(config.directory, expected_config.directory); |
| 473 | assert_eq!( |
| 474 | config.worker_event_queue_size, |
| 475 | expected_config.worker_event_queue_size |
| 476 | ); |
| 477 | assert_eq!( |
| 478 | config.baseline_compression_level, |
| 479 | expected_config.baseline_compression_level |
| 480 | ); |
| 481 | assert_eq!( |
| 482 | config.optimized_compression_level, |
| 483 | expected_config.optimized_compression_level |
| 484 | ); |
| 485 | assert_eq!( |
| 486 | config.optimized_compression_usage_counter_threshold, |
| 487 | expected_config.optimized_compression_usage_counter_threshold |
| 488 | ); |
| 489 | assert_eq!(config.cleanup_interval, expected_config.cleanup_interval); |
| 490 | assert_eq!( |
| 491 | config.optimizing_compression_task_timeout, |
| 492 | expected_config.optimizing_compression_task_timeout |
| 493 | ); |
| 494 | assert_eq!( |
| 495 | config.allowed_clock_drift_for_files_from_future, |
| 496 | expected_config.allowed_clock_drift_for_files_from_future |
| 497 | ); |
| 498 | assert_eq!( |
| 499 | config.file_count_soft_limit, |
| 500 | expected_config.file_count_soft_limit |
| 501 | ); |
| 502 | assert_eq!( |
| 503 | config.files_total_size_soft_limit, |
| 504 | expected_config.files_total_size_soft_limit |
| 505 | ); |
| 506 | assert_eq!( |
| 507 | config.file_count_limit_percent_if_deleting, |
| 508 | expected_config.file_count_limit_percent_if_deleting |
| 509 | ); |
| 510 | assert_eq!( |
| 511 | config.files_total_size_limit_percent_if_deleting, |
| 512 | expected_config.files_total_size_limit_percent_if_deleting |
| 513 | ); |
| 514 | } |
| 515 | |
| 516 | #[test] |
| 517 | fn test_builder_all_settings() { |