60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
""" Test PlaceInfo """
|
|
import pytest
|
|
|
|
from osxphotos._constants import _UNKNOWN_PERSON
|
|
|
|
PHOTOS_DB = "./tests/Test-10.14.6.photoslibrary/database/photos.db"
|
|
|
|
UUID_DICT = {"place_uk": "3Jn73XpSQQCluzRBMWRsMA", "no_place": "15uNd7%8RguTEgNPKHfTWw"}
|
|
|
|
|
|
def test_place_place_info_1():
|
|
# test valid place info
|
|
import osxphotos
|
|
|
|
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
|
|
photo = photosdb.photos(uuid=[UUID_DICT["place_uk"]])[0]
|
|
assert photo.place is not None
|
|
assert isinstance(photo.place, osxphotos.placeinfo.PlaceInfo)
|
|
assert not photo.place.ishome
|
|
assert photo.place.name == "St James's Park"
|
|
assert photo.place.names == [
|
|
"St James's Park",
|
|
"Westminster",
|
|
"London",
|
|
"England",
|
|
"United Kingdom",
|
|
]
|
|
assert photo.place.country_code == "GB"
|
|
assert photo.place.address_str is None
|
|
assert photo.place.address.city is None
|
|
assert photo.place.address.country is None
|
|
assert photo.place.address.postal_code is None
|
|
assert photo.place.address.state is None
|
|
assert photo.place.address.street is None
|
|
assert photo.place.address.sub_administrative_area is None
|
|
assert photo.place.address.sub_locality is None
|
|
assert photo.place.address.iso_country_code is None
|
|
|
|
|
|
def test_place_no_place_info():
|
|
# test valid place info
|
|
import osxphotos
|
|
|
|
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
|
|
photo = photosdb.photos(uuid=[UUID_DICT["no_place"]])[0]
|
|
|
|
assert photo.place is None
|
|
|
|
|
|
def test_place_str():
|
|
# test __str__
|
|
import osxphotos
|
|
|
|
photosdb = osxphotos.PhotosDB(dbfile=PHOTOS_DB)
|
|
photo = photosdb.photos(uuid=[UUID_DICT["place_uk"]])[0]
|
|
assert (
|
|
str(photo.place)
|
|
== "PlaceInfo(name='St James's Park', names='[\"St James's Park\", 'Westminster', 'London', 'England', 'United Kingdom']', country_code='GB')"
|
|
)
|