@@ -433,22 +433,28 @@ struct GenerateContentIntegrationTests {
433
433
modelName: ModelNames . gemini2_5_Flash,
434
434
tools: [ . urlContext( ) ]
435
435
)
436
- let prompt = """
437
- Write a one paragraph summary of this blog post: \
438
- https://developers.googleblog.com/en/introducing-gemma-3-270m/
439
- """
436
+ let url = " https://developers.googleblog.com/en/introducing-gemma-3-270m/ "
437
+ let prompt = " Write a one paragraph summary of this blog post: \( url) "
440
438
441
- let response = try await model. generateContent ( prompt)
439
+ // TODO(#15385): Remove `withKnownIssue` when the URL Context tool works consistently using the
440
+ // Gemini Developer API.
441
+ try await withKnownIssue ( isIntermittent: true ) {
442
+ let response = try await model. generateContent ( prompt)
442
443
443
- let candidate = try #require( response. candidates. first)
444
- let urlContextMetadata = try #require( candidate. urlContextMetadata)
445
- #expect( urlContextMetadata. urlMetadata. count == 1 )
446
- let urlMetadata = try #require( urlContextMetadata. urlMetadata. first)
447
- let retrievedURL = try #require( urlMetadata. retrievedURL)
448
- #expect(
449
- retrievedURL == URL ( string: " https://developers.googleblog.com/en/introducing-gemma-3-270m/ " )
450
- )
451
- #expect( urlMetadata. retrievalStatus == . success)
444
+ let candidate = try #require( response. candidates. first)
445
+ let urlContextMetadata = try #require( candidate. urlContextMetadata)
446
+ #expect( urlContextMetadata. urlMetadata. count == 1 )
447
+ let urlMetadata = try #require( urlContextMetadata. urlMetadata. first)
448
+ let retrievedURL = try #require( urlMetadata. retrievedURL)
449
+ #expect( retrievedURL == URL ( string: url) )
450
+ #expect( urlMetadata. retrievalStatus == . success)
451
+ } when: {
452
+ // This issue only impacts the Gemini Developer API (Google AI), Vertex AI is unaffected.
453
+ if case . googleAI = config. apiConfig. service {
454
+ return true
455
+ }
456
+ return false
457
+ }
452
458
}
453
459
454
460
@Test ( arguments: InstanceConfig . allConfigs)
0 commit comments