| use super::*; |
| use codex_config::CloudRequirementsFragment; |
| use pretty_assertions::assert_eq; |
| use tempfile::tempdir; |
|
|
| #[test] |
| fn cloud_fragments_combine_before_provider_validation() { |
| let home = tempdir().expect("tempdir"); |
| let base_dir = AbsolutePathBuf::from_absolute_path(home.path()).expect("absolute path"); |
| let mut bundle = CloudConfigBundle::default(); |
| |
| bundle.requirements_toml.enterprise_managed = vec![ |
| CloudRequirementsFragment { |
| id: "high".to_string(), |
| name: "URL".to_string(), |
| contents: "[model_providers.gateway]\nbase_url = 'https://gateway.example/v1'\n[model_providers.gateway.auth]\ntimeout_ms = 10000\ncwd = 'auth'" |
| .to_string(), |
| }, |
| CloudRequirementsFragment { |
| id: "low".to_string(), |
| name: "Name".to_string(), |
| contents: "[model_providers.gateway]\nname = 'Gateway'\n[model_providers.gateway.auth]\ncommand = 'get-token'".to_string(), |
| }, |
| ]; |
| assert_eq!(validate_bundle(&bundle, &base_dir), Ok(())); |
| } |
|
|
| #[test] |
| fn cloud_bedrock_overrides_accept_supported_fields() { |
| let home = tempdir().expect("tempdir"); |
| let base_dir = AbsolutePathBuf::from_absolute_path(home.path()).expect("absolute path"); |
| for provider in ["amazon-bedrock", "amazon-bedrock-runtime"] { |
| let mut bundle = CloudConfigBundle::default(); |
| bundle.requirements_toml.enterprise_managed = vec![CloudRequirementsFragment { |
| id: "bedrock".to_string(), |
| name: "Bedrock".to_string(), |
| contents: format!( |
| r#" |
| [model_providers.{provider}] |
| base_url = "https://bedrock.example" |
| [model_providers.{provider}.http_headers] |
| X-Managed = "required" |
| [model_providers.{provider}.aws] |
| profile = "managed" |
| region = "us-east-1" |
| "# |
| ), |
| }]; |
| assert_eq!(validate_bundle(&bundle, &base_dir), Ok(())); |
| } |
| } |
|
|