Skip to content

DEV-14971: Python SDK storage-service compatibility unit tests#459

Open
sihrc wants to merge 3 commits intomasterfrom
dev-14971-python-sdk-storage-compat
Open

DEV-14971: Python SDK storage-service compatibility unit tests#459
sihrc wants to merge 3 commits intomasterfrom
dev-14971-python-sdk-storage-compat

Conversation

@sihrc
Copy link
Copy Markdown
Member

@sihrc sihrc commented Apr 11, 2026

Summary

  • Adds unit tests verifying the Python SDK is fully compatible with storage-service response shapes (the Rainbow replacement)
  • Audit result: no client patches needed — storage-service /files/store returns path/name/upload_type matching exactly what UploadDocument expects; indico-file:// URI handling is unchanged
  • Tests cover UploadDocument, CreateStorageURLs, and RetrieveStorageObject against the LegacyUploadResponseItem response shape

Test plan

  • test_upload_document_posts_to_storage_files_store — confirms POST target path
  • test_upload_document_processes_path_name_upload_type — confirms response field mapping
  • test_upload_document_handles_multiple_files — multi-file upload batch
  • test_create_storage_urls_builds_indico_file_uris — URI construction from response
  • test_create_storage_urls_round_trips_through_retrieve — round-trip URI → path
  • test_retrieve_storage_object_strips_indico_file_scheme — path extraction
  • test_retrieve_storage_object_accepts_dict_with_url_key — dict input variant
  • test_retrieve_storage_object_fetches_content — end-to-end GET with mock response

All 8 tests pass. No network required.

Part of DEV-14699 storage-service migration epic.

🤖 Generated with Claude Code


Note

Medium Risk
Updates the dynamic versioning regex used for packaging, which can affect release/version resolution if the new tag-matching behavior is incorrect. Other changes are test-only and low risk.

Overview
Adds unit tests that mock HTTP calls to verify the SDK’s storage queries (UploadDocument, CreateStorageURLs, RetrieveStorageObject) remain compatible with storage-service response shapes and indico-file:// URI/path handling.

Updates uv-dynamic-versioning tag matching to accept dotted PEP 440-style suffixes (e.g. 7.9.0.post1) in addition to hyphenated prereleases, and adds a focused test to lock in the new regex behavior; notes the change in CHANGES.txt.

Reviewed by Cursor Bugbot for commit af597d3. Bugbot is set up for automated code reviews on this repo. Configure here.

jacobmanderson and others added 3 commits March 13, 2026 11:14
…ervice response shapes

Audit confirms no client patches needed — storage-service produces the
same response shapes Rainbow does:
- /files/store: path/name/upload_type match what UploadDocument expects
- indico-file:// URI construction/round-trip via CreateStorageURLs works
- RetrieveStorageObject strips indico-file:// prefix correctly

Tests mock at the HTTP level; no running service required.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sihrc
Copy link
Copy Markdown
Member Author

sihrc commented Apr 15, 2026

Storage migration freeze checkpoint (2026-04-15): PR remains under NOT MERGE policy, but is still failing from 2026-04-12. Requesting a CI rerun to refresh review evidence while keeping this PR unmerged.

@sihrc
Copy link
Copy Markdown
Member Author

sihrc commented Apr 15, 2026

Correction: failing check context is publish_python_sdk-unit_tests. Please rerun this CI context for fresh freeze-period validation signal (PR remains NOT MERGE).

@sihrc
Copy link
Copy Markdown
Member Author

sihrc commented Apr 15, 2026

Escalation: check context publish_python_sdk-unit_tests is still stale (last started 2026-04-12T00:02:54Z) after rerun request. Requesting CI run owners/maintainers to trigger a fresh Harness run so we can refresh freeze-period validation evidence. PR remains NOT MERGE.

@sihrc
Copy link
Copy Markdown
Member Author

sihrc commented Apr 15, 2026

@goatrocks @Sung96kim @jacobmanderson @nicholas-lockhart @arsandhu and @IndicoDataSolutions/pr-be-indicodata-ai: targeted rerun request for stale Harness context publish_python_sdk-unit_tests (still on 2026-04-12T00:02:54Z). Please trigger/own a fresh run for freeze-period validation evidence. PR remains NOT MERGE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants