- 1
#![allow(clippy::unwrap_used, clippy::expect_used, clippy::panic)] - 2
- 3
// ${VAR} interpolation for MCP server env values resolves through the same - 4
// secret path as provider keys; unresolved references fail closed. - 5
- 6
#[test] - 7
fn literal_values_pass_through() { - 8
assert_eq!( - 9
vak_core::interpolate_env_var("plain"), - 10
Some("plain".to_string()) - 11
); - 12
} - 13
- 14
#[test] - 15
fn resolves_from_runtime_override() { - 16
vak_config::set_override("TEST_MCP_KEY", "abc123"); - 17
assert_eq!( - 18
vak_core::interpolate_env_var("${TEST_MCP_KEY}"), - 19
Some("abc123".into()) - 20
); - 21
assert_eq!( - 22
vak_core::interpolate_env_var("Bearer ${TEST_MCP_KEY}"), - 23
Some("Bearer abc123".into()) - 24
); - 25
vak_config::clear_override("TEST_MCP_KEY"); - 26
} - 27
- 28
#[test] - 29
fn unresolved_reference_fails_closed() { - 30
vak_config::forget_dotenv_var("DEFINITELY_UNSET_MCP_VAR_9"); - 31
assert_eq!( - 32
vak_core::interpolate_env_var("${DEFINITELY_UNSET_MCP_VAR_9}"), - 33
None::<String> - 34
); - 35
} - 36
test · Rust
Mcp Env Interp
crates/vak-core/tests/mcp_env_interp.rs987 B36 linesSnapshot ed4ab258