@@ -190,7 +190,7 @@ func TestReconcile_CreatesHTTPRoute(t *testing.T) {
190190 // Two rules: path + header
191191 require .Len (t , hr .Spec .Rules , 2 )
192192 assert .Equal (t , "/" + ns + "/gpt4" , * hr .Spec .Rules [0 ].Matches [0 ].Path .Value )
193- assert .Equal (t , "gpt-4o " , hr .Spec .Rules [1 ].Matches [0 ].Headers [0 ].Value )
193+ assert .Equal (t , "gpt4 " , hr .Spec .Rules [1 ].Matches [0 ].Headers [0 ].Value )
194194
195195 // Backend ref points to provider's Service
196196 assert .Equal (t , "my-openai" , string (hr .Spec .Rules [0 ].BackendRefs [0 ].Name ))
@@ -336,9 +336,9 @@ func TestReconcile_TwoModelsOneProvider(t *testing.T) {
336336 assert .Equal (t , "shared-provider" , string (hr1 .Spec .Rules [0 ].BackendRefs [0 ].Name ))
337337 assert .Equal (t , "shared-provider" , string (hr2 .Spec .Rules [0 ].BackendRefs [0 ].Name ))
338338
339- // But different target models in header match
340- assert .Equal (t , "gpt-4o " , hr1 .Spec .Rules [1 ].Matches [0 ].Headers [0 ].Value )
341- assert .Equal (t , "gpt-3.5-turbo " , hr2 .Spec .Rules [1 ].Matches [0 ].Headers [0 ].Value )
339+ // Header match uses modelName (ExternalModel CR name)
340+ assert .Equal (t , "gpt4 " , hr1 .Spec .Rules [1 ].Matches [0 ].Headers [0 ].Value )
341+ assert .Equal (t , "gpt35 " , hr2 .Spec .Rules [1 ].Matches [0 ].Headers [0 ].Value )
342342
343343 // Different path prefixes
344344 assert .Equal (t , "/" + ns + "/gpt4" , * hr1 .Spec .Rules [0 ].Matches [0 ].Path .Value )
@@ -363,7 +363,7 @@ func TestCommonLabels(t *testing.T) {
363363func TestBuildHTTPRoute (t * testing.T ) {
364364 hr := buildHTTPRoute (
365365 "api.openai.com" , "my-openai" ,
366- "gpt4" , "gpt-4o" ,
366+ "gpt4" ,
367367 "models" , 443 ,
368368 "default-gateway" , "openshift-ingress" , "300s" ,
369369 commonLabels ("gpt4" ),
@@ -385,10 +385,10 @@ func TestBuildHTTPRoute(t *testing.T) {
385385 rule1 := hr .Spec .Rules [0 ]
386386 assert .Equal (t , "/models/gpt4" , * rule1 .Matches [0 ].Path .Value )
387387
388- // Rule 2: header-based match uses targetModel
388+ // Rule 2: header-based match uses modelName (what /v1/models returns)
389389 rule2 := hr .Spec .Rules [1 ]
390390 assert .Equal (t , "X-Gateway-Model-Name" , string (rule2 .Matches [0 ].Headers [0 ].Name ))
391- assert .Equal (t , "gpt-4o " , rule2 .Matches [0 ].Headers [0 ].Value )
391+ assert .Equal (t , "gpt4 " , rule2 .Matches [0 ].Headers [0 ].Value )
392392
393393 // Backend ref points to the PROVIDER's Service, not the model
394394 for i , rule := range hr .Spec .Rules {
@@ -409,7 +409,7 @@ func TestBuildHTTPRoute(t *testing.T) {
409409func TestBuildHTTPRoute_TargetModelDiffersFromName (t * testing.T ) {
410410 hr := buildHTTPRoute (
411411 "bedrock.us-east-1.amazonaws.com" , "my-bedrock" ,
412- "claude" , "anthropic.claude-3-opus" ,
412+ "claude" ,
413413 "models" , 443 ,
414414 "my-gateway" , "gateway-ns" , "300s" ,
415415 commonLabels ("claude" ),
@@ -419,8 +419,8 @@ func TestBuildHTTPRoute_TargetModelDiffersFromName(t *testing.T) {
419419 assert .Equal (t , "claude" , hr .Name )
420420 assert .Equal (t , "/models/claude" , * hr .Spec .Rules [0 ].Matches [0 ].Path .Value )
421421
422- // Header match uses targetModel (provider-side name )
423- assert .Equal (t , "anthropic. claude-3-opus " , hr .Spec .Rules [1 ].Matches [0 ].Headers [0 ].Value )
422+ // Header match uses modelName (what /v1/models returns to clients )
423+ assert .Equal (t , "claude" , hr .Spec .Rules [1 ].Matches [0 ].Headers [0 ].Value )
424424
425425 // Backend points to provider Service
426426 assert .Equal (t , "my-bedrock" , string (hr .Spec .Rules [0 ].BackendRefs [0 ].Name ))
0 commit comments