def download_order(tmp_path): yield DownloadOrder( InstanceResource.URL_TWITTER_IMAGE, SaveOrder(tmp_path, "20190808154015pbs.twimg.com_media_CeBmNUIUUAAZoQ3", datetime(2019, 8, 8, 15, 40, 15)), )
async def test_image(tmp_path, bytes_image_twitter): """Tests image.""" file_name = "20190808050245pbs.twimg.com_media_CeBmNUIUUAAZoQ3" created_date_time = datetime(2019, 8, 8, 5, 2, 45) save_order = SaveOrder(tmp_path, file_name, created_date_time) media_file = await MediaSaveCoroutine().execute( bytes_image_twitter, save_order) assert media_file.path_file.name == file_name assert media_file.path_file.read_bytes() == bytes_image_twitter
def filter(tmp_path, bytes_image_twitter, mock_aioresponse): """Filters.""" url1 = InstanceResource.URL_TWITTER_IMAGE byte1 = bytes_image_twitter file_name1 = "20190808154015pbs.twimg.com_media_CeBmNUIUUAAZoQ3" mock_aioresponse.get(url1, status=200, body=byte1) list_download_order = [ DownloadOrder(url1, SaveOrder(tmp_path, file_name1, datetime(2018, 10, 27, 14, 20, 44))), ] return ParallelMediaDownloader.execute(list_download_order, media_filter=NotImageFilter())
def test_not_implemented_error(tmp_path, bytes_image_twitter): """Test NotImplementedError.""" class ErrorFilter(MediaFilter): def _filter(self, media_file: MediaFile): super()._filter(media_file) assert False save_order = SaveOrder(tmp_path, "test.PNG", datetime(2019, 8, 8, 2, 28, 15)) with pytest.raises(NotImplementedError): ErrorFilter().filter(MediaFile(bytes_image_twitter, save_order))
def test_bytes_remove(tmp_path, bytes_image_twitter): """Tests bytes and remove().""" file_name = "test.PNG" created_date_time = datetime(2019, 8, 8, 2, 28, 15) file_path = tmp_path / file_name save_order = SaveOrder(tmp_path, file_name, created_date_time) media_file = MediaFile(bytes_image_twitter, save_order) assert file_path.read_bytes() == bytes_image_twitter assert media_file.is_filtered is None media_file.remove() assert not file_path.exists()
def test_timestamp(tmp_path, bytes_image_twitter): """Tests timestamp.""" file_name = "test.PNG" created_date_time = datetime(2019, 8, 8, 2, 28, 15) file_path = tmp_path / file_name save_order = SaveOrder(tmp_path, file_name, created_date_time) MediaFile(bytes_image_twitter, save_order) assert os.path.getatime( str(file_path)) == created_date_time.timestamp() assert os.path.getmtime( str(file_path)) == created_date_time.timestamp()
async def test_filter(tmp_path, bytes_image_twitter): """Tests filter.""" file_name = "20190808050245pbs.twimg.com_media_CeBmNUIUUAAZoQ3" created_date_time = datetime(2019, 8, 8, 5, 2, 45) save_order = SaveOrder(tmp_path, file_name, created_date_time) media_file = await MediaSaveCoroutine(media_filter=NotImageFilter() ).execute( bytes_image_twitter, save_order) assert media_file.path_file.name == file_name assert media_file.is_filtered assert not media_file.path_file.exists()
def test_is_micro_image_not_image_file(tmp_path, bytes_image_twitter): save_order = SaveOrder(tmp_path, "test.mp4", datetime(2019, 8, 8, 2, 28, 15)) media_file = MediaFile(bytes_image_twitter, save_order) assert NotImageFilter().filter(media_file) assert media_file.is_filtered
def test(tmp_path): file_name = "20190808154015pbs.twimg.com_media_CeBmNUIUUAAZoQ3" save_order = SaveOrder(tmp_path, file_name, datetime(2019, 8, 8, 15, 40, 15)) assert save_order.path_file == tmp_path / file_name
def test(self, tmp_path, resource_path_root, mock_aioresponse): """Tests.""" created_date_time1 = datetime(2018, 10, 27, 14, 20, 44) created_date_time2 = datetime(2018, 11, 7, 10, 16, 24) list_download_order: List[Tuple[DownloadOrder, bytes]] = [ ( DownloadOrder( "https://stat.ameba.jp/user_images/20181027/14/da-pump-blog/70/01/j/o1080097814291864857.jpg", SaveOrder( tmp_path, "20181027142044stat.ameba.jp_user_images_" "20181027_14_da-pump-blog_70_01_j_o1080097814291864857.jpg", created_date_time1, ), ), (resource_path_root / "97x97_blue.png").read_bytes(), ), ( DownloadOrder( "https://stat.ameba.jp/user_images/20181027/14/da-pump-blog/6f/ca/j/o1080081014291864864.jpg", SaveOrder( tmp_path, "20181027142044stat.ameba.jp_user_images_" "20181027_14_da-pump-blog_6f_ca_j_o1080081014291864864.jpg", created_date_time1, ), ), (resource_path_root / "97x97_green.png").read_bytes(), ), ( DownloadOrder( "https://stat.ameba.jp/user_images/20181107/10/da-pump-blog/fe/e6/j/o1080080814298686921.jpg", SaveOrder( tmp_path, "20181107101624stat.ameba.jp_user_images_" "20181107_10_da-pump-blog_fe_e6_j_o1080080814298686921.jpg", created_date_time2, ), ), (resource_path_root / "97x97_red.png").read_bytes(), ), ( DownloadOrder( "https://stat.ameba.jp/user_images/20181107/10/da-pump-blog/1d/92/j/o1080080914298686924.jpg", SaveOrder( tmp_path, "20181107101624stat.ameba.jp_user_images_" "20181107_10_da-pump-blog_1d_92_j_o1080080914298686924.jpg", created_date_time2, ), ), (resource_path_root / "97x97_yellow.png").read_bytes(), ), ] for download_order, byte_data in list_download_order: mock_aioresponse.get(download_order.url, status=200, body=byte_data) list_media_download_result = ParallelMediaDownloader.execute( (download_order for download_order, _ in list_download_order) ) assert len(list_media_download_result) == len(list_download_order) for media_download_result, (download_order, content) in zip(list_media_download_result, list_download_order): self.check_download_result(media_download_result, download_order, content)