From e35e0ce47164d59a46bf182489de37ab903e265e Mon Sep 17 00:00:00 2001 From: Jaisen Mathai Date: Sun, 14 Feb 2016 00:55:39 -0800 Subject: [PATCH] gh-84 Added tests for invalid files with valid file extensions --- elodie/media/media.py | 6 +++--- elodie/media/photo.py | 6 +++--- elodie/tests/files/invalid.jpg | 0 elodie/tests/filesystem_test.py | 12 ++++++++++++ elodie/tests/media/photo_test.py | 6 ++++++ 5 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 elodie/tests/files/invalid.jpg diff --git a/elodie/media/media.py b/elodie/media/media.py index 209ea98..92124b5 100644 --- a/elodie/media/media.py +++ b/elodie/media/media.py @@ -30,9 +30,9 @@ class Media(object): __name__ = 'Media' d_coordinates = { - 'latitude' : 'latitude_ref', - 'longitude': 'longitude_ref' - } + 'latitude': 'latitude_ref', + 'longitude': 'longitude_ref' + } def __init__(self, source=None): self.source = source diff --git a/elodie/media/photo.py b/elodie/media/photo.py index 2f59c63..bd6ddb2 100644 --- a/elodie/media/photo.py +++ b/elodie/media/photo.py @@ -78,9 +78,9 @@ class Photo(Media): # values for S and W coords = exif[key].value return geolocation.dms_to_decimal( - *coords, - direction = exif[self.exif_map[self.d_coordinates[type]]].value - ) + *coords, + direction=exif[self.exif_map[self.d_coordinates[type]]].value + ) except KeyError: return None diff --git a/elodie/tests/files/invalid.jpg b/elodie/tests/files/invalid.jpg new file mode 100644 index 0000000..e69de29 diff --git a/elodie/tests/filesystem_test.py b/elodie/tests/filesystem_test.py index 2c67112..78e4be9 100644 --- a/elodie/tests/filesystem_test.py +++ b/elodie/tests/filesystem_test.py @@ -181,6 +181,18 @@ def test_get_folder_path_with_location_and_title(): assert path == os.path.join('2015-12-Dec','Sunnyvale'), path +def test_process_file_invalid(): + filesystem = FileSystem() + temporary_folder, folder = helper.create_working_folder() + + origin = os.path.join(folder,'photo.jpg') + shutil.copyfile(helper.get_file('invalid.jpg'), origin) + + media = Photo(origin) + destination = filesystem.process_file(origin, temporary_folder, media, allowDuplicate=True) + + assert destination is None + def test_process_file_plain(): filesystem = FileSystem() temporary_folder, folder = helper.create_working_folder() diff --git a/elodie/tests/media/photo_test.py b/elodie/tests/media/photo_test.py index 0f53e1d..6303707 100644 --- a/elodie/tests/media/photo_test.py +++ b/elodie/tests/media/photo_test.py @@ -53,6 +53,12 @@ def test_is_not_valid(): assert not photo.is_valid() +def test_get_metadata_of_invalid_photo(): + photo = Photo(helper.get_file('invalid.jpg')) + metadata = photo.get_metadata() + + assert metadata is None + def test_get_coordinate_default(): photo = Photo(helper.get_file('with-location.jpg')) coordinate = photo.get_coordinate()