gh-108 Add tests for the import_file function in elodie.py
This commit is contained in:
parent
4097889e04
commit
77266a7bd4
|
@ -60,6 +60,8 @@ def import_file(_file, destination, album_from_folder, trash):
|
|||
if trash:
|
||||
send2trash(_file)
|
||||
|
||||
return dest_path or None
|
||||
|
||||
|
||||
@click.command('import')
|
||||
@click.option('--destination', type=click.Path(file_okay=False),
|
||||
|
|
|
@ -126,6 +126,11 @@ def get_key():
|
|||
|
||||
|
||||
def place_name(lat, lon):
|
||||
# Convert lat/lon to floats
|
||||
if not isinstance(lat, float):
|
||||
lat = float(lat)
|
||||
if not isinstance(lon, float):
|
||||
lon = float(lon)
|
||||
|
||||
# Try to get cached location first
|
||||
db = Db()
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
# Project imports
|
||||
from imp import load_source
|
||||
import os
|
||||
import sys
|
||||
import shutil
|
||||
|
||||
from nose.plugins.skip import SkipTest
|
||||
|
||||
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))))
|
||||
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))))))
|
||||
|
||||
import helper
|
||||
elodie = load_source('elodie', os.path.abspath('{}/../../elodie.py'.format(os.path.dirname(os.path.realpath(__file__)))))
|
||||
|
||||
from elodie import constants
|
||||
|
||||
os.environ['TZ'] = 'GMT'
|
||||
|
||||
|
||||
def test_import_file_text():
|
||||
temporary_folder, folder = helper.create_working_folder()
|
||||
temporary_folder_destination, folder_destination = helper.create_working_folder()
|
||||
|
||||
origin = '%s/valid.txt' % folder
|
||||
shutil.copyfile(helper.get_file('valid.txt'), origin)
|
||||
|
||||
reset_hash_db()
|
||||
dest_path = elodie.import_file(origin, folder_destination, False, False)
|
||||
restore_hash_db()
|
||||
|
||||
shutil.rmtree(folder)
|
||||
shutil.rmtree(folder_destination)
|
||||
|
||||
assert helper.path_tz_fix(os.path.join('2016-04-Apr','Unknown Location','2016-04-07_11-15-26-valid-sample-title.txt')) in dest_path, dest_path
|
||||
|
||||
def test_import_file_audio():
|
||||
raise SkipTest('gh-61 this test fails on travisci')
|
||||
temporary_folder, folder = helper.create_working_folder()
|
||||
temporary_folder_destination, folder_destination = helper.create_working_folder()
|
||||
|
||||
origin = '%s/audio.m4a' % folder
|
||||
shutil.copyfile(helper.get_file('audio.m4a'), origin)
|
||||
|
||||
reset_hash_db()
|
||||
dest_path = elodie.import_file(origin, folder_destination, False, False)
|
||||
restore_hash_db()
|
||||
|
||||
shutil.rmtree(folder)
|
||||
shutil.rmtree(folder_destination)
|
||||
|
||||
assert helper.path_tz_fix(os.path.join('2016-01-Jan','Houston','2016-01-04_05-28-15-audio-test-audio.m4a')) in dest_path, dest_path
|
||||
|
||||
def test_import_file_photo():
|
||||
temporary_folder, folder = helper.create_working_folder()
|
||||
temporary_folder_destination, folder_destination = helper.create_working_folder()
|
||||
|
||||
origin = '%s/plain.jpg' % folder
|
||||
shutil.copyfile(helper.get_file('plain.jpg'), origin)
|
||||
|
||||
reset_hash_db()
|
||||
dest_path = elodie.import_file(origin, folder_destination, False, False)
|
||||
restore_hash_db()
|
||||
|
||||
shutil.rmtree(folder)
|
||||
shutil.rmtree(folder_destination)
|
||||
|
||||
assert helper.path_tz_fix(os.path.join('2015-12-Dec','Unknown Location','2015-12-05_00-59-26-plain.jpg')) in dest_path, dest_path
|
||||
|
||||
def test_import_file_video():
|
||||
temporary_folder, folder = helper.create_working_folder()
|
||||
temporary_folder_destination, folder_destination = helper.create_working_folder()
|
||||
|
||||
origin = '%s/video.mov' % folder
|
||||
shutil.copyfile(helper.get_file('video.mov'), origin)
|
||||
|
||||
reset_hash_db()
|
||||
dest_path = elodie.import_file(origin, folder_destination, False, False)
|
||||
restore_hash_db()
|
||||
|
||||
shutil.rmtree(folder)
|
||||
shutil.rmtree(folder_destination)
|
||||
|
||||
assert helper.path_tz_fix(os.path.join('2015-01-Jan','California','2015-01-19_12-45-11-video.mov')) in dest_path, dest_path
|
||||
|
||||
def reset_hash_db():
|
||||
hash_db = constants.hash_db
|
||||
if os.path.isfile(hash_db):
|
||||
os.rename(hash_db, '{}-test'.format(hash_db))
|
||||
|
||||
def restore_hash_db():
|
||||
hash_db = '{}-test'.format(constants.hash_db)
|
||||
if os.path.isfile(hash_db):
|
||||
os.rename(hash_db, hash_db.replace('-test', ''))
|
Loading…
Reference in New Issue