diff --git a/Sources/GoogleAI/GenerativeModel.swift b/Sources/GoogleAI/GenerativeModel.swift index 39fdbb8..4eb5caa 100644 --- a/Sources/GoogleAI/GenerativeModel.swift +++ b/Sources/GoogleAI/GenerativeModel.swift @@ -318,7 +318,7 @@ public final class GenerativeModel { if let error = error as? GenerateContentError { return error } else if let error = error as? RPCError, error.isInvalidAPIKeyError() { - return GenerateContentError.invalidAPIKey + return GenerateContentError.invalidAPIKey(message: error.message) } else if let error = error as? RPCError, error.isUnsupportedUserLocationError() { return GenerateContentError.unsupportedUserLocation } diff --git a/Tests/GoogleAITests/GenerativeModelTests.swift b/Tests/GoogleAITests/GenerativeModelTests.swift index 41f6844..5cd14d9 100644 --- a/Tests/GoogleAITests/GenerativeModelTests.swift +++ b/Tests/GoogleAITests/GenerativeModelTests.swift @@ -248,8 +248,8 @@ final class GenerativeModelTests: XCTestCase { do { _ = try await model.generateContent(testPrompt) XCTFail("Should throw GenerateContentError.internalError; no error thrown.") - } catch GenerateContentError.invalidAPIKey { - // Do nothing, catching a GenerateContentError.invalidAPIKey error is expected. + } catch let GenerateContentError.invalidAPIKey(message) { + XCTAssertEqual(message, "API key not valid. Please pass a valid API key.") } catch { XCTFail("Should throw GenerateContentError.invalidAPIKey; error thrown: \(error)") }