Commit 01b0eb8
committed
Live smoke: 22 rigorous integration tests + 2 more bug findings
Expanded tests/test_live_smoke.py from 4 to 22 live tests against the
real Internxt backend. All 22 pass on 3 consecutive runs (with auto-
rerun for transient API flakiness).
New live coverage:
- Read-only: login, list root, storage usage, /users/me known-404 marker
- Upload variations: full cycle, unicode filenames, extensionless
files, 2 MB file (multipart-threshold path)
- Path: resolve_path against live tree, FileNotFoundError on missing,
list_folder_with_paths enrichment, recursive 3-level nesting
(the cache-coherency regression)
- File ops: rename in-place, move between folders, copy preserves
content (separate uuid + identical bytes), update_file replaces
content (WebDAV PUT path)
- Folder ops: rename, move to another parent
- Trash: trash_file removes from listing
- Search: server-side fuzzy finds uniquely-named upload (with retry
for index latency); bogus query returns low-similarity safely
- Find: client-side wildcard returns exact match set
Two more bug findings during this round:
1. /drive/users/me returns 404 on the live backend.
api.get_user_info() is therefore dead code. New regression test
pins this down — if the endpoint comes back later, the test fails
and tells us to wire it back into the CLI.
2. Internxt's fuzzy search is *very* fuzzy: a 32-char random hex
query returns ~10 substring/Levenshtein matches at 1-2% similarity.
Test assertion was wrong — relaxed to "no result has similarity >
10%" since none of the bogus matches are real.
Robustness improvements:
- Every file/folder name in tests now includes a per-call UUID suffix
via _unique_name() helper. Critical for pytest-rerunfailures: failed
attempts may have already created entries with the same plainName,
causing 'already exists' on retry. Per-call UUIDs make reruns
idempotent.
- Per-call probe extension in find_files test for the same reason.
- Module-scope authed_session fixture: log in once, share across all
22 tests. Cleanup in teardown clears cache before trashing sentinel
folder.
- Auto-rerun (reruns=2, delay=2s) via pytest-rerunfailures for
transient API failures (rate-limit, eventual consistency).
requirements-dev.txt: added pytest-rerunfailures.
CHANGELOG.md and readme.md updated with the expanded coverage.
Stats: 557 unit + 22 live = 579 tests. Unit suite still 90% coverage,
3-second runtime. Live suite 60-90 seconds, runs only when creds present.1 parent 18194e8 commit 01b0eb8
4 files changed
Lines changed: 663 additions & 69 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
271 | 271 | | |
272 | 272 | | |
273 | 273 | | |
274 | | - | |
| 274 | + | |
275 | 275 | | |
276 | | - | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
277 | 279 | | |
278 | 280 | | |
279 | 281 | | |
280 | 282 | | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
281 | 286 | | |
282 | 287 | | |
| 288 | + | |
| 289 | + | |
283 | 290 | | |
284 | 291 | | |
285 | 292 | | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
292 | 305 | | |
293 | 306 | | |
294 | 307 | | |
295 | 308 | | |
296 | | - | |
| 309 | + | |
297 | 310 | | |
298 | 311 | | |
299 | 312 | | |
300 | | - | |
301 | | - | |
| 313 | + | |
| 314 | + | |
302 | 315 | | |
303 | 316 | | |
304 | 317 | | |
305 | 318 | | |
306 | 319 | | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | | - | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
332 | 332 | | |
333 | 333 | | |
334 | 334 | | |
335 | | - | |
336 | | - | |
337 | | - | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
338 | 341 | | |
339 | 342 | | |
340 | 343 | | |
341 | 344 | | |
342 | 345 | | |
343 | 346 | | |
344 | | - | |
| 347 | + | |
| 348 | + | |
345 | 349 | | |
346 | 350 | | |
347 | 351 | | |
348 | 352 | | |
349 | | - | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
350 | 357 | | |
351 | 358 | | |
352 | 359 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
0 commit comments