import unittest from db_utils import get_mime_from_mediainfo class TestGetMimeFromMediainfo(unittest.TestCase): def test_master_prores_returns_quicktime(self): ach_variables = { 'file_fullpath': 'DBT/VO-DBT-00001.mov', 'custom_data_in': { 'mediainfo': { 'media': { 'track': [ {'@type': 'General', 'Format': 'MPEG-4'}, {'@type': 'Video', 'Format': 'ProRes', 'Format_Profile': '4444'}, ] } } } } mime = get_mime_from_mediainfo(ach_variables) self.assertEqual(mime, 'video/quicktime') def test_master_not_prores_raises(self): ach_variables = { 'file_fullpath': 'DBT/VO-DBT-00002.mov', 'custom_data_in': { 'mediainfo': { 'media': { 'track': [ {'@type': 'General', 'Format': 'MPEG-4'}, {'@type': 'Video', 'Format': 'AVC', 'Format_Profile': 'High'}, ] } } } } with self.assertRaises(ValueError): get_mime_from_mediainfo(ach_variables) def test_file_folder_allows_non_prores(self): ach_variables = { 'file_fullpath': 'FILE/VO-DBT-00003.mp4', 'custom_data_in': { 'mediainfo': { 'media': { 'track': [ {'@type': 'General', 'Format': 'MPEG-4'}, {'@type': 'Video', 'Format': 'AVC', 'Format_Profile': 'High'}, ] } } } } mime = get_mime_from_mediainfo(ach_variables) self.assertEqual(mime, 'video/mp4') if __name__ == '__main__': unittest.main()