This commit is contained in:
46
crates/kreuzberg-cli/tests/config_env_overrides_test.rs
Normal file
46
crates/kreuzberg-cli/tests/config_env_overrides_test.rs
Normal file
@@ -0,0 +1,46 @@
|
||||
//! Regression test for issue #773.
|
||||
//! Validates that environment variable overrides are correctly applied during configuration loading.
|
||||
|
||||
use kreuzberg::{EmbeddingModelType, ExtractionConfig};
|
||||
|
||||
#[test]
|
||||
fn test_regression_773_env_override_loading() {
|
||||
let mut config = ExtractionConfig::default();
|
||||
|
||||
if let Some(ref ocr) = config.ocr {
|
||||
assert_ne!(ocr.language, "fra");
|
||||
}
|
||||
|
||||
unsafe { std::env::set_var("KREUZBERG_OCR_LANGUAGE", "fra") };
|
||||
config.apply_env_overrides().expect("Failed to apply overrides");
|
||||
unsafe { std::env::remove_var("KREUZBERG_OCR_LANGUAGE") };
|
||||
|
||||
let ocr = config
|
||||
.ocr
|
||||
.expect("OCR config should be Some when KREUZBERG_OCR_LANGUAGE is set");
|
||||
assert_eq!(ocr.language, "fra");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_regression_773_vlm_embedding_env_override() {
|
||||
let mut config = ExtractionConfig::default();
|
||||
|
||||
unsafe { std::env::set_var("KREUZBERG_VLM_EMBEDDING_MODEL", "openai/text-embedding-3-small") };
|
||||
config
|
||||
.apply_env_overrides()
|
||||
.expect("Failed to apply environment overrides");
|
||||
unsafe { std::env::remove_var("KREUZBERG_VLM_EMBEDDING_MODEL") };
|
||||
|
||||
let chunking = config
|
||||
.chunking
|
||||
.expect("Chunking should be enabled when VLM embedding is set");
|
||||
let embedding = chunking.embedding.expect("Embedding should be configured");
|
||||
|
||||
match embedding.model {
|
||||
EmbeddingModelType::Llm { llm } => {
|
||||
assert_eq!(llm.model, "openai/text-embedding-3-small");
|
||||
assert!(llm.api_key.is_none());
|
||||
}
|
||||
_ => panic!("Expected Llm embedding model type"),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user