From 0ebe1e5deb2b3e1363f3395887dae851c4532d82 Mon Sep 17 00:00:00 2001 From: Tim Laing <11019084+timlaing@users.noreply.github.com> Date: Fri, 3 Apr 2026 18:39:13 +0000 Subject: [PATCH] fix: update photo asset id property to use correct record --- pyicloud/services/photos.py | 2 +- tests/services/test_photos.py | 31 +++++++++++++++++++++---------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/pyicloud/services/photos.py b/pyicloud/services/photos.py index 364c06a5..0ccaafb4 100644 --- a/pyicloud/services/photos.py +++ b/pyicloud/services/photos.py @@ -1590,7 +1590,7 @@ def __init__( @property def id(self) -> str: """Gets the photo id.""" - return self._master_record["recordName"] + return self._asset_record["recordName"] @property def filename(self) -> str: diff --git a/tests/services/test_photos.py b/tests/services/test_photos.py index 02e5f4fd..12cee6d7 100644 --- a/tests/services/test_photos.py +++ b/tests/services/test_photos.py @@ -608,6 +608,7 @@ def test_base_photo_album_get_photos_at(mock_photo_library: MagicMock) -> None: "records": [ { "recordType": "CPLAsset", + "recordName": "asset1", "fields": {"masterRef": {"value": {"recordName": "master1"}}}, }, { @@ -632,6 +633,7 @@ def test_base_photo_album_get_photos_at(mock_photo_library: MagicMock) -> None: ) photos = list(album.photos) assert len(photos) == 1 + assert photos[0].id == "asset1" mock_photo_library.service.session.post.assert_called() @@ -649,6 +651,7 @@ def test_base_photo_album_iter(mock_photo_library: MagicMock) -> None: "records": [ { "recordType": "CPLAsset", + "recordName": "asset1", "fields": {"masterRef": {"value": {"recordName": "master1"}}}, }, { @@ -673,6 +676,7 @@ def test_base_photo_album_iter(mock_photo_library: MagicMock) -> None: ) photos = list(iter(album)) assert len(photos) == 1 + assert photos[0].id == "asset1" mock_photo_library.service.session.post.assert_called() @@ -2452,11 +2456,12 @@ def test_photo_album_get_photo_success(mock_photo_library: MagicMock) -> None: "records": [ { "recordType": "CPLAsset", - "fields": {"masterRef": {"value": {"recordName": "target_photo"}}}, + "recordName": "target_photo", + "fields": {"masterRef": {"value": {"recordName": "master1"}}}, }, { "recordType": "CPLMaster", - "recordName": "target_photo", + "recordName": "master1", }, ] } @@ -2490,11 +2495,12 @@ def test_photo_album_get_photo_not_found(mock_photo_library: MagicMock) -> None: "records": [ { "recordType": "CPLAsset", - "fields": {"masterRef": {"value": {"recordName": "different_photo"}}}, + "recordName": "different_photo", + "fields": {"masterRef": {"value": {"recordName": "master1"}}}, }, { "recordType": "CPLMaster", - "recordName": "different_photo", + "recordName": "master1", }, ] } @@ -2553,27 +2559,32 @@ def test_photo_album_get_photo_multiple_photos_found_correct_one( "records": [ { "recordType": "CPLAsset", - "fields": {"masterRef": {"value": {"recordName": "photo1"}}}, + "recordName": "photo1", + "fields": {"masterRef": {"value": {"recordName": "master_photo1"}}}, }, { "recordType": "CPLMaster", - "recordName": "photo1", + "recordName": "master_photo1", }, { "recordType": "CPLAsset", - "fields": {"masterRef": {"value": {"recordName": "target_photo"}}}, + "recordName": "target_photo", + "fields": { + "masterRef": {"value": {"recordName": "master_target_photo"}} + }, }, { "recordType": "CPLMaster", - "recordName": "target_photo", + "recordName": "master_target_photo", }, { "recordType": "CPLAsset", - "fields": {"masterRef": {"value": {"recordName": "photo3"}}}, + "recordName": "photo3", + "fields": {"masterRef": {"value": {"recordName": "master_photo3"}}}, }, { "recordType": "CPLMaster", - "recordName": "photo3", + "recordName": "master_photo3", }, ] }