osxphotos/tests/test_shared_catalina_10_15_1.py
Rhet Turnbull eb0251b198
Fix for incorrect path for shared photos on Ventura, #883 (#893)
Fixes PhotoInfo.path to return the correct path for shared photos on Ventura (#883)
2023-01-01 08:26:54 -08:00

105 lines
2.7 KiB
Python

import pytest
import osxphotos
# TODO: put some of this code into a pre-function
PHOTOS_DB = "./tests/Test-Shared-10.15.1.photoslibrary/database/photos.db"
PHOTOS_DB_PATH = "/Test-Shared-10.15.1.photoslibrary/database/photos.db"
PHOTOS_LIBRARY_PATH = "/Test-Shared-10.15.1.photoslibrary"
KEYWORDS = ["portrait"]
# Photos 5 includes blank person for detected face
PERSONS = []
ALBUMS = ["Photo Shoot"]
ALBUMS_SHARED = ["osxphotos"]
UUID_DICT = {
"missing": "9D671650-B2FD-4760-84CA-FD25AF622C63",
"notmissing": "35243F7D-88C4-4408-B516-C74406E90C15",
}
UUID_SHARED = [
"9D671650-B2FD-4760-84CA-FD25AF622C63",
"35243F7D-88C4-4408-B516-C74406E90C15",
]
UUID_NOT_SHARED = ["37210110-E940-4227-92D3-45C40F68EB0A"]
def test_album_names():
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
albums = photosdb.albums
assert len(albums) == 1
assert albums[0] == ALBUMS[0]
def test_albums_shared():
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
albums_shared = photosdb.albums_shared
assert len(albums_shared) == 1
assert albums_shared[0] == ALBUMS_SHARED[0]
def test_albums_as_dict():
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
albums_as_dict = photosdb.albums_as_dict
assert len(albums_as_dict) == 1
assert albums_as_dict[ALBUMS[0]] == 1
def test_albums_shared_as_dict():
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
albums_shared_as_dict = photosdb.albums_shared_as_dict
assert len(albums_shared_as_dict) == 1
assert albums_shared_as_dict[ALBUMS_SHARED[0]] == 2
def test_missing_share():
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
photos = [p for p in photosdb.photos() if p.ismissing]
assert len(photos) == 1
assert photos[0].uuid == UUID_DICT["missing"]
def test_shared():
import osxphotos
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
photos = [p for p in photosdb.photos() if p.shared]
assert len(photos) == len(UUID_SHARED)
for p in photos:
assert p.uuid in UUID_SHARED
def test_not_shared():
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
photos = [p for p in photosdb.photos() if not p.shared]
assert len(photos) == 1
for p in photos:
assert p.uuid in UUID_NOT_SHARED
def test_query_shared_album():
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
photos = photosdb.photos(albums=[ALBUMS_SHARED[0]])
assert len(photos) == len(UUID_SHARED)
for p in photos:
assert p.uuid in UUID_SHARED
def test_query_shared_path():
"""Test shared path is not None for shared photos"""
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
for p in photosdb.photos():
if not p.shared or p.ismissing:
continue
assert p.path
assert p.path_derivatives