test: add Gemini multimodal integration test cassettes

Record VCR cassettes for Gemini multimodal tests and add missing
TextFile import.
This commit is contained in:
Greyson LaLonde
2026-01-22 22:14:41 -05:00
parent 11b50abbec
commit 83bab3531b
3 changed files with 133 additions and 1 deletions

View File

@@ -0,0 +1,65 @@
interactions:
- request:
body: '{"contents": [{"parts": [{"text": "Summarize what this text file says in
one sentence."}], "role": "user"}], "generationConfig": {}}'
headers:
User-Agent:
- X-USER-AGENT-XXX
accept:
- '*/*'
accept-encoding:
- ACCEPT-ENCODING-XXX
connection:
- keep-alive
content-length:
- '132'
content-type:
- application/json
host:
- generativelanguage.googleapis.com
x-goog-api-client:
- google-genai-sdk/1.49.0 gl-python/3.12.10
x-goog-api-key:
- X-GOOG-API-KEY-XXX
method: POST
uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent
response:
body:
string: "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\":
[\n {\n \"text\": \"Please provide the text file so I
can summarize it for you. I need the content of the file to be able to understand
and summarize it in one sentence.\\n\"\n }\n ],\n \"role\":
\"model\"\n },\n \"finishReason\": \"STOP\",\n \"avgLogprobs\":
-0.17782547979643851\n }\n ],\n \"usageMetadata\": {\n \"promptTokenCount\":
11,\n \"candidatesTokenCount\": 33,\n \"totalTokenCount\": 44,\n \"promptTokensDetails\":
[\n {\n \"modality\": \"TEXT\",\n \"tokenCount\": 11\n
\ }\n ],\n \"candidatesTokensDetails\": [\n {\n \"modality\":
\"TEXT\",\n \"tokenCount\": 33\n }\n ]\n },\n \"modelVersion\":
\"gemini-2.0-flash\",\n \"responseId\": \"b-dyabKwN8a9jrEP7JT1yAo\"\n}\n"
headers:
Alt-Svc:
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
Content-Type:
- application/json; charset=UTF-8
Date:
- Fri, 23 Jan 2026 03:13:52 GMT
Server:
- scaffolding on HTTPServer2
Server-Timing:
- gfet4t7; dur=631
Transfer-Encoding:
- chunked
Vary:
- Origin
- X-Origin
- Referer
X-Content-Type-Options:
- X-CONTENT-TYPE-XXX
X-Frame-Options:
- X-FRAME-OPTIONS-XXX
X-XSS-Protection:
- '0'
status:
code: 200
message: OK
version: 1

File diff suppressed because one or more lines are too long

View File

@@ -9,7 +9,7 @@ from pathlib import Path
import pytest
from crewai.llm import LLM
from crewai_files import File, ImageFile, PDFFile, format_multimodal_content
from crewai_files import File, ImageFile, PDFFile, TextFile, format_multimodal_content
# Path to test data files