@@ -294,6 +294,28 @@ func TestOpenAIToGCPVertexAITranslatorV1ChatCompletion_RequestBody(t *testing.T)
294294 }
295295}` )
296296
297+ wantBdyWithEnterpriseWebSearch := []byte (`{
298+ "contents": [
299+ {
300+ "parts": [
301+ {
302+ "text": "Test with web grounding for enterprise"
303+ }
304+ ],
305+ "role": "user"
306+ }
307+ ],
308+ "tools": [
309+ {
310+ "enterpriseWebSearch": {},
311+ }
312+ ],
313+ "generation_config": {
314+ "maxOutputTokens": 1024,
315+ "temperature": 0.7
316+ },
317+ }` )
318+
297319 tests := []struct {
298320 name string
299321 modelNameOverride internalapi.ModelNameOverride
@@ -654,6 +676,48 @@ func TestOpenAIToGCPVertexAITranslatorV1ChatCompletion_RequestBody(t *testing.T)
654676 },
655677 wantBody : wantBdyWithGuidedRegex ,
656678 },
679+ {
680+ name : "Request with gcp web grounding for enterprise" ,
681+ input : openai.ChatCompletionRequest {
682+ Model : "gemini-1.5-pro" ,
683+ Temperature : ptr .To (0.7 ),
684+ MaxTokens : ptr .To (int64 (1024 )),
685+ Messages : []openai.ChatCompletionMessageParamUnion {
686+ {
687+ OfUser : & openai.ChatCompletionUserMessageParam {
688+ Role : openai .ChatMessageRoleUser ,
689+ Content : openai.StringOrUserRoleContentUnion {Value : "Test with web grounding for enterprise" },
690+ },
691+ },
692+ },
693+ GCPVertexAIVendorFields : & openai.GCPVertexAIVendorFields {
694+ EnterpriseWebSearch : true ,
695+ },
696+ },
697+ onRetry : false ,
698+ wantError : false ,
699+ wantHeaderMut : & extprocv3.HeaderMutation {
700+ SetHeaders : []* corev3.HeaderValueOption {
701+ {
702+ Header : & corev3.HeaderValue {
703+ Key : ":path" ,
704+ RawValue : []byte ("publishers/google/models/gemini-1.5-pro:generateContent" ),
705+ },
706+ },
707+ {
708+ Header : & corev3.HeaderValue {
709+ Key : "Content-Length" ,
710+ RawValue : []byte ("395" ),
711+ },
712+ },
713+ },
714+ },
715+ wantBody : & extprocv3.BodyMutation {
716+ Mutation : & extprocv3.BodyMutation_Body {
717+ Body : wantBdyWithEnterpriseWebSearch ,
718+ },
719+ },
720+ },
657721 }
658722
659723 for _ , tc := range tests {
0 commit comments