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:
|
if trash:
|
||||||
send2trash(_file)
|
send2trash(_file)
|
||||||
|
|
||||||
|
return dest_path or None
|
||||||
|
|
||||||
|
|
||||||
@click.command('import')
|
@click.command('import')
|
||||||
@click.option('--destination', type=click.Path(file_okay=False),
|
@click.option('--destination', type=click.Path(file_okay=False),
|
||||||
|
|
|
@ -126,6 +126,11 @@ def get_key():
|
||||||
|
|
||||||
|
|
||||||
def place_name(lat, lon):
|
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
|
# Try to get cached location first
|
||||||
db = Db()
|
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