def test_process_s3_key(self): # Setup key = 'test-process-s3-key.mov' iphone_key = 'test-process-s3-key-iphone.mp4' if not self.bucket.get_key(key): worker.upload_to_s3(self.test_video, key) self.bucket.delete_key(iphone_key) # Test self.assertIsNone(self.bucket.get_key(iphone_key)) worker.process_s3_key(key) self.assertIsNotNone(self.bucket.get_key(iphone_key))
def test_download_url(self): # Setup key = 'test-download-url.mov' url = helper.get_s3url(key) path = os.path.join(TMPDIR, key) if not self.bucket.get_key(key): worker.upload_to_s3(self.test_video, key) if os.path.isfile(path): os.remove(path) self.assertFalse(os.path.isfile(path)) worker.download_url(url) self.assertTrue(os.path.isfile(path))
def test_process_fullcopy(self, key='test-process-fullcopy.mov'): iphone_key = os.path.splitext(key)[0] + '-iphone.mp4' if not self.bucket.get_key(key): worker.upload_to_s3(self.test_video, key) self.bucket.delete_key(iphone_key) for video in db.query(Video).filter(Video.key.in_([key, iphone_key])): db.delete(video) self.assertEqual(0, db.query(Video).filter(Video.key.in_([key, iphone_key])).count()) self.assertIsNone(self.bucket.get_key(iphone_key)) worker._process_fullcopy(key) self.assertEqual(2, db.query(Video).filter(Video.key.in_([key, iphone_key])).count()) self.assertIsNotNone(self.bucket.get_key(iphone_key)) for k in [key, iphone_key]: self.assertFalse(os.path.isfile(os.path.join(TMPDIR, k)))
def test_create_video(self): bucket = helper.get_bucket() keyname = 'test-create-video.mov' key = bucket.get_key(keyname) if not key: key = worker.upload_to_s3(TEST_VIDEO, keyname) attrs = { 'key': keyname, 'video_bitrate': 1095, 'audio_bitrate': 126, 'framerate': 29970, 'width': 640, 'height': 360, 'num_audio_channels': 2, 'duration': 3180, # 'filesize': } video = Video(**attrs) db.add(video) db.commit() self.assertIsInstance(video.id, int) self.assertEqual(attrs['key'], video.key) self.assertEqual(attrs['video_bitrate'], video.video_bitrate) self.assertEqual(attrs['audio_bitrate'], video.audio_bitrate) self.assertEqual(attrs['framerate'], video.framerate) self.assertEqual(attrs['width'], video.width) self.assertEqual(attrs['height'], video.height) self.assertEqual(attrs['num_audio_channels'], video.num_audio_channels) self.assertEqual(attrs['duration'], video.duration) self.assertEqual(31.8, video.total_seconds())
def test_upload_to_s3(self): key = 'test-upload-to-s3.mov' self.bucket.delete_key(key) self.assertIsNone(self.bucket.get_key(key)) worker.upload_to_s3(self.test_video, key) self.assertIsNotNone(self.bucket.get_key(key))