@@ -51,18 +51,16 @@ struct GenerateContentIntegrationTests {
5151 ( InstanceConfig . vertexAI_v1beta, ModelNames . gemini2FlashLite) ,
5252 ( InstanceConfig . vertexAI_v1beta_global, ModelNames . gemini2FlashLite) ,
5353 ( InstanceConfig . vertexAI_v1beta_global_appCheckLimitedUse, ModelNames . gemini2FlashLite) ,
54- ( InstanceConfig . googleAI_v1beta, ModelNames . gemini2FlashLite) ,
55- ( InstanceConfig . googleAI_v1beta_appCheckLimitedUse, ModelNames . gemini2FlashLite) ,
5654 ( InstanceConfig . googleAI_v1beta, ModelNames . gemini3FlashPreview) ,
5755 ( InstanceConfig . googleAI_v1beta_appCheckLimitedUse, ModelNames . gemini3FlashPreview) ,
5856 ( InstanceConfig . googleAI_v1beta, ModelNames . gemma3_4B) ,
5957 ( InstanceConfig . googleAI_v1beta_freeTier, ModelNames . gemma3_4B) ,
6058 // Note: The following configs are commented out for easy one-off manual testing.
61- // (InstanceConfig.googleAI_v1beta_freeTier, ModelNames.gemini2FlashLite ),
62- // (InstanceConfig.googleAI_v1beta_staging, ModelNames.gemini2FlashLite ),
59+ // (InstanceConfig.googleAI_v1beta_freeTier, ModelNames.gemini2_5_FlashLite ),
60+ // (InstanceConfig.googleAI_v1beta_staging, ModelNames.gemini2_5_FlashLite ),
6361 // (InstanceConfig.googleAI_v1beta_staging, ModelNames.gemma3_4B),
6462 // (InstanceConfig.vertexAI_v1beta_staging, ModelNames.gemini2FlashLite),
65- // (InstanceConfig.googleAI_v1beta_freeTier_bypassProxy, ModelNames.gemini2FlashLite ),
63+ // (InstanceConfig.googleAI_v1beta_freeTier_bypassProxy, ModelNames.gemini2_5_FlashLite ),
6664 // (InstanceConfig.googleAI_v1beta_freeTier_bypassProxy, ModelNames.gemma3_4B),
6765 ] )
6866 func generateContent( _ config: InstanceConfig , modelName: String ) async throws {
@@ -118,7 +116,7 @@ struct GenerateContentIntegrationTests {
118116 )
119117 func generateContentEnum( _ config: InstanceConfig ) async throws {
120118 let model = FirebaseAI . componentInstance ( config) . generativeModel (
121- modelName: ModelNames . gemini2FlashLite ,
119+ modelName: ModelNames . gemini2_5_FlashLite ,
122120 generationConfig: GenerationConfig (
123121 responseMIMEType: " text/x.enum " ,
124122 responseSchema: . enumeration( values: [ " Red " , " Green " , " Blue " ] )
@@ -136,7 +134,16 @@ struct GenerateContentIntegrationTests {
136134 #expect( text == " Blue " )
137135
138136 let usageMetadata = try #require( response. usageMetadata)
139- #expect( usageMetadata. promptTokenCount. isEqual ( to: 15 , accuracy: tokenCountAccuracy) )
137+ if case . googleAI = config. apiConfig. service {
138+ #expect( usageMetadata. promptTokenCount. isEqual ( to: 11 , accuracy: tokenCountAccuracy) )
139+ #expect( usageMetadata. candidatesTokensDetails. count == 0 )
140+ } else {
141+ #expect( usageMetadata. promptTokenCount. isEqual ( to: 15 , accuracy: tokenCountAccuracy) )
142+ #expect( usageMetadata. candidatesTokensDetails. count == 1 )
143+ let candidatesTokensDetails = try #require( usageMetadata. candidatesTokensDetails. first)
144+ #expect( candidatesTokensDetails. modality == . text)
145+ #expect( candidatesTokensDetails. tokenCount == usageMetadata. candidatesTokenCount)
146+ }
140147 #expect( usageMetadata. candidatesTokenCount. isEqual ( to: 1 , accuracy: tokenCountAccuracy) )
141148 #expect( usageMetadata. thoughtsTokenCount == 0 )
142149 #expect( usageMetadata. totalTokenCount
@@ -145,10 +152,6 @@ struct GenerateContentIntegrationTests {
145152 let promptTokensDetails = try #require( usageMetadata. promptTokensDetails. first)
146153 #expect( promptTokensDetails. modality == . text)
147154 #expect( promptTokensDetails. tokenCount == usageMetadata. promptTokenCount)
148- #expect( usageMetadata. candidatesTokensDetails. count == 1 )
149- let candidatesTokensDetails = try #require( usageMetadata. candidatesTokensDetails. first)
150- #expect( candidatesTokensDetails. modality == . text)
151- #expect( candidatesTokensDetails. tokenCount == usageMetadata. candidatesTokenCount)
152155 }
153156
154157 @Test (
@@ -501,16 +504,16 @@ struct GenerateContentIntegrationTests {
501504 ( InstanceConfig . vertexAI_v1beta, ModelNames . gemini2FlashLite) ,
502505 ( InstanceConfig . vertexAI_v1beta_global, ModelNames . gemini3FlashPreview) ,
503506 ( InstanceConfig . vertexAI_v1beta_global_appCheckLimitedUse, ModelNames . gemini3FlashPreview) ,
504- ( InstanceConfig . googleAI_v1beta, ModelNames . gemini2FlashLite ) ,
505- ( InstanceConfig . googleAI_v1beta_appCheckLimitedUse, ModelNames . gemini2FlashLite ) ,
507+ ( InstanceConfig . googleAI_v1beta, ModelNames . gemini2_5_FlashLite ) ,
508+ ( InstanceConfig . googleAI_v1beta_appCheckLimitedUse, ModelNames . gemini2_5_FlashLite ) ,
506509 ( InstanceConfig . googleAI_v1beta, ModelNames . gemma3_4B) ,
507510 // Note: The following configs are commented out for easy one-off manual testing.
508- // (InstanceConfig.vertexAI_v1beta_staging, ModelNames.gemini2FlashLite ),
509- // (InstanceConfig.googleAI_v1beta_staging, ModelNames.gemini2FlashLite ),
511+ // (InstanceConfig.vertexAI_v1beta_staging, ModelNames.gemini2_5_FlashLite ),
512+ // (InstanceConfig.googleAI_v1beta_staging, ModelNames.gemini2_5_FlashLite ),
510513 // (InstanceConfig.googleAI_v1beta_staging, ModelNames.gemma3_4B),
511514 // (InstanceConfig.googleAI_v1beta_freeTier_bypassProxy, ModelNames.gemini2FlashLite),
512515 // (InstanceConfig.googleAI_v1beta_freeTier_bypassProxy, ModelNames.gemma3_4B),
513- // (InstanceConfig.googleAI_v1beta_freeTier, ModelNames.gemini2FlashLite ),
516+ // (InstanceConfig.googleAI_v1beta_freeTier, ModelNames.gemini2_5_FlashLite ),
514517// (InstanceConfig.googleAI_v1beta_freeTier, ModelNames.gemma3_4B),
515518 ] )
516519 func generateContentStream( _ config: InstanceConfig , modelName: String ) async throws {
@@ -616,7 +619,7 @@ struct GenerateContentIntegrationTests {
616619 @Test ( arguments: InstanceConfig . appCheckNotConfiguredConfigs)
617620 func generateContent_appCheckNotConfigured_shouldFail( _ config: InstanceConfig ) async throws {
618621 let model = FirebaseAI . componentInstance ( config) . generativeModel (
619- modelName: ModelNames . gemini2Flash
622+ modelName: ModelNames . gemini2_5_Flash
620623 )
621624 let prompt = " Where is Google headquarters located? Answer with the city name only. "
622625
0 commit comments