diff --git a/tests/Test-13.0.0.photoslibrary/database/DataModelVersion.plist b/tests/Test-13.0.0.photoslibrary/database/DataModelVersion.plist new file mode 100644 index 00000000..be9740fe --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/database/DataModelVersion.plist @@ -0,0 +1,10 @@ + + + + + LibrarySchemaVersion + 5001 + MetaSchemaVersion + 3 + + diff --git a/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite b/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite new file mode 100644 index 00000000..d4785d20 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite-shm b/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite-shm new file mode 100644 index 00000000..78aff461 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite-wal b/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite-wal new file mode 100644 index 00000000..1ebe4ce9 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite-wal differ diff --git a/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite.lock b/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite.lock new file mode 100644 index 00000000..625f0f37 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/database/Photos.sqlite.lock @@ -0,0 +1,16 @@ + + + + + hostname + ddrucker-mba.local + hostuuid + 3C58BD83-C174-52E3-B12D-D7EBDED55622 + pid + 940 + processname + photolibraryd + uid + 502 + + diff --git a/tests/Test-13.0.0.photoslibrary/database/metaSchema.db b/tests/Test-13.0.0.photoslibrary/database/metaSchema.db new file mode 100644 index 00000000..2d75bd40 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/metaSchema.db differ diff --git a/tests/Test-13.0.0.photoslibrary/database/photos.db b/tests/Test-13.0.0.photoslibrary/database/photos.db new file mode 100644 index 00000000..2d75bd40 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/photos.db differ diff --git a/tests/Test-13.0.0.photoslibrary/database/protection b/tests/Test-13.0.0.photoslibrary/database/protection new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/database/search/graphDataProgress.plist b/tests/Test-13.0.0.photoslibrary/database/search/graphDataProgress.plist new file mode 100644 index 00000000..c4e5e427 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/search/graphDataProgress.plist differ diff --git a/tests/Test-13.0.0.photoslibrary/database/search/psi.sqlite b/tests/Test-13.0.0.photoslibrary/database/search/psi.sqlite new file mode 100644 index 00000000..3e13f523 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/search/psi.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/database/search/psi.sqlite-shm b/tests/Test-13.0.0.photoslibrary/database/search/psi.sqlite-shm new file mode 100644 index 00000000..f637d347 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/search/psi.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/database/search/psi.sqlite-wal b/tests/Test-13.0.0.photoslibrary/database/search/psi.sqlite-wal new file mode 100644 index 00000000..4b69d4b1 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/search/psi.sqlite-wal differ diff --git a/tests/Test-13.0.0.photoslibrary/database/search/searchMetadata.plist b/tests/Test-13.0.0.photoslibrary/database/search/searchMetadata.plist new file mode 100644 index 00000000..5f9011c0 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/database/search/searchMetadata.plist @@ -0,0 +1,19 @@ + + + + + BlacklistedMeaningsByMeaning + + SceneWhitelist + + Art + Flower + Food + Jewelry + Lake + Shore + Sport + Vehicle + + + diff --git a/tests/Test-13.0.0.photoslibrary/database/search/searchProgress.plist b/tests/Test-13.0.0.photoslibrary/database/search/searchProgress.plist new file mode 100644 index 00000000..d243cc99 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/database/search/searchProgress.plist @@ -0,0 +1,28 @@ + + + + + insertAlbum + + insertAsset + + insertHighlight + + insertMemory + + insertMoment + + removeAlbum + + removeAsset + + removeHighlight + + removeMemory + + removeMoment + + renamePerson + + + diff --git a/tests/Test-13.0.0.photoslibrary/database/search/searchSystemInfo.plist b/tests/Test-13.0.0.photoslibrary/database/search/searchSystemInfo.plist new file mode 100644 index 00000000..1f72c67e --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/database/search/searchSystemInfo.plist @@ -0,0 +1,18 @@ + + + + + embeddingVersion + 1 + featureFlags + 319 + featuredContentAllowed + 1 + localeIdentifier + en_US + sceneTaxonomySHA + 64d078bafc0035e1ec26dfa565c2ac0479fcbab329fda1c16cd17e0fdbf2f4c0,4afa5d3c45c08a664cf73cff957aaeeae3a325d2970aada51268407b9ad0f03e + searchIndexVersion + 16025 + + diff --git a/tests/Test-13.0.0.photoslibrary/database/search/synonymsProcess.plist b/tests/Test-13.0.0.photoslibrary/database/search/synonymsProcess.plist new file mode 100644 index 00000000..f660dee3 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/search/synonymsProcess.plist differ diff --git a/tests/Test-13.0.0.photoslibrary/database/search/zeroKeywords.data b/tests/Test-13.0.0.photoslibrary/database/search/zeroKeywords.data new file mode 100644 index 00000000..ea7c3a0c Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/database/search/zeroKeywords.data differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/1/1EB2B765-0765-43BA-A90C-0D0580E6172C.jpeg b/tests/Test-13.0.0.photoslibrary/originals/1/1EB2B765-0765-43BA-A90C-0D0580E6172C.jpeg new file mode 100644 index 00000000..136dfe8d Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/1/1EB2B765-0765-43BA-A90C-0D0580E6172C.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/3/3DD2C897-F19E-4CA6-8C22-B027D5A71907.jpeg b/tests/Test-13.0.0.photoslibrary/originals/3/3DD2C897-F19E-4CA6-8C22-B027D5A71907.jpeg new file mode 100644 index 00000000..ca03f665 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/3/3DD2C897-F19E-4CA6-8C22-B027D5A71907.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/4/4D521201-92AC-43E5-8F7C-59BC41C37A96.jpeg b/tests/Test-13.0.0.photoslibrary/originals/4/4D521201-92AC-43E5-8F7C-59BC41C37A96.jpeg new file mode 100755 index 00000000..143e9532 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/4/4D521201-92AC-43E5-8F7C-59BC41C37A96.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_4.cr2 b/tests/Test-13.0.0.photoslibrary/originals/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_4.cr2 new file mode 100755 index 00000000..f2adc62f Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_4.cr2 differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4.jpeg b/tests/Test-13.0.0.photoslibrary/originals/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4.jpeg new file mode 100644 index 00000000..31eb2ab3 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/6/6FD38366-3BF2-407D-81FE-7153EB6125B6.jpeg b/tests/Test-13.0.0.photoslibrary/originals/6/6FD38366-3BF2-407D-81FE-7153EB6125B6.jpeg new file mode 100644 index 00000000..88caa537 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/6/6FD38366-3BF2-407D-81FE-7153EB6125B6.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/7/71E3E212-00EB-430D-8A63-5E294B268554.jpeg b/tests/Test-13.0.0.photoslibrary/originals/7/71E3E212-00EB-430D-8A63-5E294B268554.jpeg new file mode 100644 index 00000000..829a2345 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/7/71E3E212-00EB-430D-8A63-5E294B268554.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266.heic b/tests/Test-13.0.0.photoslibrary/originals/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266.heic new file mode 100644 index 00000000..8f103814 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266.heic differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/8/8846E3E6-8AC8-4857-8448-E3D025784410.tiff b/tests/Test-13.0.0.photoslibrary/originals/8/8846E3E6-8AC8-4857-8448-E3D025784410.tiff new file mode 100644 index 00000000..69654411 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/8/8846E3E6-8AC8-4857-8448-E3D025784410.tiff differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91.jpeg b/tests/Test-13.0.0.photoslibrary/originals/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91.jpeg new file mode 100755 index 00000000..c1872812 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91_4.cr2 b/tests/Test-13.0.0.photoslibrary/originals/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91_4.cr2 new file mode 100755 index 00000000..6cd12fb4 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91_4.cr2 differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068.dng b/tests/Test-13.0.0.photoslibrary/originals/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068.dng new file mode 100755 index 00000000..1f96242c Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068.dng differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/D/D79B8D77-BFFC-460B-9312-034F2877D35B.jpeg b/tests/Test-13.0.0.photoslibrary/originals/D/D79B8D77-BFFC-460B-9312-034F2877D35B.jpeg new file mode 100644 index 00000000..f23a024a Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/D/D79B8D77-BFFC-460B-9312-034F2877D35B.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/D/DC99FBDD-7A52-4100-A5BB-344131646C30.jpeg b/tests/Test-13.0.0.photoslibrary/originals/D/DC99FBDD-7A52-4100-A5BB-344131646C30.jpeg new file mode 100644 index 00000000..e5a6b0bd Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/D/DC99FBDD-7A52-4100-A5BB-344131646C30.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51.jpeg b/tests/Test-13.0.0.photoslibrary/originals/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51.jpeg new file mode 100644 index 00000000..ad8137e3 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/originals/F/F12384F6-CD17-4151-ACBA-AE0E3688539E.jpeg b/tests/Test-13.0.0.photoslibrary/originals/F/F12384F6-CD17-4151-ACBA-AE0E3688539E.jpeg new file mode 100644 index 00000000..b1615930 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/originals/F/F12384F6-CD17-4151-ACBA-AE0E3688539E.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/private/.metadata_never_index b/tests/Test-13.0.0.photoslibrary/private/.metadata_never_index new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.Photos.Migration/appPrivateData.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.Photos.Migration/appPrivateData.plist new file mode 100644 index 00000000..651ed0ad --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.Photos.Migration/appPrivateData.plist @@ -0,0 +1,26 @@ + + + + + MigrationService + + State + 4 + + MigrationService.LastCompletedTask + 12 + MigrationService.ValidationCounts + + MigrationDetectedFaceprint + 6 + MigrationManagedAsset + 0 + MigrationSceneClassification + 44 + MigrationUnmanagedAdjustment + 0 + RDVersion.cloudLocalState.CPLIsNotPushed + 7 + + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.Photos/appPrivateData.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.Photos/appPrivateData.plist new file mode 100644 index 00000000..85aa3811 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.Photos/appPrivateData.plist @@ -0,0 +1,58 @@ + + + + + CollapsedSidebarSectionIdentifiers + + ExpandedSidebarItemIdentifiers + + 92D68107-B6C7-453B-96D2-97B0F26D5B8B/L0/020 + 88A5F8B8-5B9A-43C7-BB85-3952B81580EB/L0/020 + 29EF7A97-7E76-4D5F-A5E0-CC0A93E8524C/L0/020 + 2C2AF115-BD1D-4434-A747-D1C8BD8E2045/L0/020 + CB051A4C-2CB7-4B90-B59B-08CC4D0C2823/L0/020 + + IPXWorkspaceControllerZoomLevelsKey + + kZoomLevelIdentifierPhotosGrid + 1 + + Photos + + CollapsedSidebarSectionIdentifiers + + ExpandedSidebarItemIdentifiers + + TopLevelAlbums + TopLevelSlideshows + + IPXWorkspaceControllerZoomLevelsKey + + kZoomLevelIdentifierAlbums + 7 + kZoomLevelIdentifierVersions + 7 + + lastAddToDestination + + key + 1 + lastKnownDisplayName + September 28, 2018 + type + album + uuid + DFFKmHt3Tk+AGzZLe2Xq+g + + lastKnownItemCounts + + other + 0 + photos + 7 + videos + 0 + + + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db new file mode 100644 index 00000000..1261ded5 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm new file mode 100644 index 00000000..aba95f37 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-wal new file mode 100644 index 00000000..c8ea010e Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/MediaAnalysis/mediaanalysis.db-wal differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/7B6C018B-59FD-44F0-96B7-E3C10BAB8EC7.cmap b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/7B6C018B-59FD-44F0-96B7-E3C10BAB8EC7.cmap new file mode 100644 index 00000000..739f0a82 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/7B6C018B-59FD-44F0-96B7-E3C10BAB8EC7.cmap differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/AlgoFaceClusterCache.data b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/AlgoFaceClusterCache.data new file mode 100644 index 00000000..d76b9c9d Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/AlgoFaceClusterCache.data differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/CE532FCE-EFBA-4139-A85A-880B1C67ABAF.cmap b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/CE532FCE-EFBA-4139-A85A-880B1C67ABAF.cmap new file mode 100644 index 00000000..d49c947f Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/CE532FCE-EFBA-4139-A85A-880B1C67ABAF.cmap differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/PersonPromoter b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/PersonPromoter new file mode 100644 index 00000000..e569f1fd --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/PersonPromoter @@ -0,0 +1,14 @@ + + + + + NumberOfFacesProcessedOnLastRun + 12 + ProcessedInQuiescentState + + SuggestedMeIdentifier + + Version + 13 + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist new file mode 100644 index 00000000..b5ef8337 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist @@ -0,0 +1,10 @@ + + + + + FaceIDModelLastGenerationKey + 2022-11-12T21:51:03Z + PetIDModelLastGenerationKey + 2022-11-12T21:51:03Z + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/clustererState.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/clustererState.plist new file mode 100644 index 00000000..f9a83697 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/clustererState.plist @@ -0,0 +1,8 @@ + + + + + VCPClustererBringUpState + 40 + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/faceWorkerState.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/faceWorkerState.plist new file mode 100644 index 00000000..92c2f00d --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/faceWorkerState.plist @@ -0,0 +1,10 @@ + + + + + PersonBuilderLastMinimumFaceGroupSizeForCreatingMergeCandidates + 15 + PersonBuilderMergeCandidatesEnabled + + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/mediaAnalysisVersionState.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/mediaAnalysisVersionState.plist new file mode 100644 index 00000000..bccaa03d --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/mediaAnalysisVersionState.plist @@ -0,0 +1,8 @@ + + + + + FaceProcessingInternalVersion + 11 + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/vnpersonsmodel.bin b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/vnpersonsmodel.bin new file mode 100644 index 00000000..cfe114f4 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/vnpersonsmodel.bin differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/vnpetsmodel.bin b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/vnpetsmodel.bin new file mode 100644 index 00000000..3eb27d95 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.mediaanalysisd/caches/vision/vnpetsmodel.bin differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite new file mode 100644 index 00000000..52f449c8 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-shm new file mode 100644 index 00000000..47bf77d7 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.AOI.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite new file mode 100644 index 00000000..1e3878b8 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-shm new file mode 100644 index 00000000..282e171a Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.Nature.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite new file mode 100644 index 00000000..91a64686 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm new file mode 100644 index 00000000..fa07251d Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.POI.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite new file mode 100644 index 00000000..a804bc09 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-shm new file mode 100644 index 00000000..b0a49a7f Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSBusinessCategoryCache.ROI.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite new file mode 100644 index 00000000..d66ed5de Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm new file mode 100644 index 00000000..681449ef Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSContactCache.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite new file mode 100644 index 00000000..031d074d Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm new file mode 100644 index 00000000..b2b1d9b1 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSLocationCache.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite new file mode 100644 index 00000000..49248440 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/CLSPublicEventCache.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite new file mode 100644 index 00000000..d81b267b Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm new file mode 100644 index 00000000..54b70fb6 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGCurationCache.sqlite.sqlite-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist new file mode 100644 index 00000000..b5885dc4 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSearchComputationCache.plist differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSharingFeatureExtractorRecords.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSharingFeatureExtractorRecords.plist new file mode 100644 index 00000000..0de953ba Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PGSharingFeatureExtractorRecords.plist differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServiceFeaturesAnalytics.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServiceFeaturesAnalytics.plist new file mode 100644 index 00000000..bb438fb2 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServiceFeaturesAnalytics.plist @@ -0,0 +1,916 @@ + + + + + firstSeenDates + + com.apple.photos.CPAnalytics.addAssetsToLibrary + 11/12/22 + com.apple.photos.CPAnalytics.appleMusicPreparationFailed + 11/12/22 + com.apple.photos.CPAnalytics.appleMusicPreparationSucceeded + 11/12/22 + com.apple.photos.CPAnalytics.appleMusicPreparedToPlay + 11/12/22 + com.apple.photos.CPAnalytics.appleMusicSongDownloaded + 11/12/22 + com.apple.photos.CPAnalytics.assetCollectionBlocked + 11/12/22 + com.apple.photos.CPAnalytics.assetCollectionDeleted + 11/12/22 + com.apple.photos.CPAnalytics.assetCollectionFavorited + 11/12/22 + com.apple.photos.CPAnalytics.assetCollectionMoviePlayed + 11/12/22 + com.apple.photos.CPAnalytics.assetCollectionUnfavorited + 11/12/22 + com.apple.photos.CPAnalytics.assetCollectionViewed + 11/12/22 + com.apple.photos.CPAnalytics.assetExportItemPreparationCompleted + 11/12/22 + com.apple.photos.CPAnalytics.assetExportPreparationCanceled + 11/12/22 + com.apple.photos.CPAnalytics.assetExportPreparationCompleted + 11/12/22 + com.apple.photos.CPAnalytics.assetExportPreparationFailed + 11/12/22 + com.apple.photos.CPAnalytics.assetFavorited + 11/12/22 + com.apple.photos.CPAnalytics.assetSharedStandardSelectionSize + 11/12/22 + com.apple.photos.CPAnalytics.assetUnfavorited + 11/12/22 + com.apple.photos.CPAnalytics.assetViewed + 11/12/22 + com.apple.photos.CPAnalytics.assetsDeleted + 11/12/22 + com.apple.photos.CPAnalytics.assetsDeletedFromTrash + 11/12/22 + com.apple.photos.CPAnalytics.assetsRestored + 11/12/22 + com.apple.photos.CPAnalytics.cmmAddAssetToLibrary + 11/12/22 + com.apple.photos.CPAnalytics.cmmPublishFromDetailViewMenuAction + 11/12/22 + com.apple.photos.CPAnalytics.cmmPublishFromForYouSendBackSuggestions + 11/12/22 + com.apple.photos.CPAnalytics.cmmPublishFromForYouSuggestion + 11/12/22 + com.apple.photos.CPAnalytics.cmmPublishFromMessagesSuggestion + 11/12/22 + com.apple.photos.CPAnalytics.cmmPublishFromShareSheet + 11/12/22 + com.apple.photos.CPAnalytics.cmmPublishFromUnknown + 11/12/22 + com.apple.photos.CPAnalytics.cmmReceivedSharesOpened + 11/12/22 + com.apple.photos.CPAnalytics.cmmReceivedSharesSeen + 11/12/22 + com.apple.photos.CPAnalytics.cmmSentSharesOpened + 11/12/22 + com.apple.photos.CPAnalytics.cmmSentSharesSeen + 11/12/22 + com.apple.photos.CPAnalytics.cmmShareBackOpened + 11/12/22 + com.apple.photos.CPAnalytics.cmmShareBackPresentable + 11/12/22 + com.apple.photos.CPAnalytics.cmmShareBackShown + 11/12/22 + com.apple.photos.CPAnalytics.cmmSuggestionComposeFlowOpened + 11/12/22 + com.apple.photos.CPAnalytics.cmmSuggestionOpened + 11/12/22 + com.apple.photos.CPAnalytics.cmmSuggestionSeen + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationEventFailed + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationEventOneUpSelect + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationEventSkip + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationFromAlbumSection + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationFromAlbumSelection + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationFromOneUpMergeAll + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationFromOneUpSelection + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationFromUnspecified + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationMerge1 + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationMerge11+ + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationMerge2 + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationMerge3-5 + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationMerge6-10 + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationMergeAll + 11/12/22 + com.apple.photos.CPAnalytics.deduplicationSkipPerceptualMerge + 11/12/22 + com.apple.photos.CPAnalytics.filterAllItemsSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterDuplicatesSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterEditedSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterFavoritedSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterHeaderSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterIncludeSharedWithYouSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterKeywordHeaderSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterKeywordManagerSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterKeywordsSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterPhotosSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterSavedItemsOnlySelected + 11/12/22 + com.apple.photos.CPAnalytics.filterSharedLibraryAllDisplayed + 11/12/22 + com.apple.photos.CPAnalytics.filterSharedLibraryAllSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterSharedLibraryDismissed + 11/12/22 + com.apple.photos.CPAnalytics.filterSharedLibraryMineDisplayed + 11/12/22 + com.apple.photos.CPAnalytics.filterSharedLibraryMineSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterSharedLibraryPresented + 11/12/22 + com.apple.photos.CPAnalytics.filterSharedLibrarySharedDisplayed + 11/12/22 + com.apple.photos.CPAnalytics.filterSharedLibrarySharedSelected + 11/12/22 + com.apple.photos.CPAnalytics.filterUnsavedItemsOnlySelected + 11/12/22 + com.apple.photos.CPAnalytics.filterVideosSelected + 11/12/22 + com.apple.photos.CPAnalytics.firstTimeExperienceNotReady + 11/12/22 + com.apple.photos.CPAnalytics.firstTimeExperienceReady + 11/12/22 + com.apple.photos.CPAnalytics.flexMusicDownloadRequiredAtPlaybackTime + 11/12/22 + com.apple.photos.CPAnalytics.flexMusicSongArtworkDownloaded + 11/12/22 + com.apple.photos.CPAnalytics.flexMusicSongAudioDownloaded + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelected + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeCMMPublishedShare + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeCMMReceivedShare + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeSharedAlbumAccept + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeSharedAlbumCoalescedWithComments + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeSharedAlbumCoalescedWithCommentsAndLikes + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeSharedAlbumComment + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeSharedAlbumDecline + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeSharedAlbumInvitation + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeSharedAlbumLike + 11/12/22 + com.apple.photos.CPAnalytics.forYouInboxItemSelectedWithTypeSharedAlbumPost + 11/12/22 + com.apple.photos.CPAnalytics.forYouTabOpenedFromInAppUserNavigation + 11/12/22 + com.apple.photos.CPAnalytics.forYouTabOpenedFromNotification + 11/12/22 + com.apple.photos.CPAnalytics.forYouTabOpenedFromOtherURL + 11/12/22 + com.apple.photos.CPAnalytics.forYouTabOpenedFromStateRestoration + 11/12/22 + com.apple.photos.CPAnalytics.forYouTabOpenedFromUndefined + 11/12/22 + com.apple.photos.CPAnalytics.forYouTabOpenedFromWidget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeAlbumGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeAlbumListGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeCMMInviteGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeCMMSuggestionGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeCPLCMMSuggestionGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeContentSyndication + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeDebugGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeFooterGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeInboxGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeListViewGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeMemoryRowGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeNoContentGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeRecentPhotosGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeRecentSearchesGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeSearchZeroKeywordGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeSettingsAdvisory + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeSharedAlbumActivityGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeSharedAlbumGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeSharedAlbumInviteGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeSuggestedEditGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeSuggestionGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeSurveyCongratulations + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeSurveyQuestionGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetSeenWithTypeTapToRadarGadget + 11/12/22 + com.apple.photos.CPAnalytics.gadgetWithTypeMemoryRowGadgetSelectedAccessoryButtonWithTypeSeeAll + 11/12/22 + com.apple.photos.CPAnalytics.gadgetWithTypeSharedAlbumGadgetSelectedAccessoryButtonWithTypeSeeAll + 11/12/22 + com.apple.photos.CPAnalytics.infoPanelAddLocationTapped + 11/12/22 + com.apple.photos.CPAnalytics.infoPanelAdjustLocationTapped + 11/12/22 + com.apple.photos.CPAnalytics.infoPanelLocationTapped + 11/12/22 + com.apple.photos.CPAnalytics.mapViewAdjustLocationTapped + 11/12/22 + com.apple.photos.CPAnalytics.mediaViewed + 11/12/22 + com.apple.photos.CPAnalytics.memoryCreatedViaAddToMemories + 11/12/22 + com.apple.photos.CPAnalytics.memoryNotificationResponded + 11/12/22 + com.apple.photos.CPAnalytics.memoryNotificationSeen + 11/12/22 + com.apple.photos.CPAnalytics.navigateToFailedToUploadItemsAlbumFailed + 11/12/22 + com.apple.photos.CPAnalytics.navigateToFailedToUploadItemsAlbumSucceeded + 11/12/22 + com.apple.photos.CPAnalytics.navigatedToSharedAlbumActivityViewFromCollageView + 11/12/22 + com.apple.photos.CPAnalytics.navigatedToSharedAlbumActivityViewFromRecentActivityEntry + 11/12/22 + com.apple.photos.CPAnalytics.navigatedToSharedAlbumActivityViewFromSeeAllButton + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.favorites + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.hidden + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.imports + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.animated + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.bursts + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.cinematicVideos + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.depthEffect + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.livePhotos + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.longExposures + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.panoramas + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.proRes + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.raw + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.screenrecordings + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.screenshots + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.selfPortraits + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.slomoVideos + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.timelapses + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.mediaTypes.videos + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.people + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.places + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.recentlyedited + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.recentlysaved + 11/12/22 + com.apple.photos.CPAnalytics.navigationList.trashBin + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExited + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith1-10Characters + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith101+Characters + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith11+Hashtags + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith11-20Characters + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith1Hashtags + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith21-30Characters + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith2Hashtags + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith31-50Characters + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith3Hashtags + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith4-5Hashtags + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith51-100Characters + 11/12/22 + com.apple.photos.CPAnalytics.oneUpCaptionEditExitedWith6-10Hashtags + 11/12/22 + com.apple.photos.CPAnalytics.oneUpLivePhotoEffectApplied + 11/12/22 + com.apple.photos.CPAnalytics.people.addToPeopleHome + 11/12/22 + com.apple.photos.CPAnalytics.people.bootstrap.inlineControl.dismiss + 11/12/22 + com.apple.photos.CPAnalytics.people.bootstrap.inlineControl.review + 11/12/22 + com.apple.photos.CPAnalytics.people.bootstrap.mergeCandidates.confirmedAndRejectedCounts + 11/12/22 + com.apple.photos.CPAnalytics.people.bootstrap.speedbump.advance + 11/12/22 + com.apple.photos.CPAnalytics.people.bootstrap.speedbump.cancel + 11/12/22 + com.apple.photos.CPAnalytics.people.confirmAdditional.mergeCandidates.confirmedAndRejectedCounts + 11/12/22 + com.apple.photos.CPAnalytics.people.confirmAdditional.personSuggestions.confirmedAndRejectedCounts + 11/12/22 + com.apple.photos.CPAnalytics.people.detailView.keyPhotoChanged + 11/12/22 + com.apple.photos.CPAnalytics.people.detailView.notThisPerson + 11/12/22 + com.apple.photos.CPAnalytics.people.detailView.showFaces + 11/12/22 + com.apple.photos.CPAnalytics.people.manageTags.commitTapped + 11/12/22 + com.apple.photos.CPAnalytics.people.me.confirmed + 11/12/22 + com.apple.photos.CPAnalytics.people.me.rejected + 11/12/22 + com.apple.photos.CPAnalytics.people.naming.contactChosen + 11/12/22 + com.apple.photos.CPAnalytics.people.naming.personChosen + 11/12/22 + com.apple.photos.CPAnalytics.people.naming.skipped + 11/12/22 + com.apple.photos.CPAnalytics.people.naming.stringChosen + 11/12/22 + com.apple.photos.CPAnalytics.people.removeFromPeopleHome + 11/12/22 + com.apple.photos.CPAnalytics.people.untag.cancelTapped + 11/12/22 + com.apple.photos.CPAnalytics.people.untag.newTagTapped + 11/12/22 + com.apple.photos.CPAnalytics.people.untag.untagTapped + 11/12/22 + com.apple.photos.CPAnalytics.photosCloudQuotaOfferAdded + 11/12/22 + com.apple.photos.CPAnalytics.photosCloudQuotaOfferRemoved + 11/12/22 + com.apple.photos.CPAnalytics.photosCloudQuotaOfferReplaced + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsAllAssetsCounted + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth1 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth10 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth11-12 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth13-15 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth16-20 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth2 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth21-30 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth3 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth31-50 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth4 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth5 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth51+ + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth6 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth7 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth8 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsNavigatedToDepth9 + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsShowMoreButtonSelected + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsSummaryAssetsCounted + 11/12/22 + com.apple.photos.CPAnalytics.photosDetailsSummaryButtonSelected + 11/12/22 + com.apple.photos.CPAnalytics.places.locationAction + 11/12/22 + com.apple.photos.CPAnalytics.rendering.livePhotoEffectFailed + 11/12/22 + com.apple.photos.CPAnalytics.rendering.livePhotoEffectPreviewRenderingDuration + 11/12/22 + com.apple.photos.CPAnalytics.search.session + 11/12/22 + com.apple.photos.CPAnalytics.search.siri + 11/12/22 + com.apple.photos.CPAnalytics.selectModeEntered + 11/12/22 + com.apple.photos.CPAnalytics.shareCanceled + 11/12/22 + com.apple.photos.CPAnalytics.shareCompleted + 11/12/22 + com.apple.photos.CPAnalytics.shareFailed + 11/12/22 + com.apple.photos.CPAnalytics.sharedAlbumInvitationAccepted + 11/12/22 + com.apple.photos.CPAnalytics.sharedAlbumInvitationDeclined + 11/12/22 + com.apple.photos.CPAnalytics.sharedAlbumInvitationReportedAsJunk + 11/12/22 + com.apple.photos.CPAnalytics.sharedAlbumsActivityFeedPostLiked + 11/12/22 + com.apple.photos.CPAnalytics.sharedAlbumsActivityFeedPostUnliked + 11/12/22 + com.apple.photos.CPAnalytics.sharedLibrary.suggestionsBanner.dismissed + 11/12/22 + com.apple.photos.CPAnalytics.sharedLibrary.suggestionsBanner.presented + 11/12/22 + com.apple.photos.CPAnalytics.sharedLibrary.suggestionsBanner.reviewed + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportCancelledAfter10.0-60.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportCancelledAfter2.0-10.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportCancelledAfter<2.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportCancelledAfter>60.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter0.0-1.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter1.0-2.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter10.0-20.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter120.0-300.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter2.0-5.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter20.0-60.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter300.0-600.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter5.0-10.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter60.0-120.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter600.0-3600.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter<0.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportEndedSuccessfullyAfter>3600.0Seconds + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportFailed + 11/12/22 + com.apple.photos.CPAnalytics.slideshowExportStarted + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.0-0.1 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.1-0.2 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.2-0.2 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.3-0.4 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.4-0.5 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.5-0.6 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.6-0.7 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.7-0.8 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.8-0.9 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction0.9-1.0 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction1.0-1.5 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction1.5-2.0 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction2.0-3.0 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction3.0-5.0 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction<0.0 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedAfterTimeFraction>5.0 + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedByEndReached + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedByUndefined + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackEndedByUser + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStarted + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith0-Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith1-5Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith1001+Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith101-200Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith11-15Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith16-20Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith201-300Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith21-30Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith301-500Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith31-50Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith501-1000Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith51-100Assets + 11/12/22 + com.apple.photos.CPAnalytics.slideshowPlaybackStartedWith6-10Assets + 11/12/22 + com.apple.photos.CPAnalytics.syndicatedAssetsFilterTipAnchorButtonTapped + 11/12/22 + com.apple.photos.CPAnalytics.syndicatedAssetsFilterTipDismissed + 11/12/22 + com.apple.photos.CPAnalytics.syndicatedAssetsFilterTipPresented + 11/12/22 + com.apple.photos.CPAnalytics.syndicatedAssetsSaved + 11/12/22 + com.apple.photos.CPAnalytics.syndicationSuggestionRemoved + 11/12/22 + com.apple.photos.CPAnalytics.tabIdentifierChanged + 11/12/22 + com.apple.photos.CPAnalytics.toggleMineAndSharedSelected + 11/12/22 + com.apple.photos.CPAnalytics.toggleMyPhotosOnlySelected + 11/12/22 + com.apple.photos.CPAnalytics.userChoices.livePhotoEffectBounceSelected + 11/12/22 + com.apple.photos.CPAnalytics.userChoices.livePhotoEffectLongExposureSelected + 11/12/22 + com.apple.photos.CPAnalytics.userChoices.livePhotoEffectLoopSelected + 11/12/22 + com.apple.photos.CPAnalytics.userChoices.livePhotoEffectsAppeared + 11/12/22 + com.apple.photos.CPAnalytics.viewScrolledToBottom + 11/12/22 + com.apple.photos.CPAnalytics.viewScrolledToInitialPosition + 11/12/22 + com.apple.photos.CPAnalytics.widget.open + 11/12/22 + com.apple.photos.cpa.active_user_feature.actionOnSharedLibrarySuggestions + 11/12/22 + com.apple.photos.cpa.active_user_feature.interactiveMemoryExport + 11/12/22 + com.apple.photos.cpa.active_user_feature.interactiveMemoryPlayback + 11/12/22 + com.apple.photos.cpa.active_user_feature.memoryMoviePlayed + 11/12/22 + com.apple.photos.cpa.active_user_feature.memoryViewed + 11/12/22 + com.apple.photos.cpa.active_user_feature.mobileSlideShowActive + 11/12/22 + com.apple.photos.cpa.active_user_feature.slideshowExported + 11/12/22 + com.apple.photos.cpa.active_user_feature.slideshowPlayed + 11/12/22 + com.apple.photos.edit.perf.exitedit + 11/12/22 + com.apple.photos.memory.appleMusicFixation + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurred + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInAdditionalAutoEditDecisionLists + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInAssetsPreloading + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInAutoEditClip + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInAutoEditDecisionLists + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInAutoEditTransitionInfo + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInColorNormalization + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInCuratedSongs + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInInitialStyle + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInMovieHighlights + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInMusicPlayback + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInPersistableRecipe + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInPersistence + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInRecipePersistence + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInStoryModel + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInStyleManager + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInStyles + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInTargetDurationCuration + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInTimelineManager + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInTimelineValidation + 11/12/22 + com.apple.photos.memory.interactiveMemoryErrorOccurredInTransitions + 11/12/22 + com.apple.photos.memory.interactiveMemoryExportCancelled + 11/12/22 + com.apple.photos.memory.interactiveMemoryExportFailed + 11/12/22 + com.apple.photos.memory.interactiveMemoryExported + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStarted + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedByAutoplayedRelated + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedByUserSelectingRelated + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith1-10CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith10001-20000CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith1001-2000CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith101-200CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith11-50CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith20000+CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith2001-5000CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith201-300CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith301-500CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith5001-10000CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith501-1000CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryFullscreenPlaybackStartedWith51-100CuratedAssets + 11/12/22 + com.apple.photos.memory.interactiveMemoryMusicFellBackToLocalFlexSong + 11/12/22 + com.apple.photos.memory.interactiveMemoryMusicUsedFlexMusic + 11/12/22 + com.apple.photos.memory.interactiveMemoryMusicUseedAppleMusic + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedMuted + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedTruncated + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedUnmuted + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedWith0Pauses + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedWith1-2Pauses + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedWith101+Pauses + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedWith11-50Pauses + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedWith3-5Pauses + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedWith51-100Pauses + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackFinishedWith6-10Pauses + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackMutedDueToExplicitUserAction + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackMutedDueToSilentModeSwitch + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackUnmutedDueToExplicitUserAction + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackUnmutedDueToSilentModeSwitch + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackUnmutedDueToSongPick + 11/12/22 + com.apple.photos.memory.interactiveMemoryPlaybackUnmutedDueToVolumeIncrease + 11/12/22 + com.apple.photos.memory.interactiveMemoryRecipeErrorOccurred + 11/12/22 + com.apple.photos.memory.interactiveMemorySessionBegan + 11/12/22 + com.apple.photos.memory.interactiveMemorySessionEnded + 11/12/22 + com.apple.photos.memory.interactiveMemorySessionPaused + 11/12/22 + com.apple.photos.memory.interactiveMemorySessionPlayed + 11/12/22 + com.apple.photos.memory.interactiveMemoryTimelinePlayedWith0-49PercentTransitionsOnBar + 11/12/22 + com.apple.photos.memory.interactiveMemoryTimelinePlayedWith50-74PercentTransitionsOnBar + 11/12/22 + com.apple.photos.memory.interactiveMemoryTimelinePlayedWith75-84PercentTransitionsOnBar + 11/12/22 + com.apple.photos.memory.interactiveMemoryTimelinePlayedWith85-94PercentTransitionsOnBar + 11/12/22 + com.apple.photos.memory.interactiveMemoryTimelinePlayedWith95-100PercentTransitionsOnBar + 11/12/22 + com.apple.photos.memory.playbackLaunchPerformance + 11/12/22 + com.apple.photos.memory.playbackReliability + 11/12/22 + screen_CuratedLibrary_AllPhotos + 11/12/22 + screen_CuratedLibrary_Days + 11/12/22 + screen_CuratedLibrary_Months + 11/12/22 + screen_CuratedLibrary_Years + 11/12/22 + screen_DuplicatesAlbum + 11/12/22 + screen_FavoriteMemories + 11/12/22 + screen_IPXFeedViewController + 11/12/22 + screen_InteractiveMemory + 11/12/22 + screen_InteractiveMemoryBrowserGrid + 11/12/22 + screen_InteractiveMemoryStyleSwitcher + 11/12/22 + screen_MFMailComposeViewController + 11/12/22 + screen_MFMessageComposeViewController + 11/12/22 + screen_Memories + 11/12/22 + screen_MemoriesFeed + 11/12/22 + screen_MemoriesWidget + 11/12/22 + screen_ObjectManipulationViewController + 11/12/22 + screen_PMEditorNavigationController + 11/12/22 + screen_PMiOSMainViewController + 11/12/22 + screen_PXAssistantController + 11/12/22 + screen_PXCMMAssetsViewController + 11/12/22 + screen_PXEducationalTipViewController + 11/12/22 + screen_PXFeedViewController + 11/12/22 + screen_PXFeedbackTapToRadarViewController + 11/12/22 + screen_PXFloatingCardViewController + 11/12/22 + screen_PXForYouGadgetViewController + 11/12/22 + screen_PXPeopleBootstrapConfirmationViewController + 11/12/22 + screen_PXPeopleBootstrapSummaryViewController + 11/12/22 + screen_PXPeopleCollectionViewController + 11/12/22 + screen_PXPeopleConfirmationSummaryViewController + 11/12/22 + screen_PXPeopleDetailViewController + 11/12/22 + screen_PXPeopleNamePickerViewController + 11/12/22 + screen_PXPeopleRecoCollectionViewController + 11/12/22 + screen_PXPlacesMapInfoViewController + 11/12/22 + screen_PXPlacesMapViewController + 11/12/22 + screen_PXSharedLibraryAssistantCameraViewController + 11/12/22 + screen_PXSharedLibraryAssistantHowToViewController + 11/12/22 + screen_PXSharedLibraryAssistantReviewParticipantsViewController + 11/12/22 + screen_PXSharedLibraryAssistantRulesViewController + 11/12/22 + screen_PXSharedLibraryAssistantSummaryViewController + 11/12/22 + screen_PXSurveyRadarReporterViewController + 11/12/22 + screen_PXUIPeopleBootstrapNamingViewController + 11/12/22 + screen_PhotosDetails_Collection + 11/12/22 + screen_PhotosDetails_CuratedLibraryDays + 11/12/22 + screen_PhotosDetails_CuratedLibraryMonths + 11/12/22 + screen_PhotosDetails_CuratedLibraryYears + 11/12/22 + screen_PhotosDetails_Memories + 11/12/22 + screen_PhotosDetails_Moment + 11/12/22 + screen_PhotosDetails_NonTracking + 11/12/22 + screen_PhotosDetails_OneUpAccessory + 11/12/22 + screen_PhotosDetails_OtherAlbums + 11/12/22 + screen_PhotosDetails_People + 11/12/22 + screen_PhotosDetails_Places + 11/12/22 + screen_PhotosDetails_RelatedWidget + 11/12/22 + screen_PhotosDetails_Search + 11/12/22 + screen_PhotosDetails_Year + 11/12/22 + screen_PhotosUIApps.PUXStoryColorGradeEditorViewController + 11/12/22 + screen_PhotosUIApps.PUXStoryExportActivityPreviewViewController + 11/12/22 + screen_PhotosUIApps.PUXStoryExportActivityViewController + 11/12/22 + screen_PhotosUIApps.PUXStoryMusicEditorViewController + 11/12/22 + screen_PhotosView + 11/12/22 + screen_SBSUIWallpaperPreviewViewController + 11/12/22 + screen_SLComposeViewController + 11/12/22 + screen_TPKContentPopoverViewController + 11/12/22 + screen_UIImagePickerController + 11/12/22 + screen__UIActivityUserDefaultsViewController + 11/12/22 + + lastSeenDates + + com.apple.photos.CPAnalytics.assetCollectionViewed + 11/12/22 + com.apple.photos.CPAnalytics.mediaViewed + 11/12/22 + com.apple.photos.CPAnalytics.search.session + 11/12/22 + screen_CuratedLibrary_AllPhotos + 11/12/22 + screen_PhotosView + 11/12/22 + + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist new file mode 100644 index 00000000..60f1cbb0 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotoAnalysisServicePreferences.plist @@ -0,0 +1,60 @@ + + + + + BackgroundHighlightCollection + 2020-06-24T04:02:13Z + BackgroundHighlightEnrichment + 2020-06-24T04:02:12Z + BackgroundJobAssetRevGeocode + 2020-06-24T04:02:13Z + BackgroundJobSearch + 2020-06-24T04:02:13Z + BackgroundPeopleSuggestion + 2020-06-24T04:02:12Z + BackgroundUserBehaviorProcessor + 2020-06-24T04:02:13Z + PHAAssetRevGeocodeEnrichmentTask + 2022-11-12T21:54:14Z + PHACachingCPAnalyticsPropertiesTask + 2022-11-12T21:54:15Z + PHAContactClassificationTask + 2022-11-12T21:54:24Z + PHAFeaturesUsageReportingTask + 2022-11-12T21:54:00Z + PHAForcedHighlightEnrichmentTask + 2022-11-12T21:54:25Z + PHAGraphConsistencyTask + 2022-11-12T21:54:08Z + PHAGraphRebuildTask + 2022-11-12T21:54:05Z + PHAHighlightCollectionEnrichmentTask + 2022-11-12T21:54:06Z + PHAHighlightEnrichmentTask + 2022-11-12T21:54:06Z + PHAMediaSampleReportingTask + 2022-11-12T21:54:15Z + PHAMemoriesEnrichmentTask + 2022-11-12T21:54:15Z + PHAMemoryElectionTask + 2022-11-12T21:54:13Z + PHAPeopleSuggestionEnrichmentTask + 2022-11-12T21:54:05Z + PHAPortraitDonationEnrichmentTask + 2022-11-12T21:54:15Z + PHASearchEnrichmentTask + 2022-11-12T21:54:15Z + PHASuggestionGenerationTask + 2022-11-12T21:54:14Z + PHAUserBehaviorEnrichmentTask + 2022-11-12T21:54:15Z + PhotoAnalysisGraphLastBackgroundGraphConsistencyUpdateJobDateKey + 2020-05-30T02:16:06Z + PhotoAnalysisGraphLastBackgroundGraphRebuildJobDate + 2020-05-29T04:31:37Z + PhotoAnalysisGraphLastBackgroundMemoryGenerationJobDate + 2020-06-24T04:02:13Z + SiriPortraitDonation + 2020-06-24T04:02:13Z + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb new file mode 100644 index 00000000..47e1e3a1 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/construction-photosgraph.kgdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb new file mode 100644 index 00000000..4ab71e6c Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/liveupdate-photosgraph.kgdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb new file mode 100644 index 00000000..47e1e3a1 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph-tmp.kgdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb new file mode 100644 index 00000000..fbc9ff44 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-shm new file mode 100644 index 00000000..fd95e397 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-wal new file mode 100644 index 00000000..46c88aae Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/PhotosGraph/photosgraph.kgdb-wal differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/changetoken.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/changetoken.plist new file mode 100644 index 00000000..7b397bf2 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/changetoken.plist differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/ftemetrics b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/ftemetrics new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/revgeoprovider.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/revgeoprovider.plist new file mode 100644 index 00000000..bf8f1e5d --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/graph/revgeoprovider.plist @@ -0,0 +1,8 @@ + + + + + revgeoprovider + 7618 + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/4E294112-DC9D-4B49-9561-1946B53A4E19.cmap b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/4E294112-DC9D-4B49-9561-1946B53A4E19.cmap new file mode 100644 index 00000000..cca93d7c Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/4E294112-DC9D-4B49-9561-1946B53A4E19.cmap differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/9A5E0437-04AA-45DC-AAA7-FDC74A91F170.cmap b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/9A5E0437-04AA-45DC-AAA7-FDC74A91F170.cmap new file mode 100644 index 00000000..40018f76 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/9A5E0437-04AA-45DC-AAA7-FDC74A91F170.cmap differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/AlgoFaceClusterCache.data b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/AlgoFaceClusterCache.data new file mode 100644 index 00000000..f16b4a76 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/AlgoFaceClusterCache.data differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PersonPromoter b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PersonPromoter new file mode 100644 index 00000000..5feb64f2 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PersonPromoter @@ -0,0 +1,14 @@ + + + + + NumberOfFacesProcessedOnLastRun + 7 + ProcessedInQuiescentState + + SuggestedMeIdentifier + + Version + 4 + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist new file mode 100644 index 00000000..bdd3d753 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/PhotoAnalysisServicePreferences.plist @@ -0,0 +1,10 @@ + + + + + FaceIDModelLastGenerationKey + 2020-05-29T03:44:04Z + LastContactClassificationKey + 2020-05-29T04:31:40Z + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/clustererState.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/clustererState.plist new file mode 100644 index 00000000..cb4560b6 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/clustererState.plist @@ -0,0 +1,8 @@ + + + + + PVClustererBringUpState + 50 + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist new file mode 100644 index 00000000..c36206de --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/faceWorkerState.plist @@ -0,0 +1,12 @@ + + + + + IncrementalPersonProcessingStage + 6 + PersonBuilderLastMinimumFaceGroupSizeForCreatingMergeCandidates + 15 + PersonBuilderMergeCandidatesEnabled + + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin new file mode 100644 index 00000000..211a83f7 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/caches/vision/vnpersonsmodel.bin differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotoAnalysisServicePreferences.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotoAnalysisServicePreferences.plist new file mode 100644 index 00000000..be5ca4c7 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotoAnalysisServicePreferences.plist @@ -0,0 +1,10 @@ + + + + + PhotoAnalysisGraphLastBackgroundGraphRebuildJobDate + 2019-08-07T02:26:15Z + PhotoAnalysisGraphLastBackgroundMemoryGenerationJobDate + 2019-08-17T14:26:34Z + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/construction-photosgraph.graphdb b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/construction-photosgraph.graphdb new file mode 100644 index 00000000..96fee1ce Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/construction-photosgraph.graphdb differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/construction-photosgraph.graphdb-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/construction-photosgraph.graphdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/construction-photosgraph.graphdb-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/construction-photosgraph.graphdb-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/construction-photosgraph.graphdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/liveupdate-photosgraph.graphdb b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/liveupdate-photosgraph.graphdb new file mode 100644 index 00000000..4d8a5dfb Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/liveupdate-photosgraph.graphdb differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/liveupdate-photosgraph.graphdb-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/liveupdate-photosgraph.graphdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/liveupdate-photosgraph.graphdb-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/liveupdate-photosgraph.graphdb-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/liveupdate-photosgraph.graphdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph-tmp.graphdb b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph-tmp.graphdb new file mode 100644 index 00000000..96fee1ce Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph-tmp.graphdb differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph-tmp.graphdb-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph-tmp.graphdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph-tmp.graphdb-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph-tmp.graphdb-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph-tmp.graphdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph.graphdb b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph.graphdb new file mode 100644 index 00000000..147ce400 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph.graphdb differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph.graphdb-shm b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph.graphdb-shm new file mode 100644 index 00000000..fe9ac284 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph.graphdb-shm differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph.graphdb-wal b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/graph/PhotosGraph/photosgraph.graphdb-wal new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/2E578BF2-718A-43E1-81BA-80AC61004DCF.cmap b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/2E578BF2-718A-43E1-81BA-80AC61004DCF.cmap new file mode 100644 index 00000000..4aaf1638 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/2E578BF2-718A-43E1-81BA-80AC61004DCF.cmap differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/AlgoFaceClusterCache.data b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/AlgoFaceClusterCache.data new file mode 100644 index 00000000..1f14d535 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/AlgoFaceClusterCache.data differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/C7589FFF-A378-4059-ABDC-19C4316A8B69.cmap b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/C7589FFF-A378-4059-ABDC-19C4316A8B69.cmap new file mode 100644 index 00000000..1d6b6446 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/C7589FFF-A378-4059-ABDC-19C4316A8B69.cmap differ diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/PersonPromoter b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/PersonPromoter new file mode 100644 index 00000000..4fdc85b4 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/PersonPromoter @@ -0,0 +1,12 @@ + + + + + ProcessedInQuiescentState + + SuggestedMeIdentifier + + Version + 3 + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/clustererState.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/clustererState.plist new file mode 100644 index 00000000..cb4560b6 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/clustererState.plist @@ -0,0 +1,8 @@ + + + + + PVClustererBringUpState + 50 + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/faceWorkerState.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/faceWorkerState.plist new file mode 100644 index 00000000..736db69d --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photoanalysisd/vision/faceWorkerState.plist @@ -0,0 +1,12 @@ + + + + + IncrementalPersonProcessingStage + 0 + PersonBuilderLastMinimumFaceGroupSizeForCreatingMergeCandidates + 15 + PersonBuilderMergeCandidatesEnabled + + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photolibraryd/appPrivateData.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photolibraryd/appPrivateData.plist new file mode 100644 index 00000000..544e5190 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photolibraryd/appPrivateData.plist @@ -0,0 +1,139 @@ + + + + + MigrationAction + + Background + + PLModelMigrationAction_AddMissingExtendedAttributeDateTimezone + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_AddMissingExtendedAttributeDigitalZoomRatio + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_AddMissingExtendedAttributeFocalLengthIn35mm + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_AddMissingExtendedAttributeLocation + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_CinematicVideoPopulateDepthType + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_FixExtendedAttributeDateCreated + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_PopulateExtendedAttributes + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_RemoveOrphanedMediaAnalysisAttributes + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_RemoveOrphanedSceneprint + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_RevalidateFaceAreaPoints + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + PLModelMigrationAction_updateACVideos + + PLBackgroundMigrationStartDate + 2022-11-12T21:33:04Z + PLBackgroundMigrationStatus + 2 + PLBackgroundMigrationStatusAttempts + 1 + PLBackgroundMigrationStatusDate + 2022-11-12T21:33:04Z + + + ResumeMaker + + + PLDeferredCriticalMaintenanceTask + 2022-11-12T21:34:06Z + PLLibraryServicesManager.LocaleIdentifier + en_US + + diff --git a/tests/Test-13.0.0.photoslibrary/private/com.apple.photomodel/appPrivateData.plist b/tests/Test-13.0.0.photoslibrary/private/com.apple.photomodel/appPrivateData.plist new file mode 100644 index 00000000..106cedb0 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/private/com.apple.photomodel/appPrivateData.plist @@ -0,0 +1,11 @@ + + + + + LithiumMessageTracer + + LastReportedDate + 2019-08-04T13:32:55Z + + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/.metadata_never_index b/tests/Test-13.0.0.photoslibrary/resources/.metadata_never_index new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/resources/caches/analytics/CPAnalyticsPropertiesCache.plist b/tests/Test-13.0.0.photoslibrary/resources/caches/analytics/CPAnalyticsPropertiesCache.plist new file mode 100644 index 00000000..e5fc1522 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/caches/analytics/CPAnalyticsPropertiesCache.plist @@ -0,0 +1,46 @@ + + + + + cpa_cache_demographicSummary + + cpa_demographic_userAgeRange + Unknown + cpa_demographic_userGender + Unknown + + cpa_cache_lastCacheTime + 2022-11-12T21:54:15Z + cpa_cache_librarySummary + + cpa_common_collectionCount + 16 + cpa_common_faceAnalysisProgress + 1 + cpa_common_fullAnalysisProgress + 0.92307692307692313 + cpa_common_icpl_enabled + + cpa_common_icpl_exceedingQuota + + cpa_common_icpl_hasChangesToProcess + + cpa_common_icpl_lowDiskSpace + + cpa_common_icpl_veryLowDiskSpace + + cpa_common_momentCount + 10 + cpa_common_personCount + 3 + cpa_common_photoCount + 16 + cpa_common_sceneAnalysisProgress + 1 + cpa_common_videoCount + 0 + + cpa_music_hasAppleMusicSubscription + + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/1/1EB2B765-0765-43BA-A90C-0D0580E6172C_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/1/1EB2B765-0765-43BA-A90C-0D0580E6172C_1_105_c.jpeg new file mode 100644 index 00000000..8a612cdc Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/1/1EB2B765-0765-43BA-A90C-0D0580E6172C_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/3/3DD2C897-F19E-4CA6-8C22-B027D5A71907_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/3/3DD2C897-F19E-4CA6-8C22-B027D5A71907_1_105_c.jpeg new file mode 100644 index 00000000..c19de1d4 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/3/3DD2C897-F19E-4CA6-8C22-B027D5A71907_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_1_100_o.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_1_100_o.jpeg new file mode 100644 index 00000000..d5ece67d Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_1_100_o.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_1_105_c.jpeg new file mode 100644 index 00000000..bb5e38af Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4_1_105_c.jpeg new file mode 100644 index 00000000..c36ba3a5 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/6/6FD38366-3BF2-407D-81FE-7153EB6125B6_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/6/6FD38366-3BF2-407D-81FE-7153EB6125B6_1_105_c.jpeg new file mode 100644 index 00000000..4b8730c6 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/6/6FD38366-3BF2-407D-81FE-7153EB6125B6_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/7/71E3E212-00EB-430D-8A63-5E294B268554_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/7/71E3E212-00EB-430D-8A63-5E294B268554_1_105_c.jpeg new file mode 100644 index 00000000..ccbb2fd0 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/7/71E3E212-00EB-430D-8A63-5E294B268554_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_1_105_c.jpeg new file mode 100644 index 00000000..ed80532d Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/8/8846E3E6-8AC8-4857-8448-E3D025784410_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/8/8846E3E6-8AC8-4857-8448-E3D025784410_1_105_c.jpeg new file mode 100644 index 00000000..539b4e59 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/8/8846E3E6-8AC8-4857-8448-E3D025784410_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/8/8E1D7BC9-9321-44F9-8CFB-4083F6B9232A_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/8/8E1D7BC9-9321-44F9-8CFB-4083F6B9232A_1_105_c.jpeg new file mode 100644 index 00000000..312b01d2 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/8/8E1D7BC9-9321-44F9-8CFB-4083F6B9232A_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/A/A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/A/A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C_1_105_c.jpeg new file mode 100644 index 00000000..f8943c5c Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/A/A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91_1_105_c.jpeg new file mode 100644 index 00000000..82af4102 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_1_100_o.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_1_100_o.jpeg new file mode 100644 index 00000000..03d2c6ce Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_1_100_o.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_1_105_c.jpeg new file mode 100644 index 00000000..82a19c3a Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/D79B8D77-BFFC-460B-9312-034F2877D35B_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/D79B8D77-BFFC-460B-9312-034F2877D35B_1_105_c.jpeg new file mode 100644 index 00000000..4f0c1479 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/D79B8D77-BFFC-460B-9312-034F2877D35B_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/DC99FBDD-7A52-4100-A5BB-344131646C30_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/DC99FBDD-7A52-4100-A5BB-344131646C30_1_105_c.jpeg new file mode 100644 index 00000000..5a00c324 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/D/DC99FBDD-7A52-4100-A5BB-344131646C30_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_1_105_c.jpeg new file mode 100644 index 00000000..db88ba04 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/F/F12384F6-CD17-4151-ACBA-AE0E3688539E_1_105_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/F/F12384F6-CD17-4151-ACBA-AE0E3688539E_1_105_c.jpeg new file mode 100644 index 00000000..6881aa31 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/F/F12384F6-CD17-4151-ACBA-AE0E3688539E_1_105_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/1/1EB2B765-0765-43BA-A90C-0D0580E6172C_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/1/1EB2B765-0765-43BA-A90C-0D0580E6172C_4_5005_c.jpeg new file mode 100644 index 00000000..839cdcbd Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/1/1EB2B765-0765-43BA-A90C-0D0580E6172C_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/3/3DD2C897-F19E-4CA6-8C22-B027D5A71907_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/3/3DD2C897-F19E-4CA6-8C22-B027D5A71907_4_5005_c.jpeg new file mode 100644 index 00000000..e68f1ee6 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/3/3DD2C897-F19E-4CA6-8C22-B027D5A71907_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_4_5005_c.jpeg new file mode 100644 index 00000000..a4a8a5ed Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/4/4D521201-92AC-43E5-8F7C-59BC41C37A96_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4_4_5005_c.jpeg new file mode 100644 index 00000000..4e1d70f6 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/6/6FD38366-3BF2-407D-81FE-7153EB6125B6_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/6/6FD38366-3BF2-407D-81FE-7153EB6125B6_4_5005_c.jpeg new file mode 100644 index 00000000..03d0ff79 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/6/6FD38366-3BF2-407D-81FE-7153EB6125B6_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/7/71E3E212-00EB-430D-8A63-5E294B268554_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/7/71E3E212-00EB-430D-8A63-5E294B268554_4_5005_c.jpeg new file mode 100644 index 00000000..c48aa6ea Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/7/71E3E212-00EB-430D-8A63-5E294B268554_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_4_5005_c.jpeg new file mode 100644 index 00000000..8b5467f6 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/8/8846E3E6-8AC8-4857-8448-E3D025784410_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/8/8846E3E6-8AC8-4857-8448-E3D025784410_4_5005_c.jpeg new file mode 100644 index 00000000..a2680855 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/8/8846E3E6-8AC8-4857-8448-E3D025784410_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/8/8E1D7BC9-9321-44F9-8CFB-4083F6B9232A_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/8/8E1D7BC9-9321-44F9-8CFB-4083F6B9232A_4_5005_c.jpeg new file mode 100644 index 00000000..c0d826ff Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/8/8E1D7BC9-9321-44F9-8CFB-4083F6B9232A_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/A/A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/A/A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C_4_5005_c.jpeg new file mode 100644 index 00000000..b3e0f930 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/A/A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91_4_5005_c.jpeg new file mode 100644 index 00000000..c41dcce5 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/A/A92D9C26-3A50-4197-9388-CB5F7DB9FA91_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_4_5005_c.jpeg new file mode 100644 index 00000000..f4939048 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/D/D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/D/D79B8D77-BFFC-460B-9312-034F2877D35B_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/D/D79B8D77-BFFC-460B-9312-034F2877D35B_4_5005_c.jpeg new file mode 100644 index 00000000..3cdee08c Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/D/D79B8D77-BFFC-460B-9312-034F2877D35B_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/D/DC99FBDD-7A52-4100-A5BB-344131646C30_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/D/DC99FBDD-7A52-4100-A5BB-344131646C30_4_5005_c.jpeg new file mode 100644 index 00000000..6e9e2b12 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/D/DC99FBDD-7A52-4100-A5BB-344131646C30_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_4_5005_c.jpeg new file mode 100644 index 00000000..f510f714 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/F/F12384F6-CD17-4151-ACBA-AE0E3688539E_4_5005_c.jpeg b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/F/F12384F6-CD17-4151-ACBA-AE0E3688539E_4_5005_c.jpeg new file mode 100644 index 00000000..95c0ea85 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/masters/F/F12384F6-CD17-4151-ACBA-AE0E3688539E_4_5005_c.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/3356.ithmb b/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/3356.ithmb new file mode 100644 index 00000000..3197081d Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/3356.ithmb differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/4133.ithmb b/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/4133.ithmb new file mode 100644 index 00000000..a2675e6c Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/4133.ithmb differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/4532.ithmb b/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/4532.ithmb new file mode 100644 index 00000000..7a3f381e Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/4532.ithmb differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/thumbnailConfiguration b/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/thumbnailConfiguration new file mode 100644 index 00000000..7667f94d --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/derivatives/thumbs/thumbnailConfiguration @@ -0,0 +1,19 @@ + + + + + PLThumbnailManagerRebuildingTablesOnly + + PLThumbnailManagerThumbnailFormatKey + 5005 + PLThumbnailManagerThumbnailFormatsKey + + 5005 + 4532 + 4133 + 3356 + + PLThumbnailManagerVersionKey + 31 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Album-change.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Album-change.plj new file mode 100644 index 00000000..ae920f99 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/Album-change.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Album-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Album-snapshot.plj new file mode 100644 index 00000000..f6e35acd Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/Album-snapshot.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Album.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/Album.plist new file mode 100644 index 00000000..1ca75572 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/Album.plist @@ -0,0 +1,16 @@ + + + + + coalesceDate + 2022-11-12T21:34:07Z + coalescePayloadVersion + 1 + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Asset-change.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Asset-change.plj new file mode 100644 index 00000000..d0f6a695 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/Asset-change.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Asset-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Asset-snapshot.plj new file mode 100644 index 00000000..33c37cd2 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/Asset-snapshot.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Asset.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/Asset.plist new file mode 100644 index 00000000..94c4a2ef --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/Asset.plist @@ -0,0 +1,16 @@ + + + + + coalesceDate + 2022-11-12T21:34:07Z + coalescePayloadVersion + 103 + currentPayloadVersion + 103 + snapshotDate + 2019-11-11T04:16:28Z + snapshotPayloadVersion + 10 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/DeferredRebuildFace-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/DeferredRebuildFace-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/DeferredRebuildFace.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/DeferredRebuildFace.plist new file mode 100644 index 00000000..3a4b9140 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/DeferredRebuildFace.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:57Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/DetectedFace-change.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/DetectedFace-change.plj new file mode 100644 index 00000000..171ec860 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/DetectedFace-change.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/DetectedFace-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/DetectedFace-snapshot.plj new file mode 100644 index 00000000..f78df5b7 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/DetectedFace-snapshot.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/DetectedFace.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/DetectedFace.plist new file mode 100644 index 00000000..1ca75572 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/DetectedFace.plist @@ -0,0 +1,16 @@ + + + + + coalesceDate + 2022-11-12T21:34:07Z + coalescePayloadVersion + 1 + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/FetchingAlbum-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/FetchingAlbum-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/FetchingAlbum.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/FetchingAlbum.plist new file mode 100644 index 00000000..3ece9a2c --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/FetchingAlbum.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/FileSystemVolume-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/FileSystemVolume-snapshot.plj new file mode 100644 index 00000000..71155590 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/FileSystemVolume-snapshot.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/FileSystemVolume.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/FileSystemVolume.plist new file mode 100644 index 00000000..ac1db136 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/FileSystemVolume.plist @@ -0,0 +1,16 @@ + + + + + coalesceDate + 2020-05-29T15:20:05Z + coalescePayloadVersion + 1 + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Folder-change.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Folder-change.plj new file mode 100644 index 00000000..86758e01 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/Folder-change.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Folder-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Folder-snapshot.plj new file mode 100644 index 00000000..751122fe Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/Folder-snapshot.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Folder.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/Folder.plist new file mode 100644 index 00000000..1ca75572 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/Folder.plist @@ -0,0 +1,16 @@ + + + + + coalesceDate + 2022-11-12T21:34:07Z + coalescePayloadVersion + 1 + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/HistoryToken.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/HistoryToken.plist new file mode 100644 index 00000000..c56c4d6b Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/HistoryToken.plist differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/ImportSession-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/ImportSession-snapshot.plj new file mode 100644 index 00000000..98b7b9f8 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/ImportSession-snapshot.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/ImportSession.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/ImportSession.plist new file mode 100644 index 00000000..1ca75572 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/ImportSession.plist @@ -0,0 +1,16 @@ + + + + + coalesceDate + 2022-11-12T21:34:07Z + coalescePayloadVersion + 1 + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Keyword-change.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Keyword-change.plj new file mode 100644 index 00000000..bc1570ab Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/Keyword-change.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Keyword-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Keyword-snapshot.plj new file mode 100644 index 00000000..f512308e Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/Keyword-snapshot.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Keyword.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/Keyword.plist new file mode 100644 index 00000000..3ece9a2c --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/Keyword.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Memory-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Memory-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Memory.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/Memory.plist new file mode 100644 index 00000000..3ece9a2c --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/Memory.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/MigrationHistory-change.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/MigrationHistory-change.plj new file mode 100644 index 00000000..fdaf3615 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/MigrationHistory-change.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/MigrationHistory-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/MigrationHistory-snapshot.plj new file mode 100644 index 00000000..d5eda50a Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/MigrationHistory-snapshot.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/MigrationHistory.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/MigrationHistory.plist new file mode 100644 index 00000000..4ec37c7f --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/MigrationHistory.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2020-10-02T13:39:59Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Person-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/Person-snapshot.plj new file mode 100644 index 00000000..c2eac19c Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/journals/Person-snapshot.plj differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/Person.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/Person.plist new file mode 100644 index 00000000..1ca75572 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/Person.plist @@ -0,0 +1,16 @@ + + + + + coalesceDate + 2022-11-12T21:34:07Z + coalescePayloadVersion + 1 + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/ProjectAlbum-snapshot.plj b/tests/Test-13.0.0.photoslibrary/resources/journals/ProjectAlbum-snapshot.plj new file mode 100644 index 00000000..e69de29b diff --git a/tests/Test-13.0.0.photoslibrary/resources/journals/ProjectAlbum.plist b/tests/Test-13.0.0.photoslibrary/resources/journals/ProjectAlbum.plist new file mode 100644 index 00000000..3ece9a2c --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/journals/ProjectAlbum.plist @@ -0,0 +1,12 @@ + + + + + currentPayloadVersion + 1 + snapshotDate + 2019-10-27T15:02:55Z + snapshotPayloadVersion + 1 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/renders/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4.plist b/tests/Test-13.0.0.photoslibrary/resources/renders/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4.plist new file mode 100644 index 00000000..b69a9147 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/renders/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4.plist @@ -0,0 +1,24 @@ + + + + + adjustmentBaseVersion + 0 + adjustmentData + + bZBNS8NAEIb/y5xDaGxTSa62Yi8VFFQQD5PspJmS3Q27k15C/ruTBBTB68zzfsyMcKMQ + 2buTazyUI1QDd+Y82IoClJAVj8UeEsC+f1u5eZhnaVakWb7RTaxbsvhCN163WQJ9h9L4 + YBV9fv2AKQFLggYF5wCLUSi8s5EWyrvN7l4F3FPHjn4jVJfu1H2Fn4gvraj3dp8n4AOT + E5Q1Tt3nLJQfsTZAcx2iWMUilJ/jPwQ5rDoyUEoYSK8gEXaXOBekpqH6L7xMzmhJq20P + h4DqxvWD9918HRsN4oaXjx0XFqav6Rs= + + adjustmentEditorBundleID + com.apple.Photos + adjustmentFormatIdentifier + com.apple.photo + adjustmentFormatVersion + 1.4 + adjustmentTimestamp + 2020-05-29T03:39:38Z + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/renders/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4_1_201_a.jpeg b/tests/Test-13.0.0.photoslibrary/resources/renders/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4_1_201_a.jpeg new file mode 100644 index 00000000..c2b53111 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/renders/6/6191423D-8DB8-4D4C-92BE-9BBBA308AAC4_1_201_a.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/renders/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266.plist b/tests/Test-13.0.0.photoslibrary/resources/renders/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266.plist new file mode 100644 index 00000000..080450e0 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/renders/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266.plist @@ -0,0 +1,68 @@ + + + + + adjustmentBaseVersion + 0 + adjustmentData + + bVfbkqM6sv0Xv1ZHl8BgQ0fMAyCJm8EgbsZT84ABczVggwvsHfvfj1zdfXZPxPCGMrVy + KSVlLv21+sxvY9V3enfuVz/+Wp3uVZvZ98spv61+rFgg8WuBS1ffVskwhD9d6fiaAd+Z + 7wwDqGFMy/ySkPyz+mlkvq2GNpnO/e1CPffeYfX3t9Uln5IsmZJXiEsyTvktqrKpXP1Y + A5ajE6ohb6su/ycCnfedo+g/nbW8Kspp9YMDa/bbqr9VeTcl089wFP0VK5n+fzJlkGT1 + fZwu1G1c/fj3X//DI++SU5tnqx/T7Z7TVeTTVHXF+CLYn8/0d9enSbv7GRd8+zWo0f/2 + NTZ+DVbdcJ9++3xnhA0QNzzgOLAFPMMKv2ehZejH+y3/A0huk7Rx+qr7E12+vaC6fPyJ + Pr7WOE5V+sVqAOwrCABbgVsz6y3LcyJgxA3Y0vzx4MsmCmAtsgy/ETbsluMBZZDcpz5M + 2vsr+HdW4Dfgj48m8/QnEYq+ZsTthmdopnlRYJkt/2019V3SkqQr8l9BOH6z2fKABZQF + y1KPgeW/TGueFTmG2W44mgBBYNfUJAovEy/+90eZfeXRSga62xgPZgaGkxc2biTxB8I0 + diTbEcbxYCnmYODiFMmXO2bislb8rTGhqgFhqUcGbhlHD9U2SphsiiIxSVuGPaxb+PG+ + 4Bm2gRM2WWzg1AmJNKPlqEeojNXQRpFsHFAYx5Gi6kbS2vHyWeC1VJyC2xxkYsi0xzFk + meOJGZaDFp5z+QKh19jhzEe4jYMQ4ogwmRaC8uDhjOK2FLfxo+amO8n8+fEebDewHZ2j + TKbgcgwSHF7DT+42emczOi9p2/IcfqAjmUUKFCeh3KTI53wNZQcvLA0KePTa1ozAlPqY + sQ5VWJAzspVCbO2OeOeQ9KE6hM2j+Hg3QZCSsgGB0+912TiTN8psBhasrUSTxdjDvwEH + M2qm0xdgwxc+i524ACqMXOYTko/3ULPYQsFjyBkKs3gFPkn+XOoelvUgXMhhH/UkJJXp + mbIeN78YNnTvmIUCMucvwJLmyg3sqDU2tmoFGZEZW5QOi7zvUOX6qLRc2MQHIqcBDovQ + ezhnw0yrYzBUXwTBiyDFC37htbiBUWzLBXMPHY7siWkgSSCI6B7q3CBjeCGOAzdc7JBO + i0CZHfClaD/em/XHu/cp/sMwYPLfiMHBsjOZn5xrQTdrfhPNeL72uAVRZ59GzK/pMSqv + r2PZ9lFEyM2Y5iGCb2fvLm0OaOi+cgh+5ZDBrdP13dHLAj3S41zuSvXSZ2X51mtdXFte + dNTYJvqUpZ338W6bFOCkNkV4kxOTJKW1aZ5HPxP3DPp4z/034rJY84Md5xWzUMLHTPYy + ilA0ltvFbfTn+CQ+TW2j3x152KA+pEtbcoxnB87CHj5dl5Q7jNLZuy+mqA3uKV3mO37M + jutyZxgB7ym9JXCeHSQHD7jEg+MzexdLgvcMkW331yZ4LBgDFxYUr0TUTxtQJHlxOdUG + a/VuFbD60zolhXiDxeyqBUcg6W04Aw97em5XjbgHohLAydqteWuGV4KWwEsJvuBdGi6y + 66pn22lbuQ6i4Hb0jp0eDeFJDqewk+zUBTvoWUdTQTdd6WvLlwSrZtIc87zWNedHtXWt + oXdguZyQMjs6ibbavgkECWjQTZ08tEVtn0UpbhfUSXtVmjVIwMV6zGvzGd+sqpktCG65 + qljxYf48yxvFMMOKlUOEJ4nM0sd7AY+9rbkgg8Xo8AV7fp1qhfCMMehONjNrSCRb9UbB + blzg1vrH+64e73slEw53uy6aSFL1ueiq50Vr9eNQdp5/vvYf7xRahFJjmWTXmWfLFmaW + oC72MlmnOQKeLs0u3eOt50/mHgVPh1Wloy7xtZooIWdlVWW8mWIr31xx0gLr6JOnAN+Q + jWTXw/p8uMq7G9y4gUqaQlOszJDnC127bT5aZAbFQBRLgBy+lPi6P4qkruh9VY/BLOLO + gYngXuXa3luFu5C5U2sri8l8pliB6kk3o5auttcwBrTyXQFMTObWfIwP+BAcXAh20LeX + Sr1bu0GoOkXJDNM6tjIakSx4TrmuNS9tdlXwaUC93j3Q03zOTwJtbAU0nCw9UakfVDJf + DJB6iCARwdSrGdVJjDBqlmqv9XPeL8VA82TDAlzgQ69tj9taPlgcT3jT/aB0/WHvhBLn + zYyMXHDQFetueNyQlKFttDOXEfFi4rQ5PmxGPQLPqcxSZWILzcIRyVZqePpF8/vSqayP + dwsKo6OMYOcXte3OJ2WJd5gUF80rxv3jmRmWlCfK1tG5oLt6xNHWXFDKtgLZYG/M4hUt + Y6xX1kWvgtLwKJHn/HBhCCnhaa/on7BMLZ24PpSlzvENbsc19efj+GnZ49RWd2xcxuJa + Dp+oLk7t0hZGB4a6QoNepbWpBDdjPYp+zdh2EDzdamJhq3v0Qtr4IFnKLGQYjOemTmiP + 0Irq4oXF7pYeCNn46FY46TKtsTqXdcmusTlerCqbadkIulm4o53k0mazV9PRlhcK2qAg + kbiANrrQWcRZM9EFyHmGGekUyu2gXqSkJnKtGU2YLg9P74BfldkDtRbZyb5n7NN46woR + cnsyFkDDcrB3iH7EXHAs5ERSw7lYPAfipIlKJWrxMY6yMmwgp9sHV6zgZcrWM09bZm+H + 7sc72YkpLW8nHePGUSgwPeKBKh9lNeTO41LecZpOdQVjTZ+TqswR4l33RMIWrXUvcBkP + 4cJJJDaFnEQeEt/gfh668rHTVFCeCjGGRWErLnDUsC8Lb7/FPHcoypuM++BwKWORXm7a + yI0SdZxjyWaJ8mZPce7wQWVCKW+wMF6B4pW7o8t8vD92H+/atdgrrwIVjMNU3R8GbVtT + aZT40PvJYvQQAJLLtNTzVkBk9IYUQAs6LYSkCXEhunTX3aR8sJDlXLfELBRHt5Y4ndal + vVNppqm7QTILVxTFdKOFGXWBE8wMjw7BbSS4RFhyEtIktNjQs/F2QhoXNMRg1FFK7654 + hjLwkvkthS7ttsSQ1clNn5Wp6VzsBwSdUdgcGnkRUO/6HbHv8NDbhst9onC0YxLVSHC9 + +LEL/Bwbd5ctoOTatfsWwQc9QgXQtbYhqOoI3sQZnd8gQ3J2rmiqB+TQhunBdeGcC1DA + df8vKv/blwiX/pSw6w3L/SlhN99Wc1lN+S8Jy7wk7B8S+PUaYX6K439k8S+Z/G1VUglq + 5o+XWQCbNbd5+bBUxLP85u/fqlzpu+lGnyF/CHWvTLJ+fql06lVl9JlRnauvF5N3SW6T + 33f56u///P1/ + + adjustmentEditorBundleID + com.apple.Photos + adjustmentFormatIdentifier + com.apple.photo + adjustmentFormatVersion + 1.5 + adjustmentTimestamp + 2020-10-04T06:00:14Z + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/renders/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_1_201_a.heic b/tests/Test-13.0.0.photoslibrary/resources/renders/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_1_201_a.heic new file mode 100644 index 00000000..c7b00d6c Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/renders/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_1_201_a.heic differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/renders/D/DC99FBDD-7A52-4100-A5BB-344131646C30.plist b/tests/Test-13.0.0.photoslibrary/resources/renders/D/DC99FBDD-7A52-4100-A5BB-344131646C30.plist new file mode 100644 index 00000000..b298f6be --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/renders/D/DC99FBDD-7A52-4100-A5BB-344131646C30.plist @@ -0,0 +1,20 @@ + + + + + adjustmentBaseVersion + 0 + adjustmentData + + shkyAAAAAAACAAAA + + adjustmentEditorBundleID + com.apple.Photos + adjustmentFormatIdentifier + com.apple.Photos.externalEdit + adjustmentFormatVersion + 1 + adjustmentTimestamp + 2019-12-01T15:27:48Z + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/renders/D/DC99FBDD-7A52-4100-A5BB-344131646C30_1_201_a.jpeg b/tests/Test-13.0.0.photoslibrary/resources/renders/D/DC99FBDD-7A52-4100-A5BB-344131646C30_1_201_a.jpeg new file mode 100644 index 00000000..7bcb36b9 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/renders/D/DC99FBDD-7A52-4100-A5BB-344131646C30_1_201_a.jpeg differ diff --git a/tests/Test-13.0.0.photoslibrary/resources/renders/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51.plist b/tests/Test-13.0.0.photoslibrary/resources/renders/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51.plist new file mode 100644 index 00000000..4117c731 --- /dev/null +++ b/tests/Test-13.0.0.photoslibrary/resources/renders/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51.plist @@ -0,0 +1,25 @@ + + + + + adjustmentBaseVersion + 0 + adjustmentData + + bVFNT4RADP0vPSNh+FgWbsbE6MVNNFET42F2KVADAxnKqiH8dwvIukZP0+l77XtvZoAj + 2o4ac2vyBtIB9j1V2V1f79FCCmp7rQIfHNBt+7gQpRuEkXJjV/meIN2hxFrf45EWVDnQ + VprzxtZC3T08w+hAjawzzXpSqHXHaJ8o4xJS3wu3MkAtVmTwR0Lm3FC2L+QbpKJk2R1s + YgcaS2hY8yIn2yctzadhcaCzt77jWmgdpC/DPww0el9hBinbHiUFMpMpuslgeVLzI0HY + 6umO5tIUFUJ64TlwaMzcN/ydQ3rvS6Uif+PAx85SQWYGPtdanQ+umTwJQJk4pZzmN7+y + TTu9eM/zh6znHx/eb5VVPk5E5hRBJdGZgcQbx/F1/AI= + + adjustmentEditorBundleID + com.apple.photos + adjustmentFormatIdentifier + com.apple.photo + adjustmentFormatVersion + 1.4 + adjustmentRenderTypes + 0 + + diff --git a/tests/Test-13.0.0.photoslibrary/resources/renders/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_1_201_a.jpeg b/tests/Test-13.0.0.photoslibrary/resources/renders/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_1_201_a.jpeg new file mode 100644 index 00000000..88caa537 Binary files /dev/null and b/tests/Test-13.0.0.photoslibrary/resources/renders/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_1_201_a.jpeg differ diff --git a/tests/test_ventura_13_0_0.py b/tests/test_ventura_13_0_0.py new file mode 100644 index 00000000..c4b2b3ca --- /dev/null +++ b/tests/test_ventura_13_0_0.py @@ -0,0 +1,1175 @@ +"""Test macOS 13.0 Photos library""" + +from collections import namedtuple + +import pytest + +import osxphotos +from osxphotos._constants import _UNKNOWN_PERSON + +PHOTOS_DB = "tests/Test-13.0.0.photoslibrary/database/photos.db" +PHOTOS_DB_PATH = "/Test-13.0.0.photoslibrary/database/photos.db" +PHOTOS_LIBRARY_PATH = "/Test-13.0.0.photoslibrary" + +PHOTOS_DB_LEN = 16 +PHOTOS_NOT_IN_TRASH_LEN = 14 +PHOTOS_IN_TRASH_LEN = 2 + +KEYWORDS = [ + "Kids", + "wedding", + "flowers", + "England", + "London", + "London 2018", + "St. James's Park", + "UK", + "United Kingdom", +] +# Photos 5 includes blank person for detected face but looks like these aren't in Photos 7? +PERSONS = ["Katie", "Suzy", "Maria", "_UNKNOWN_"] +ALBUMS = [ + "Pumpkin Farm", + "Test Album", # there are 2 albums named "Test Album" for testing duplicate album names + "AlbumInFolder", + "Raw", + "I have a deleted twin", # there's an empty album with same name that has been deleted + "EmptyAlbum", + "2018-10 - Sponsion, Museum, Frühstück, Römermuseum", + "2019-10/11 Paris Clermont", +] +KEYWORDS_DICT = { + "Kids": 4, + "wedding": 3, + "flowers": 1, + "England": 1, + "London": 1, + "London 2018": 1, + "St. James's Park": 1, + "UK": 1, + "United Kingdom": 1, +} +PERSONS_DICT = { + "Katie": 3, + "Suzy": 2, + "Maria": 2, + "_UNKNOWN_": 2, +} + +ALBUM_DICT = { + "Pumpkin Farm": 3, + "Test Album": 2, + "AlbumInFolder": 2, + "Raw": 4, + "I have a deleted twin": 1, + "EmptyAlbum": 0, + "2018-10 - Sponsion, Museum, Frühstück, Römermuseum": 1, + "2019-10/11 Paris Clermont": 1, +} # Note: there are 2 albums named "Test Album" for testing duplicate album names + +UUID_DICT = { + "missing": "A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C", + "favorite": "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51", + "not_favorite": "A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C", + "hidden": "A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C", + "not_hidden": "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51", + "has_adjustments": "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51", + "adjustments_info": "7783E8E6-9CAC-40F3-BE22-81FB7051C266", + "no_adjustments": "D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068", + "location": "DC99FBDD-7A52-4100-A5BB-344131646C30", + "no_location": "6191423D-8DB8-4D4C-92BE-9BBBA308AAC4", + "external_edit": "DC99FBDD-7A52-4100-A5BB-344131646C30", + "no_external_edit": "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51", + "export": "D79B8D77-BFFC-460B-9312-034F2877D35B", # "Pumkins2.jpg" + "export_tif": "8846E3E6-8AC8-4857-8448-E3D025784410", + "in_album": "D79B8D77-BFFC-460B-9312-034F2877D35B", # "Pumkins2.jpg" + "date_invalid": "8846E3E6-8AC8-4857-8448-E3D025784410", + "intrash": "71E3E212-00EB-430D-8A63-5E294B268554", + "not_intrash": "DC99FBDD-7A52-4100-A5BB-344131646C30", + "intrash_person_keywords": "6FD38366-3BF2-407D-81FE-7153EB6125B6", +} + +UUID_PUMPKIN_FARM = [ + "F12384F6-CD17-4151-ACBA-AE0E3688539E", + "D79B8D77-BFFC-460B-9312-034F2877D35B", + "1EB2B765-0765-43BA-A90C-0D0580E6172C", +] + +ALBUM_SORT_ORDER = [ + "1EB2B765-0765-43BA-A90C-0D0580E6172C", + "F12384F6-CD17-4151-ACBA-AE0E3688539E", + "D79B8D77-BFFC-460B-9312-034F2877D35B", +] +ALBUM_KEY_PHOTO = "D79B8D77-BFFC-460B-9312-034F2877D35B" + +UTI_DICT = { + "8846E3E6-8AC8-4857-8448-E3D025784410": "public.tiff", + "7783E8E6-9CAC-40F3-BE22-81FB7051C266": "public.heic", + "1EB2B765-0765-43BA-A90C-0D0580E6172C": "public.jpeg", + "4D521201-92AC-43E5-8F7C-59BC41C37A96": "public.jpeg", +} + +UTI_ORIGINAL_DICT = { + "8846E3E6-8AC8-4857-8448-E3D025784410": "public.tiff", + "7783E8E6-9CAC-40F3-BE22-81FB7051C266": "public.heic", + "1EB2B765-0765-43BA-A90C-0D0580E6172C": "public.jpeg", + "4D521201-92AC-43E5-8F7C-59BC41C37A96": "public.jpeg", +} + + +RawInfo = namedtuple( + "RawInfo", + [ + "comment", + "original_filename", + "has_raw", + "israw", + "raw_original", + "uti", + "uti_original", + "uti_raw", + ], +) +RAW_DICT = { + "D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068": RawInfo( + "raw image, no jpeg pair", + "DSC03584.dng", + False, + True, + False, + "com.adobe.raw-image", + "com.adobe.raw-image", + None, + ), + "A92D9C26-3A50-4197-9388-CB5F7DB9FA91": RawInfo( + "raw+jpeg, jpeg original", + "IMG_1994.JPG", + True, + False, + False, + "public.jpeg", + "public.jpeg", + "com.canon.cr2-raw-image", + ), + "4D521201-92AC-43E5-8F7C-59BC41C37A96": RawInfo( + "raw+jpeg, raw original", + "IMG_1997.JPG", + True, + False, + True, + "public.jpeg", + "public.jpeg", + "com.canon.cr2-raw-image", + ), + "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51": RawInfo( + "jpeg, no raw", + "wedding.jpg", + False, + False, + False, + "public.jpeg", + "public.jpeg", + None, + ), +} + +# HEIC image that's been edited in Big Sur, resulting edit is .HEIC +UUID_HEIC_EDITED = "7783E8E6-9CAC-40F3-BE22-81FB7051C266" +PATH_HEIC_EDITED = ( + "resources/renders/7/7783E8E6-9CAC-40F3-BE22-81FB7051C266_1_201_a.heic" +) + +# file is reference (not copied to library) +UUID_IS_REFERENCE = "A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C" +UUID_NOT_REFERENCE = "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51" + +UUID_MOMENT = { + "3DD2C897-F19E-4CA6-8C22-B027D5A71907": { + "uuid": "3DD2C897-F19E-4CA6-8C22-B027D5A71907", + "location": (-34.91889167000001, 138.59686167), + "title": "Adelaide", + "subtitle": "", + "start_date": "2017-06-20T17:18:56.518000+09:30", + "end_date": "2017-06-20T17:18:56.518000+09:30", + "date": "2017-06-20T17:18:56.518000+09:30", + "modification_date": "2020-04-06T15:22:24.595584+09:30", + } +} + +UUID_LABELS = {"6191423D-8DB8-4D4C-92BE-9BBBA308AAC4": ["Plant", "Flower Arrangement"]} + + +@pytest.fixture(scope="module") +def photosdb(): + return osxphotos.PhotosDB(dbfile=PHOTOS_DB) + + +def test_init1(): + # test named argument + import osxphotos + + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + assert isinstance(photosdb, osxphotos.PhotosDB) + + +def test_init2(): + # test positional argument + import osxphotos + + photosdb = osxphotos.PhotosDB(PHOTOS_DB) + assert isinstance(photosdb, osxphotos.PhotosDB) + + +def test_init3(): + # test positional and named argument (raises exception) + import osxphotos + + with pytest.raises(Exception): + assert osxphotos.PhotosDB(PHOTOS_DB, dbfile=PHOTOS_DB) + + +def test_init4(): + # test invalid db + import os + import tempfile + + import osxphotos + + (bad_db, bad_db_name) = tempfile.mkstemp(suffix=".db", prefix="osxphotos-") + os.close(bad_db) + + with pytest.raises(Exception): + assert osxphotos.PhotosDB(bad_db_name) + + with pytest.raises(Exception): + assert osxphotos.PhotosDB(dbfile=bad_db_name) + + try: + os.remove(bad_db_name) + except: + pass + + +def test_init5(mocker): + # test failed get_last_library_path + import osxphotos + + def bad_library(): + return None + + # get_last_library actually in utils but need to patch it in photosdb because it's imported into photosdb + # because of the layout of photosdb/ need to patch it this way...don't really understand why, but it works + mocker.patch("osxphotos.photosdb.photosdb.get_last_library_path", new=bad_library) + + with pytest.raises(Exception): + assert osxphotos.PhotosDB() + + +def test_db_len(photosdb): + # assert photosdb.db_version in osxphotos._TESTED_DB_VERSIONS + assert len(photosdb) == PHOTOS_DB_LEN + + +def test_db_version(photosdb): + # assert photosdb.db_version in osxphotos._TESTED_DB_VERSIONS + assert photosdb.db_version == "6000" + + +def test_persons(photosdb): + import collections + + assert "Katie" in photosdb.persons + assert collections.Counter(PERSONS) == collections.Counter(photosdb.persons) + + +def test_keywords(photosdb): + import collections + + assert "wedding" in photosdb.keywords + assert collections.Counter(KEYWORDS) == collections.Counter(photosdb.keywords) + + +def test_album_names(photosdb): + import collections + + assert "Pumpkin Farm" in photosdb.albums + assert collections.Counter(ALBUMS) == collections.Counter(photosdb.albums) + + +def test_keywords_dict(photosdb): + keywords = photosdb.keywords_as_dict + assert keywords["wedding"] == 3 + assert keywords == KEYWORDS_DICT + + +def test_persons_as_dict(photosdb): + persons = photosdb.persons_as_dict + assert persons["Maria"] == 2 + assert persons == PERSONS_DICT + + +def test_albums_as_dict(photosdb): + albums = photosdb.albums_as_dict + assert albums["Pumpkin Farm"] == 3 + assert albums == ALBUM_DICT + + +def test_album_sort_order(photosdb): + album = [a for a in photosdb.album_info if a.title == "Pumpkin Farm"][0] + photos = album.photos + + uuids = [p.uuid for p in photos] + assert uuids == ALBUM_SORT_ORDER + + +def test_album_empty_album(photosdb): + album = [a for a in photosdb.album_info if a.title == "EmptyAlbum"][0] + photos = album.photos + assert photos == [] + + +def test_attributes(photosdb): + import datetime + + photos = photosdb.photos(uuid=["D79B8D77-BFFC-460B-9312-034F2877D35B"]) + assert len(photos) == 1 + p = photos[0] + assert p.keywords == ["Kids"] + assert p.original_filename == "Pumkins2.jpg" + assert p.filename == "D79B8D77-BFFC-460B-9312-034F2877D35B.jpeg" + assert p.date == datetime.datetime( + 2018, 9, 28, 16, 7, 7, 0, datetime.timezone(datetime.timedelta(seconds=-14400)) + ) + assert p.date_added == datetime.datetime( + 2019, + 7, + 27, + 9, + 16, + 49, + 778432, + tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=72000)), + ) + assert p.description == "Girl holding pumpkin" + assert p.title == "I found one!" + assert sorted(p.albums) == ["Pumpkin Farm", "Test Album"] + assert p.persons == ["Katie"] + assert p.path.endswith( + "tests/Test-13.0.0.photoslibrary/originals/D/D79B8D77-BFFC-460B-9312-034F2877D35B.jpeg" + ) + assert p.ismissing == False + + +def test_attributes_2(photosdb): + """Test attributes including height, width, etc""" + import datetime + + photos = photosdb.photos(uuid=[UUID_DICT["has_adjustments"]]) + assert len(photos) == 1 + p = photos[0] + assert p.keywords == ["wedding"] + assert p.original_filename == "wedding.jpg" + assert p.filename == "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51.jpeg" + assert p.date == datetime.datetime( + 2019, + 4, + 15, + 14, + 40, + 24, + 86000, + datetime.timezone(datetime.timedelta(seconds=-14400)), + ) + assert p.description == "Bride Wedding day" + assert p.title is None + assert sorted(p.albums) == ["AlbumInFolder", "I have a deleted twin"] + assert p.persons == ["Maria"] + assert p.path.endswith( + "tests/Test-13.0.0.photoslibrary/originals/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51.jpeg" + ) + assert not p.ismissing + assert p.hasadjustments + assert p.height == 1325 + assert p.width == 1526 + assert p.original_height == 1367 + assert p.original_width == 2048 + assert p.orientation == 1 + assert p.original_orientation == 1 + assert p.original_filesize == 460483 + + +def test_missing(photosdb): + photos = photosdb.photos(uuid=[UUID_DICT["missing"]]) + assert len(photos) == 1 + p = photos[0] + assert p.path is None + assert p.ismissing == True + + +def test_favorite(photosdb): + photos = photosdb.photos(uuid=[UUID_DICT["favorite"]]) + assert len(photos) == 1 + p = photos[0] + assert p.favorite == True + + +def test_not_favorite(photosdb): + photos = photosdb.photos(uuid=[UUID_DICT["not_favorite"]]) + assert len(photos) == 1 + p = photos[0] + assert p.favorite == False + + +def test_hidden(photosdb): + photos = photosdb.photos(uuid=[UUID_DICT["hidden"]]) + assert len(photos) == 1 + p = photos[0] + assert p.hidden == True + + +def test_not_hidden(photosdb): + photos = photosdb.photos(uuid=[UUID_DICT["not_hidden"]]) + assert len(photos) == 1 + p = photos[0] + assert p.hidden == False + + +def test_location_1(photosdb): + # test photo with lat/lon info + photos = photosdb.photos(uuid=[UUID_DICT["location"]]) + assert len(photos) == 1 + p = photos[0] + lat, lon = p.location + assert lat == pytest.approx(51.50357167) + assert lon == pytest.approx(-0.1318055) + + +def test_location_2(photosdb): + # test photo with no location info + photos = photosdb.photos(uuid=[UUID_DICT["no_location"]]) + assert len(photos) == 1 + p = photos[0] + lat, lon = p.location + assert lat is None + assert lon is None + + +def test_hasadjustments1(photosdb): + # test hasadjustments == True + photos = photosdb.photos(uuid=[UUID_DICT["has_adjustments"]]) + assert len(photos) == 1 + p = photos[0] + assert p.hasadjustments == True + + +def test_hasadjustments2(photosdb): + # test hasadjustments == False + photos = photosdb.photos(uuid=[UUID_DICT["no_adjustments"]]) + assert len(photos) == 1 + p = photos[0] + assert p.hasadjustments == False + + +def test_external_edit1(photosdb): + # test image has been edited in external editor + photos = photosdb.photos(uuid=[UUID_DICT["external_edit"]]) + assert len(photos) == 1 + p = photos[0] + + assert p.external_edit == True + + +def test_external_edit2(photosdb): + # test image has not been edited in external editor + photos = photosdb.photos(uuid=[UUID_DICT["no_external_edit"]]) + assert len(photos) == 1 + p = photos[0] + + assert p.external_edit == False + + +def test_path_edited_jpeg(photosdb): + # test a valid edited path + import os.path + + photos = photosdb.photos(uuid=["E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51"]) + assert len(photos) == 1 + p = photos[0] + path = p.path_edited + assert path.endswith( + "resources/renders/E/E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51_1_201_a.jpeg" + ) + assert os.path.exists(path) + + +def test_path_edited_heic(photosdb): + # test a valid edited path for .heic image + import pathlib + + photo = photosdb.get_photo(UUID_HEIC_EDITED) + assert photo.path_edited.endswith(PATH_HEIC_EDITED) + assert pathlib.Path(photo.path_edited).is_file() + + +def test_path_edited2(photosdb): + # test an invalid edited path + photos = photosdb.photos(uuid=[UUID_DICT["no_adjustments"]]) + assert len(photos) == 1 + p = photos[0] + path = p.path_edited + assert path is None + + +def test_path_derivatives(photosdb): + # test an path_derivatives + + photos = photosdb.photos(uuid=[UUID_DICT["no_adjustments"]]) + assert len(photos) == 1 + p = photos[0] + path = p.path_derivatives + derivs = [ + "D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_1_100_o.jpeg", + "D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_1_105_c.jpeg", + "D05A5FE3-15FB-49A1-A15D-AB3DA6F8B068_4_5005_c.jpeg", + ] + for i, p in enumerate(path): + assert p.endswith(derivs[i]) + + +def test_count(photosdb): + photos = photosdb.photos() + assert len(photos) == PHOTOS_NOT_IN_TRASH_LEN + + +def test_photos_intrash_1(photosdb): + """test PhotosDB.photos(intrash=True)""" + photos = photosdb.photos(intrash=True) + assert len(photos) == PHOTOS_IN_TRASH_LEN + + +def test_photos_intrash_2(photosdb): + """test PhotosDB.photos(intrash=True)""" + photos = photosdb.photos(intrash=True) + for p in photos: + assert p.intrash + + +def test_photos_intrash_3(photosdb): + """test PhotosDB.photos(intrash=False)""" + photos = photosdb.photos(intrash=False) + for p in photos: + assert not p.intrash + + +def test_photoinfo_intrash_1(photosdb): + """Test PhotoInfo.intrash""" + p = photosdb.photos(uuid=[UUID_DICT["intrash"]], intrash=True)[0] + assert p.intrash + + +def test_photoinfo_intrash_2(photosdb): + """Test PhotoInfo.intrash and intrash=default""" + p = photosdb.photos(uuid=[UUID_DICT["intrash"]]) + assert not p + + +def test_photoinfo_intrash_3(photosdb): + """Test PhotoInfo.intrash and photo has keyword and person""" + p = photosdb.photos(uuid=[UUID_DICT["intrash_person_keywords"]], intrash=True)[0] + assert p.intrash + assert "Maria" in p.persons + assert "wedding" in p.keywords + + +def test_photoinfo_intrash_4(photosdb): + """Test PhotoInfo.intrash and photo has keyword and person""" + p = photosdb.photos(persons=["Maria"], intrash=True)[0] + assert p.intrash + assert "Maria" in p.persons + assert "wedding" in p.keywords + + +def test_photoinfo_intrash_5(photosdb): + """Test PhotoInfo.intrash and photo has keyword and person""" + p = photosdb.photos(keywords=["wedding"], intrash=True)[0] + assert p.intrash + assert "Maria" in p.persons + assert "wedding" in p.keywords + + +def test_photoinfo_not_intrash(photosdb): + """Test PhotoInfo.intrash""" + p = photosdb.photos(uuid=[UUID_DICT["not_intrash"]])[0] + assert not p.intrash + + +def test_keyword_2(photosdb): + photos = photosdb.photos(keywords=["wedding"]) + assert len(photos) == 2 # won't show the one in the trash + + +def test_keyword_not_in_album(photosdb): + + # find all photos with keyword "Kids" not in the album "Pumpkin Farm" + photos1 = photosdb.photos(albums=["Pumpkin Farm"]) + photos2 = photosdb.photos(keywords=["Kids"]) + photos3 = [p for p in photos2 if p not in photos1] + assert len(photos3) == 1 + assert photos3[0].uuid == "A1DD1F98-2ECD-431F-9AC9-5AFEFE2D3A5C" + + +def test_album_folder_name(photosdb): + """Test query with album name same as a folder name""" + + photos = photosdb.photos(albums=["Pumpkin Farm"]) + assert sorted(p.uuid for p in photos) == sorted(UUID_PUMPKIN_FARM) + + +def test_multi_person(photosdb): + photos = photosdb.photos(persons=["Katie", "Suzy"]) + + assert len(photos) == 3 + + +def test_get_db_path(photosdb): + db_path = photosdb.db_path + assert db_path.endswith(PHOTOS_DB_PATH) + + +def test_get_library_path(photosdb): + lib_path = photosdb.library_path + assert lib_path.endswith(PHOTOS_LIBRARY_PATH) + + +def test_get_db_connection(photosdb): + """Test PhotosDB.get_db_connection""" + import sqlite3 + + conn, cursor = photosdb.get_db_connection() + + assert isinstance(conn, sqlite3.Connection) + assert isinstance(cursor, sqlite3.Cursor) + + results = conn.execute("SELECT ZUUID FROM ZASSET WHERE ZFAVORITE = 1;").fetchall() + assert len(results) == 1 + assert results[0][0] == "E9BC5C36-7CD1-40A1-A72B-8B8FAC227D51" # uuid + + conn.close() + + +def test_export_1(photosdb): + # test basic export + # get an unedited image and export it using default filename + import os + import os.path + import tempfile + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["export"]]) + + filename = photos[0].original_filename + expected_dest = os.path.join(dest, filename) + got_dest = photos[0].export(dest)[0] + + assert got_dest == expected_dest + assert os.path.isfile(got_dest) + + +def test_export_2(photosdb): + # test export with user provided filename + import os + import os.path + import tempfile + import time + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["export"]]) + + timestamp = time.time() + filename = f"osxphotos-export-2-test-{timestamp}.jpg" + expected_dest = os.path.join(dest, filename) + got_dest = photos[0].export(dest, filename)[0] + + assert got_dest == expected_dest + assert os.path.isfile(got_dest) + + +def test_export_3(photosdb): + # test file already exists and test increment=True (default) + import os + import os.path + import pathlib + import tempfile + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["export"]]) + + filename = photos[0].original_filename + filename2 = pathlib.Path(filename) + filename2 = f"{filename2.stem} (1){filename2.suffix}" + expected_dest_2 = os.path.join(dest, filename2) + + got_dest = photos[0].export(dest)[0] + got_dest_2 = photos[0].export(dest)[0] + + assert got_dest_2 == expected_dest_2 + assert os.path.isfile(got_dest_2) + + +def test_export_4(photosdb): + # test user supplied file already exists and test increment=True (default) + import os + import os.path + import pathlib + import tempfile + import time + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["export"]]) + + timestamp = time.time() + filename = f"osxphotos-export-2-test-{timestamp}.jpg" + filename2 = f"osxphotos-export-2-test-{timestamp} (1).jpg" + expected_dest_2 = os.path.join(dest, filename2) + + got_dest = photos[0].export(dest, filename)[0] + got_dest_2 = photos[0].export(dest, filename)[0] + + assert got_dest_2 == expected_dest_2 + assert os.path.isfile(got_dest_2) + + +def test_export_5(photosdb): + # test file already exists and test increment=True (default) + # and overwrite = True + import os + import os.path + import tempfile + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["export"]]) + + filename = photos[0].original_filename + expected_dest = os.path.join(dest, filename) + + got_dest = photos[0].export(dest)[0] + got_dest_2 = photos[0].export(dest, overwrite=True)[0] + + assert got_dest_2 == got_dest + assert got_dest_2 == expected_dest + assert os.path.isfile(got_dest_2) + + +def test_export_6(photosdb): + # test user supplied file already exists and test increment=True (default) + # and overwrite = True + import os + import os.path + import pathlib + import tempfile + import time + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["export"]]) + + timestamp = time.time() + filename = f"osxphotos-export-test-{timestamp}.jpg" + expected_dest = os.path.join(dest, filename) + + got_dest = photos[0].export(dest, filename)[0] + got_dest_2 = photos[0].export(dest, filename, overwrite=True)[0] + + assert got_dest_2 == got_dest + assert got_dest_2 == expected_dest + assert os.path.isfile(got_dest_2) + + +def test_export_7(photosdb): + # test file already exists and test increment=False (not default), overwrite=False (default) + # should raise exception + import os + import os.path + import tempfile + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["export"]]) + + filename = photos[0].filename + + got_dest = photos[0].export(dest)[0] + with pytest.raises(Exception) as e: + # try to export again with increment = False + assert photos[0].export(dest, increment=False) + assert e.type == type(FileExistsError()) + + +def test_export_8(photosdb): + # try to export missing file + # should return empty list + import os + import os.path + import tempfile + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["missing"]]) + + assert photos[0].export(dest) == [] + + +def test_export_9(photosdb): + # try to export edited file that's not edited + # should raise exception + import os + import os.path + import tempfile + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["no_adjustments"]]) + + filename = photos[0].filename + + with pytest.raises(Exception) as e: + assert photos[0].export(dest, edited=True) + assert e.type == ValueError + + +def test_export_10(photosdb): + # try to export edited file that's not edited and name provided + # should raise exception + import os + import os.path + import tempfile + import time + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["no_adjustments"]]) + + timestamp = time.time() + filename = f"osxphotos-export-test-{timestamp}.jpg" + + with pytest.raises(Exception) as e: + assert photos[0].export(dest, filename, edited=True) + assert e.type == ValueError + + +def test_export_11(photosdb): + # export edited file with name provided + import os + import os.path + import tempfile + import time + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["has_adjustments"]]) + + timestamp = time.time() + filename = f"osxphotos-export-test-{timestamp}.jpg" + expected_dest = os.path.join(dest, filename) + + got_dest = photos[0].export(dest, filename, edited=True)[0] + assert got_dest == expected_dest + + +def test_export_12(photosdb): + # export edited file with default name + import os + import os.path + import pathlib + import tempfile + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["has_adjustments"]]) + + edited_name = pathlib.Path(photos[0].path_edited).name + edited_suffix = pathlib.Path(edited_name).suffix + filename = ( + pathlib.Path(photos[0].original_filename).stem + "_edited" + edited_suffix + ) + expected_dest = os.path.join(dest, filename) + + got_dest = photos[0].export(dest, edited=True)[0] + assert got_dest == expected_dest + + +def test_export_13(photosdb): + # export to invalid destination + # should raise exception + import os + import os.path + import tempfile + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + + # create a folder that doesn't exist + i = 0 + while os.path.isdir(dest): + dest = os.path.join(dest, str(i)) + i += 1 + + photos = photosdb.photos(uuid=[UUID_DICT["export"]]) + + filename = photos[0].filename + + with pytest.raises(Exception) as e: + assert photos[0].export(dest) + assert e.type == type(FileNotFoundError()) + + +def test_export_14(caplog, photosdb): + # test export with user provided filename with different (but valid) extension than source + import os + import os.path + import tempfile + import time + + tempdir = tempfile.TemporaryDirectory(prefix="osxphotos_") + dest = tempdir.name + photos = photosdb.photos(uuid=[UUID_DICT["export_tif"]]) + + timestamp = time.time() + filename = f"osxphotos-export-2-test-{timestamp}.tif" + expected_dest = os.path.join(dest, filename) + got_dest = photos[0].export(dest, filename)[0] + + assert got_dest == expected_dest + assert os.path.isfile(got_dest) + + assert "Invalid destination suffix" not in caplog.text + + +def test_eq(photosdb): + """Test equality of two PhotoInfo objects""" + import osxphotos + + photosdb2 = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos1 = photosdb.photos(uuid=[UUID_DICT["export"]]) + photos2 = photosdb2.photos(uuid=[UUID_DICT["export"]]) + assert photos1[0] == photos2[0] + + +def test_eq_2(photosdb): + """Test equality of two PhotoInfo objects when one has memoized property""" + import osxphotos + + photosdb2 = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos1 = photosdb.photos(uuid=[UUID_DICT["in_album"]]) + photos2 = photosdb2.photos(uuid=[UUID_DICT["in_album"]]) + + # memoize a value + albums = photos1[0].albums + assert albums + + assert photos1[0] == photos2[0] + + +def test_not_eq(photosdb): + photos1 = photosdb.photos(uuid=[UUID_DICT["export"]]) + photos2 = photosdb.photos(uuid=[UUID_DICT["missing"]]) + assert photos1[0] != photos2[0] + + +def test_photosdb_repr(): + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photosdb2 = eval(repr(photosdb)) + + ignore_keys = ["_tmp_db", "_tempdir", "_tempdir_name", "_db_connection"] + assert {k: v for k, v in photosdb.__dict__.items() if k not in ignore_keys} == { + k: v for k, v in photosdb2.__dict__.items() if k not in ignore_keys + } + + +def test_photosinfo_repr(photosdb): + import datetime + + photos = photosdb.photos(uuid=[UUID_DICT["favorite"]]) + photo = photos[0] + photo2 = eval(repr(photo)) + + assert {k: str(v).encode("utf-8") for k, v in photo.__dict__.items()} == { + k: str(v).encode("utf-8") for k, v in photo2.__dict__.items() + } + + +def test_from_to_date(photosdb): + import datetime as dt + import os + import time + + os.environ["TZ"] = "US/Pacific" + time.tzset() + + photos = photosdb.photos(from_date=dt.datetime(2018, 10, 28)) + assert len(photos) == 7 + + photos = photosdb.photos(to_date=dt.datetime(2018, 10, 28)) + assert len(photos) == 7 + + photos = photosdb.photos( + from_date=dt.datetime(2018, 9, 28), to_date=dt.datetime(2018, 9, 29) + ) + assert len(photos) == 4 + + +def test_date_invalid(): + """Test date is invalid""" + # doesn't run correctly with the module-level fixture + from datetime import datetime, timedelta, timezone + + import osxphotos + + # UUID_DICT["date_invalid"] has an invalid date that's + # been manually adjusted in the database + photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB) + photos = photosdb.photos(uuid=[UUID_DICT["date_invalid"]]) + assert len(photos) == 1 + p = photos[0] + delta = timedelta(seconds=p.tzoffset) + tz = timezone(delta) + assert p.date == datetime(1970, 1, 1).astimezone(tz=tz) + + +def test_date_modified_invalid(photosdb): + """Test date modified is invalid""" + from datetime import datetime, timedelta, timezone + + # UUID_DICT["date_invalid"] has an invalid modified date that's + # been manually adjusted in the database + photos = photosdb.photos(uuid=[UUID_DICT["date_invalid"]]) + assert len(photos) == 1 + p = photos[0] + assert p.date_modified is None + + +def test_uti(photosdb): + """test uti""" + + for uuid, uti in UTI_DICT.items(): + photo = photosdb.get_photo(uuid) + assert photo.uti == uti + assert photo.uti_original == UTI_ORIGINAL_DICT[uuid] + + +def test_raw(photosdb): + """Test various raw properties""" + + for uuid, rawinfo in RAW_DICT.items(): + photo = photosdb.get_photo(uuid) + assert photo.original_filename == rawinfo.original_filename + assert photo.has_raw == rawinfo.has_raw + assert photo.israw == rawinfo.israw + assert photo.uti == rawinfo.uti + assert photo.uti_original == rawinfo.uti_original + assert photo.uti_raw == rawinfo.uti_raw + + +def test_is_reference(photosdb): + """test isreference""" + + photo = photosdb.get_photo(UUID_IS_REFERENCE) + assert photo.isreference + photo = photosdb.get_photo(UUID_NOT_REFERENCE) + assert not photo.isreference + + +def test_adjustments(photosdb): + """test adjustments/AdjustmentsInfo""" + from osxphotos.adjustmentsinfo import AdjustmentsInfo + + photo = photosdb.get_photo(UUID_DICT["adjustments_info"]) + adjustments = photo.adjustments + assert isinstance(adjustments, AdjustmentsInfo) + assert adjustments.asdict() == { + "data": b"mW\xdb\x92\xa3:\xb2\xfd\x17\xbfVG\x97\xc0`CG\xcc\x03 \x89\x9b\xc1 n\xc6S\xf3\x80\x01s5`\x83\x0b\xec\x1d\xfb\xdf\x8f\\\xdd}vO\xc4\xf0\x862\xb5r)%e.\xfd\xb5\xfa\xccoc\xd5wzw\xeeW?\xfeZ\x9d\xeeU\x9b\xd9\xf7\xcb)\xbf\xad~\xacX \xf1k\x81KW\xdfV\xc90\x84?]\xe9\xf8\x9a\x01\xdf\x99\xef\x0c\x03\xa8aL\xcb\xfc\x92\x90\xfc\xb3\xfaid\xbe\xad\x866\x99\xce\xfd\xedB=\xf7\xdea\xf5\xf7\xb7\xd5%\x9f\x92,\x99\x92W\x88K2N\xf9-\xaa\xb2\xa9\\\xfdX\x03\x96\xa3\x13\xaa!o\xab.\xff'\x02\x9d\xf7\x9d\xa3\xe8?\x9d\xb5\xbc*\xcai\xf5\x83\x03k\xf6\xdb\xaa\xbfUy7%\xd3\xcfp\x14\xfd\x15+\x99\xfe\x7f2e\x90d\xf5}\x9c.\xd4m\\\xfd\xf8\xf7_\xff\xc3#\xef\x92S\x9bg\xab\x1f\xd3\xed\x9e\xd3U\xe4\xd3Tu\xc5\xf8\"\xd8\x9f\xcf\xf4w\xd7\xa7I\xbb\xfb\x19\x17|\xfb5\xa8\xd1\xff\xf656~\rV\xddp\x9f~\xfb|g\x84\r\x107<\xe08\xb0\x05<\xc3\n\xbfg\xa1e\xe8\xc7\xfb-\xff\x03Hn\x93\xb4q\xfa\xaa\xfb\x13]\xbe\xbd\xa0\xba|\xfc\x89>\xbe\xd68NU\xfa\xc5j\x00\xec+\x08\x00[\x81[3\xeb-\xcbs\"`\xc4\r\xd8\xd2\xfc\xf1\xe0\xcb&\n`-\xb2\x0c\xbf\x116\xec\x96\xe3\x01e\x90\xdc\xa7>L\xda\xfb+\xf8wV\xe07\xe0\x8f\x8f&\xf3\xf4'\x11\x8a\xbef\xc4\xed\x86gh\xa6yQ`\x99-\xffm5\xf5]\xd2\x92\xa4+\xf2_A8~\xb3\xd9\xf2\x80\x05\x94\x05\xcbR\x8f\x81\xe5\xbfLk\x9e\x159\x86\xd9n8\x9a\x00A`\xd7\xd4$\n/\x13/\xfe\xf7G\x99}\xe5\xd1J\x06\xba\xdb\x18\x0ff\x06\x86\x93\x176n$\xf1\x07\xc24v$\xdb\x11\xc6\xf1`)\xe6`\xe0\xe2\x14\xc9\x97;f\xe2\xb2V\xfc\xad1\xa1\xaa\x01a\xa9G\x06n\x19G\x0f\xd56J\x98l\x8a\"1I[\x86=\xac[\xf8\xf1\xbe\xe0\x19\xb6\x81\x136Yl\xe0\xd4\t\x894\xa3\xe5\xa8G\xa8\x8c\xd5\xd0F\x91l\x1cP\x18\xc7\x91\xa2\xeaF\xd2\xda\xf1\xf2Y\xe0\xb5T\x9c\x82\xdb\x1cdb\xc8\xb4\xc71d\x99\xe3\x89\x19\x96\x83\x16\x9es\xf9\x02\xa1\xd7\xd8\xe1\xccG\xb8\x8d\x83\x10\xe2\x880\x99\x16\x82\xf2\xe0\xe1\x8c\xe2\xb6\x14\xb7\xf1\xa3\xe6\xa6;\xc9\xfc\xf9\xf1\x1el7\xb0\x1d\x9d\xa3L\xa6\xe0r\x0c\x12\x1c^\xc3O\xee6zg3:/i\xdb\xf2\x1c~\xa0#\x99E\n\x14'\xa1\xdc\xa4\xc8\xe7|\re\x07/,\r\nx\xf4\xda\xd6\x8c\xc0\x94\xfa\x98\xb1\x0eUX\x903\xb2\x95Bl\xed\x8ex\xe7\x90\xf4\xa1:\x84\xcd\xa3\xf8x7A\x90\x92\xb2\x01\x81\xd3\xefu\xd98\x937\xcal\x06\x16\xac\xadD\x93\xc5\xd8\xc3\xbf\x01\x073j\xa6\xd3\x17`\xc3\x17>\x8b\x9d\xb8\x00*\x8c\\\xe6\x13\x92\x8f\xf7P\xb3\xd8B\xc1c\xc8\x19\n\xb3x\x05>I\xfe\\\xea\x1e\x96\xf5 \\\xc8a\x1f\xf5$$\x95\xe9\x99\xb2\x1e7\xbf\x186t\xef\x98\x85\x022\xe7/\xc0\x92\xe6\xca\r\xec\xa856\xb6j\x05\x19\x91\x19[\x94\x0e\x8b\xbc\xefP\xe5\xfa\xa8\xb4\\\xd8\xc4\x07\"\xa7\x01\x0e\x8b\xd0{8g\xc3L\xabc0T_\x04\xc1\x8b \xc5\x0b~\xe1\xb5\xb8\x81Ql\xcb\x05s\x0f\x1d\x8e\xec\x89i I \x88\xe8\x1e\xea\xdc cx!\x8e\x037\\\xec\x90N\x8b@\x99\x1d\xf0\xa5h?\xde\x9b\xf5\xc7\xbb\xf7)\xfe\xc30`\xf2\xdf\x88\xc1\xc1\xb23\x99\x9f\x9ckA7k~\x13\xcdx\xbe\xf6\xb8\x05Qg\x9fF\xcc\xaf\xe91*\xaf\xafc\xd9\xf6QD\xc8\xcd\x98\xe6!\x82og\xef.m\x0eh\xe8\xber\x08~\xe5\x90\xc1\xad\xd3\xf5\xdd\xd1\xcb\x02=\xd2\xe3\\\xeeJ\xf5\xd2ge\xf9\xd6k]\\[^t\xd4\xd8&\xfa\x94\xa5\x9d\xf7\xf1n\x9b\x14\xe0\xa46Ex\x93\x13\x93$\xa5\xb5i\x9eG?\x13\xf7\x0c\xfax\xcf\xfd7\xe2\xb2X\xf3\x83\x1d\xe7\x15\xb3P\xc2\xc7L\xf62\x8aP4\x96\xdb\xc5m\xf4\xe7\xf8$>Mm\xa3\xdf\x1dy\xd8\xa0>\xa4K[r\x8cg\x07\xce\xc2\x1e>]\x97\x94;\x8c\xd2\xd9\xbb/\xa6\xa8\r\xee)]\xe6;~\xcc\x8e\xebrg\x18\x01\xef)\xbd%p\x9e\x1d$\x07\x0f\xb8\xc4\x83\xe33{\x17K\x82\xf7\x0c\x91m\xf7\xd7&x,\x18\x03\x17\x16\x14\xafD\xd4O\x1bP$yq9\xd5\x06k\xf5n\x15\xb0\xfa\xd3:%\x85x\x83\xc5\xec\xaa\x05G \xe9m8\x03\x0f{znW\x8d\xb8\x07\xa2\x12\xc0\xc9\xda\xadyk\x86W\x82\x96\xc0K\t\xbe\xe0]\x1a.\xb2\xeb\xaag\xdbi[\xb9\x0e\xa2\xe0v\xf4\x8e\x9d\x1e\r\xe1I\x0e\xa7\xb0\x93\xec\xd4\x05;\xe8YGSA7]\xe9k\xcb\x97\x04\xabf\xd2\x1c\xf3\xbc\xd65\xe7G\xb5u\xad\xa1w`\xb9\x9c\x902;:\x89\xb6\xda\xbe\t\x04\th\xd0M\x9d<\xb4Em\x9fE)n\x17\xd4I{U\x9a5H\xc0\xc5z\xcck\xf3\x19\xdf\xac\xaa\x99-\x08n\xb9\xaaX\xf1a\xfe<\xcb\x1b\xc50\xc3\x8a\x95C\x84'\x89\xcc\xd2\xc7{\x01\x8f\xbd\xad\xb9 \x83\xc5\xe8\xf0\x05{~\x9dj\x85\xf0\x8c1\xe8N63kH$[\xf5F\xc1n\\\xe0\xd6\xfa\xc7\xfb\xae\x1e\xef{%\x13\x0ew\xbb.\x9aHR\xf5\xb9\xe8\xaa\xe7Ek\xf5\xe3Pv\x9e\x7f\xbe\xf6\x1f\xef\x14Z\x84Rc\x99d\xd7\x99g\xcb\x16f\x96\xa0.\xf62Y\xa79\x02\x9e.\xcd.\xdd\xe3\xad\xe7O\xe6\x1e\x05O\x87U\xa5\xa3.\xf1\xb5\x9a(!geUe\xbc\x99b+\xdf\\q\xd2\x02\xeb\xe8\x93\xa7\x00\xdf\x90\x8dd\xd7\xc3\xfa|\xb8\xca\xbb\x1b\xdc\xb8\x81J\x9aBS\xac\xcc\x90\xe7\x0b]\xbbm>Zd\x06\xc5@\x14K\x80\x1c\xbe\x94\xf8\xba?\x8a\xa4\xae\xe8}U\x8f\xc1,\xe2\xce\x81\x89\xe0^\xe5\xda\xde[\x85\xbb\x90\xb9Sk+\x8b\xc9|\xa6X\x81\xeaI7\xa3\x96\xae\xb6\xd70\x06\xb4\xf2]\x01LL\xe6\xd6|\x8c\x0f\xf8\x10\x1c\\\x08v\xd0\xb7\x97J\xbd[\xbbA\xa8:E\xc9\x0c\xd3:\xb62\x1a\x91,xN\xb9\xae5/mvU\xf0i@\xbd\xde=\xd0\xd3|\xceO\x02ml\x054\x9c,=Q\xa9\x1fT2_\x0c\x90z\x88 \x11\xc1\xd4\xab\x19\xd5I\x8c0j\x96j\xaf\xf5s\xde/\xc5@\xf3d\xc3\x02\\\xe0C\xafm\x8f\xdbZ>X\x1cOx\xd3\xfd\xa0t\xfda\xef\x84\x12\xe7\xcd\x8c\x8c\\p\xd0\x15\xebnx\xdc\x90\x94\xa1m\xb43\x97\x11\xf1b\xe2\xb49>lF=\x02\xcf\xa9\xccReb\x0b\xcd\xc2\x11\xc9Vjx\xfaE\xf3\xfb\xd2\xa9\xac\x8fw\x0b\n\xa3\xa3\x8c`\xe7\x17\xb5\xed\xce'e\x89w\x98\x14\x17\xcd+\xc6\xfd\xe3\x99\x19\x96\x94'\xca\xd6\xd1\xb9\xa0\xbbz\xc4\xd1\xd6\\P\xca\xb6\x02\xd9`o\xcc\xe2\x15-c\xacW\xd6E\xaf\x82\xd2\xf0(\x91\xe7\xfcpa\x08)\xe1i\xaf\xe8\x9f\xb0L-\x9d\xb8>\x94\xa5\xce\xf1\rn\xc75\xf5\xe7\xe3\xf8i\xd9\xe3\xd4Vwl\\\xc6\xe2Z\x0e\x9f\xa8.N\xed\xd2\x16F\x07\x86\xbaB\x83^\xa5\xb5\xa9\x047c=\x8a~\xcd\xd8v\x10<\xddjba\xab{\xf4B\xda\xf8 Y\xca,d\x18\x8c\xe7\xa6Nh\x8f\xd0\x8a\xea\xe2\x85\xc5\xee\x96\x1e\x08\xd9\xf8\xe8V8\xe92\xad\xb1:\x97u\xc9\xae\xb19^\xac*\x9bi\xd9\x08\xbaY\xb8\xa3\x9d\xe4\xd2f\xb3W\xd3\xd1\x96\x17\n\xda\xa0 \x91\xb8\x806\xba\xd0Y\xc4Y3\xd1\x05\xc8y\x86\x19\xe9\x14\xca\xed\xa0^\xa4\xa4&r\xad\x19M\x98.\x0fO\xef\x80_\x95\xd9\x03\xb5\x16\xd9\xc9\xbeg\xec\xd3x\xeb\n\x11r{2\x16@\xc3r\xb0w\x88~\xc4\\p,\xe4DR\xc3\xb9X<\x07\xe2\xa4\x89J%j\xf11\x8e\xb22l \xa7\xdb\x07W\xac\xe0e\xca\xd63O[fo\x87\xee\xc7;\xd9\x89)-o'\x1d\xe3\xc6Q(0=\xe2\x81*\x1fe5\xe4\xce\xe3R\xdeq\x9aNu\x05cM\x9f\x93\xaa\xcc\x11\xe2]\xf7D\xc2\x16\xadu/p\x19\x0f\xe1\xc2I$6\x85\x9cD\x1e\x12\xdf\xe0~\x1e\xba\xf2\xb1\xd3TP\x9e\n1\x86Ea+.p\xd4\xb0/\x0bo\xbf\xc5