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
예제 #3
0
 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))
예제 #5
0
 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()
예제 #6
0
 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
예제 #9
0
 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
예제 #10
0
    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)