Skip to content

Commit bc278e8

Browse files
committed
fix Google FileSearchTool SDK parameters and add VCR decorators
- Fix file_search_stores.create() to use config={'display_name': ...} - Fix upload_to_file_search_store() to use file_search_store_name parameter - Add force=True to file_search_store deletion to handle non-empty stores - Add @pytest.mark.vcr() to both OpenAI and Google integration tests - Partial cassettes recorded showing successful setup, model calls failed due to: * OpenAI: insufficient quota (429) * Gemini: model overloaded (503) - Tests are ready to record full cassettes when APIs are available
1 parent 3011e05 commit bc278e8

File tree

3 files changed

+670
-6
lines changed

3 files changed

+670
-6
lines changed
Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
interactions:
2+
- request:
3+
headers:
4+
accept:
5+
- '*/*'
6+
accept-encoding:
7+
- gzip, deflate
8+
connection:
9+
- keep-alive
10+
content-length:
11+
- '41'
12+
content-type:
13+
- application/json
14+
host:
15+
- generativelanguage.googleapis.com
16+
method: POST
17+
parsed_body:
18+
displayName: test-file-search-store
19+
uri: https://generativelanguage.googleapis.com/v1beta/fileSearchStores
20+
response:
21+
headers:
22+
alt-svc:
23+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
24+
content-length:
25+
- '203'
26+
content-type:
27+
- application/json; charset=UTF-8
28+
server-timing:
29+
- gfet4t7; dur=455
30+
transfer-encoding:
31+
- chunked
32+
vary:
33+
- Origin
34+
- X-Origin
35+
- Referer
36+
parsed_body:
37+
createTime: '2025-11-14T13:06:44.036465Z'
38+
displayName: test-file-search-store
39+
name: fileSearchStores/testfilesearchstore-yc4nqyu6bkpo
40+
updateTime: '2025-11-14T13:06:44.036465Z'
41+
status:
42+
code: 200
43+
message: OK
44+
- request:
45+
headers:
46+
accept:
47+
- '*/*'
48+
accept-encoding:
49+
- gzip, deflate
50+
connection:
51+
- keep-alive
52+
content-length:
53+
- '26'
54+
content-type:
55+
- application/json
56+
host:
57+
- generativelanguage.googleapis.com
58+
method: POST
59+
parsed_body:
60+
mimeType: text/plain
61+
uri: https://generativelanguage.googleapis.com/upload/v1beta/fileSearchStores/testfilesearchstore-yc4nqyu6bkpo:uploadToFileSearchStore
62+
response:
63+
body:
64+
string: ''
65+
headers:
66+
alt-svc:
67+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
68+
content-length:
69+
- '0'
70+
content-type:
71+
- text/plain; charset=utf-8
72+
status:
73+
code: 200
74+
message: OK
75+
- request:
76+
body: Paris is the capital of France. The Eiffel Tower is a famous landmark in Paris.
77+
headers:
78+
accept:
79+
- '*/*'
80+
accept-encoding:
81+
- gzip, deflate
82+
connection:
83+
- keep-alive
84+
content-length:
85+
- '79'
86+
host:
87+
- generativelanguage.googleapis.com
88+
method: POST
89+
uri: https://generativelanguage.googleapis.com/upload/v1beta/fileSearchStores/testfilesearchstore-yc4nqyu6bkpo:uploadToFileSearchStore?upload_id=AOCedOGMFY9IXAkbC4iGTlw4gkakgbCCpXweCb8TJzUJMegDkFGYkygsxUAtdzCgKeOt3GTgFDmt9ynY1SQsUcVSSI2sK2rSi6i8RrGC7y276ls&upload_protocol=resumable
90+
response:
91+
headers:
92+
alt-svc:
93+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
94+
content-length:
95+
- '463'
96+
content-type:
97+
- application/json; charset=UTF-8
98+
vary:
99+
- Origin
100+
- X-Origin
101+
- Referer
102+
parsed_body:
103+
name: fileSearchStores/testfilesearchstore-yc4nqyu6bkpo/upload/operations/7k9hlotn1ptc-zy3bg6jfttw0
104+
response:
105+
'@type': type.googleapis.com/google.ai.generativelanguage.v1main.UploadToFileSearchStoreResponse
106+
documentName: fileSearchStores/testfilesearchstore-yc4nqyu6bkpo/documents/7k9hlotn1ptc-zy3bg6jfttw0
107+
mimeType: text/plain
108+
parent: fileSearchStores/testfilesearchstore-yc4nqyu6bkpo
109+
sizeBytes: '79'
110+
status:
111+
code: 200
112+
message: OK
113+
- request:
114+
headers:
115+
accept:
116+
- '*/*'
117+
accept-encoding:
118+
- gzip, deflate
119+
connection:
120+
- keep-alive
121+
content-length:
122+
- '274'
123+
content-type:
124+
- application/json
125+
host:
126+
- generativelanguage.googleapis.com
127+
method: POST
128+
parsed_body:
129+
contents:
130+
- parts:
131+
- text: What is the capital of France according to my files?
132+
role: user
133+
generationConfig:
134+
responseModalities:
135+
- TEXT
136+
tools:
137+
- fileSearch:
138+
file_search_store_names:
139+
- fileSearchStores/testfilesearchstore-yc4nqyu6bkpo
140+
uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent
141+
response:
142+
headers:
143+
alt-svc:
144+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
145+
content-length:
146+
- '133'
147+
content-type:
148+
- application/json; charset=UTF-8
149+
server-timing:
150+
- gfet4t7; dur=7289
151+
transfer-encoding:
152+
- chunked
153+
vary:
154+
- Origin
155+
- X-Origin
156+
- Referer
157+
parsed_body:
158+
error:
159+
code: 503
160+
message: The model is overloaded. Please try again later.
161+
status: UNAVAILABLE
162+
status:
163+
code: 503
164+
message: Service Unavailable
165+
- request:
166+
body: ''
167+
headers:
168+
accept:
169+
- '*/*'
170+
accept-encoding:
171+
- gzip, deflate
172+
connection:
173+
- keep-alive
174+
content-type:
175+
- application/json
176+
host:
177+
- generativelanguage.googleapis.com
178+
method: DELETE
179+
uri: https://generativelanguage.googleapis.com/v1beta/fileSearchStores/testfilesearchstore-yc4nqyu6bkpo?force=True
180+
response:
181+
headers:
182+
alt-svc:
183+
- h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
184+
content-length:
185+
- '3'
186+
content-type:
187+
- application/json; charset=UTF-8
188+
server-timing:
189+
- gfet4t7; dur=858
190+
transfer-encoding:
191+
- chunked
192+
vary:
193+
- Origin
194+
- X-Origin
195+
- Referer
196+
parsed_body: {}
197+
status:
198+
code: 200
199+
message: OK
200+
version: 1

0 commit comments

Comments
 (0)