mirror of
https://github.com/block/goose.git
synced 2026-07-17 12:56:20 +02:00
Delete environment variable (#5479)
Co-authored-by: Douwe Osinga <douwe@squareup.com>
This commit is contained in:
@@ -295,125 +295,3 @@ impl ModelConfig {
|
||||
.unwrap_or_else(|_| panic!("Failed to create model config for {}", model_name))
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use serial_test::serial;
|
||||
use temp_env::with_var;
|
||||
|
||||
#[test]
|
||||
#[serial]
|
||||
fn test_model_config_context_limits() {
|
||||
// Clear all GOOSE environment variables to ensure clean test environment
|
||||
with_var("GOOSE_TEMPERATURE", None::<&str>, || {
|
||||
with_var("GOOSE_CONTEXT_LIMIT", None::<&str>, || {
|
||||
with_var("GOOSE_TOOLSHIM", None::<&str>, || {
|
||||
with_var("GOOSE_TOOLSHIM_OLLAMA_MODEL", None::<&str>, || {
|
||||
let config = ModelConfig::new("claude-3-opus")
|
||||
.unwrap()
|
||||
.with_context_limit(Some(150_000));
|
||||
assert_eq!(config.context_limit(), 150_000);
|
||||
|
||||
let config = ModelConfig::new("claude-3-opus").unwrap();
|
||||
assert_eq!(config.context_limit(), 200_000);
|
||||
|
||||
let config = ModelConfig::new("gpt-4-turbo").unwrap();
|
||||
assert_eq!(config.context_limit(), 128_000);
|
||||
|
||||
let config = ModelConfig::new("unknown-model").unwrap();
|
||||
assert_eq!(config.context_limit(), DEFAULT_CONTEXT_LIMIT);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[serial]
|
||||
fn test_invalid_context_limit() {
|
||||
with_var("GOOSE_CONTEXT_LIMIT", Some("abc"), || {
|
||||
let result = ModelConfig::new("test-model");
|
||||
assert!(result.is_err());
|
||||
if let Err(ConfigError::InvalidValue(var, val, msg)) = result {
|
||||
assert_eq!(var, "GOOSE_CONTEXT_LIMIT");
|
||||
assert_eq!(val, "abc");
|
||||
assert!(msg.contains("positive integer"));
|
||||
}
|
||||
});
|
||||
|
||||
with_var("GOOSE_CONTEXT_LIMIT", Some("0"), || {
|
||||
let result = ModelConfig::new("test-model");
|
||||
assert!(result.is_err());
|
||||
assert!(matches!(
|
||||
result.unwrap_err(),
|
||||
ConfigError::InvalidRange(_, _)
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[serial]
|
||||
fn test_invalid_temperature() {
|
||||
with_var("GOOSE_TEMPERATURE", Some("hot"), || {
|
||||
let result = ModelConfig::new("test-model");
|
||||
assert!(result.is_err());
|
||||
});
|
||||
|
||||
with_var("GOOSE_TEMPERATURE", Some("-1.0"), || {
|
||||
let result = ModelConfig::new("test-model");
|
||||
assert!(result.is_err());
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[serial]
|
||||
fn test_invalid_toolshim() {
|
||||
with_var("GOOSE_TOOLSHIM", Some("maybe"), || {
|
||||
let result = ModelConfig::new("test-model");
|
||||
assert!(result.is_err());
|
||||
if let Err(ConfigError::InvalidValue(var, val, msg)) = result {
|
||||
assert_eq!(var, "GOOSE_TOOLSHIM");
|
||||
assert_eq!(val, "maybe");
|
||||
assert!(msg.contains("must be one of"));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[serial]
|
||||
fn test_empty_toolshim_model() {
|
||||
with_var("GOOSE_TOOLSHIM_OLLAMA_MODEL", Some(""), || {
|
||||
let result = ModelConfig::new("test-model");
|
||||
assert!(result.is_err());
|
||||
assert!(matches!(
|
||||
result.unwrap_err(),
|
||||
ConfigError::InvalidValue(_, _, _)
|
||||
));
|
||||
});
|
||||
|
||||
with_var("GOOSE_TOOLSHIM_OLLAMA_MODEL", Some(" "), || {
|
||||
let result = ModelConfig::new("test-model");
|
||||
assert!(result.is_err());
|
||||
});
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[serial]
|
||||
fn test_valid_configurations() {
|
||||
// Test with environment variables set
|
||||
with_var("GOOSE_CONTEXT_LIMIT", Some("50000"), || {
|
||||
with_var("GOOSE_TEMPERATURE", Some("0.7"), || {
|
||||
with_var("GOOSE_TOOLSHIM", Some("true"), || {
|
||||
with_var("GOOSE_TOOLSHIM_OLLAMA_MODEL", Some("llama3"), || {
|
||||
let config = ModelConfig::new("test-model").unwrap();
|
||||
assert_eq!(config.context_limit(), 50_000);
|
||||
assert_eq!(config.temperature, Some(0.7));
|
||||
assert!(config.toolshim);
|
||||
assert_eq!(config.toolshim_model, Some("llama3".to_string()));
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user