@@ -15069,38 +15069,38 @@ mod alias_resolution_tests {
1506915069 #[test]
1507015070 fn test_alias_resolution_builtin() {
1507115071 // Built-in aliases should resolve to their full IDs
15072- assert_eq!(resolve_model_alias_with_config(" opus\ ), \ claude-opus-4-6\ );
15073- assert_eq!(resolve_model_alias_with_config(\ sonnet\ ), \ claude-sonnet-4-6\ );
15074- assert_eq!(resolve_model_alias_with_config(\ haiku\ ), \ claude-haiku-4-5-20251213\ );
15075- }
15076-
15077- #[test]
15078- fn test_alias_resolution_syntax_validation() {
15079- // Resolved aliases should pass syntax validation
15080- let resolved = resolve_model_alias_with_config(\ opus\ );
15081- assert!(validate_model_syntax(&resolved).is_ok());
15082-
15083- // Raw aliases should FAIL syntax validation (this is why we resolve first!)
15084- assert!(validate_model_syntax(\ opus\ ).is_err());
15085- }
15086-
15087- #[test]
15088- fn test_unknown_alias_fails_validation() {
15089- // Unknown aliases resolve to themselves
15090- let resolved = resolve_model_alias_with_config(\ unknown-alias\ );
15091- assert_eq!(resolved, \ unknown-alias\ );
15092-
15093- // And then fail validation with a helpful error
15094- let result = validate_model_syntax(&resolved);
15095- assert!(result.is_err());
15096- assert!(result.unwrap_err().contains(\ invalid model syntax\ ));
15097- }
15098-
15099- #[test]
15100- fn test_direct_provider_model_passes() {
15101- // Direct provider/model strings should remain unchanged and pass
15102- let model = \ openai/gpt-4o\ ;
15103- assert_eq!(resolve_model_alias_with_config(model), model);
15104- assert!(validate_model_syntax(model).is_ok());
15105- }
15072+ assert_eq!(resolve_model_alias_with_config("opus" ), " claude-opus-4-6" );
15073+ assert_eq!(resolve_model_alias_with_config(" sonnet" ), " claude-sonnet-4-6" );
15074+ assert_eq!(resolve_model_alias_with_config(" haiku" ), " claude-haiku-4-5-20251213" );
15075+ }
15076+
15077+ #[test]
15078+ fn test_alias_resolution_syntax_validation() {
15079+ // Resolved aliases should pass syntax validation
15080+ let resolved = resolve_model_alias_with_config(" opus" );
15081+ assert!(validate_model_syntax(&resolved).is_ok());
15082+
15083+ // Raw aliases should FAIL syntax validation (this is why we resolve first!)
15084+ assert!(validate_model_syntax(" opus" ).is_err());
15085+ }
15086+
15087+ #[test]
15088+ fn test_unknown_alias_fails_validation() {
15089+ // Unknown aliases resolve to themselves
15090+ let resolved = resolve_model_alias_with_config(" unknown-alias" );
15091+ assert_eq!(resolved, " unknown-alias" );
15092+
15093+ // And then fail validation with a helpful error
15094+ let result = validate_model_syntax(&resolved);
15095+ assert!(result.is_err());
15096+ assert!(result.unwrap_err().contains(" invalid model syntax" ));
15097+ }
15098+
15099+ #[test]
15100+ fn test_direct_provider_model_passes() {
15101+ // Direct provider/model strings should remain unchanged and pass
15102+ let model = " openai/gpt-4o" ;
15103+ assert_eq!(resolve_model_alias_with_config(model), model);
15104+ assert!(validate_model_syntax(model).is_ok());
15105+ }
1510615106}
0 commit comments