68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# Project imports
 | 
						|
import os
 | 
						|
import sys
 | 
						|
 | 
						|
import hashlib
 | 
						|
import random
 | 
						|
import re
 | 
						|
import shutil
 | 
						|
import string
 | 
						|
import tempfile
 | 
						|
import time
 | 
						|
 | 
						|
sys.path.insert(0, os.path.abspath(os.path.dirname(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.realpath(__file__)))))
 | 
						|
 | 
						|
import helper
 | 
						|
from elodie.media.audio import Audio
 | 
						|
from elodie.media.media import Media
 | 
						|
from elodie.media.photo import Photo
 | 
						|
from elodie.media.video import Video
 | 
						|
 | 
						|
os.environ['TZ'] = 'GMT'
 | 
						|
 | 
						|
 | 
						|
def test_get_file_path():
 | 
						|
    media = Media(helper.get_file('plain.jpg'))
 | 
						|
    path = media.get_file_path()
 | 
						|
 | 
						|
    assert 'plain.jpg' in path, path
 | 
						|
 | 
						|
def test_get_class_by_file_photo():
 | 
						|
    media = Media.get_class_by_file(helper.get_file('plain.jpg'), [Photo, Video])
 | 
						|
 | 
						|
    assert media.__name__ == 'Photo'
 | 
						|
 | 
						|
def test_get_class_by_file_video():
 | 
						|
    media = Media.get_class_by_file(helper.get_file('video.mov'), [Photo, Video])
 | 
						|
 | 
						|
    assert media.__name__ == 'Video'
 | 
						|
 | 
						|
def test_get_class_by_file_unsupported():
 | 
						|
    media = Media.get_class_by_file(helper.get_file('text.txt'), [Photo, Video])
 | 
						|
 | 
						|
    assert media is None
 | 
						|
 | 
						|
def test_get_class_by_file_ds_store():
 | 
						|
    media = Media.get_class_by_file(helper.get_file('.DS_Store'),
 | 
						|
                                    [Photo, Video, Audio])
 | 
						|
    assert media is None
 | 
						|
 | 
						|
def test_get_class_by_file_invalid_type():
 | 
						|
    media = Media.get_class_by_file(None,
 | 
						|
                                    [Photo, Video, Audio])
 | 
						|
    assert media is None
 | 
						|
 | 
						|
    media = Media.get_class_by_file(False,
 | 
						|
                                    [Photo, Video, Audio])
 | 
						|
    assert media is None
 | 
						|
 | 
						|
    media = Media.get_class_by_file(True,
 | 
						|
                                    [Photo, Video, Audio])
 | 
						|
    assert media is None
 | 
						|
 | 
						|
def is_valid():
 | 
						|
    media = Media()
 | 
						|
 | 
						|
    assert not media.is_valid()
 |