Conversation
7fd7f3b to
a0584e1
Compare
- Group.search: Fix duplicate 'id' argument error (API returns both 'id' and 'nsid'), handle empty results with _check_list, make token parameter optional - Place.getPlaceTypes: API returns 'id' not 'place_type_id' Found via integration testing against live Flickr API. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Person.getGalleries: Wrap gallery dicts in Gallery objects - Photo.getGalleries: Fix iteration bug (was iterating empty list), wrap dicts in Gallery objects, fix primary_photo type (Photo not Gallery) - _extract_photo_list: Handle empty results, filter None values from info dict to prevent int() conversion errors Found via integration testing against live Flickr API. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fixed format_dict() to convert integers properly (bytes(0) gives b''
not b'0', so use str(v).encode('utf8') instead)
- Rewrote post() to manually calculate OAuth signature for multipart
uploads, as requests-oauthlib doesn't handle Flickr's specific
requirement that form parameters (but not file content) be included
in the signature
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Tests 109 read-only API methods against the live Flickr API including: - Basic API tests (test.echo, licenses, cameras, pandas, etc.) - Object discovery (photos, persons, groups, places, tags) - Photo operations (info, sizes, exif, context, download/save) - Person operations (info, photos, photosets, galleries, contacts) - Group operations (info, photos, members, topics) - Photoset and Gallery operations - Places and Tags operations - Authenticated operations (prefs, activity, contacts, favorites) Also includes write test infrastructure (--write-tests flag) for testing upload, modify, and delete operations when a write-capable OAuth token is available. Usage: python integration_test.py --config ~/.flickr_api python integration_test.py --config ~/.flickr_api --write-tests Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add interactive OAuth flow (--auth flag) to get tokens with proper permissions - Request 'delete' permission for write tests (includes write + delete) - Fix favorites tests to use discovery photo (can't favorite own photos) - Update default config paths to ~/.flickr_api_key and ~/.flickr_api_token - Add --token-file option to specify token location All 126 tests now pass (3 skipped for Places API returning empty). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updated integration_test.py docstring to note that the Places API returning empty results is a known Flickr backend issue, not a library bug. Added reference to Flickr Help forum thread. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Relocate integration_test.py and Test.png to integration_tests/ directory for better organization. Update test image path to be relative to script location and document integration testing in CLAUDE.md. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test Coverage
Test plan
🤖 Generated with Claude Code