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))
|
.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