Exemplo n.º 1
0
    def test_create_from_zipfile_with_multiple_images(self, upload_to_s3, Session):
        skyrider = Production.objects.get(title="Skyrider")
        link = skyrider.links.create(
            link_class='BaseUrl',
            parameter='http://example.com/badzipfile.zip',
            is_download_link=True
        )
        ArchiveMember.objects.create(
            archive_sha1='1714c638436d875760cba50fde5ad1382a042ef5',
            filename='bad-apple.png',
            file_size=42
        )
        ArchiveMember.objects.create(
            archive_sha1='1714c638436d875760cba50fde5ad1382a042ef5',
            filename='bad-apple-2.png',
            file_size=42
        )

        upload_to_s3.return_value = 'http://example.com/screens/skyrider.png'
        create_screenshot_from_production_link(link.id)

        link.refresh_from_db()
        self.assertTrue(link.is_unresolved_for_screenshotting)
        self.assertEqual(skyrider.screenshots.count(), 0)
        self.assertEqual(len(upload_to_s3.call_args_list), 0)
Exemplo n.º 2
0
    def test_previous_bad_image(self):
        skyrider = Production.objects.get(title="Skyrider")
        link = skyrider.links.create(
            link_class='BaseUrl',
            parameter='http://kestra.exotica.org.uk/files/screenies/28000/154a.png',
            is_download_link=True,
            has_bad_image=True
        )

        create_screenshot_from_production_link(link.id)
        self.assertEqual(skyrider.screenshots.count(), 0)
Exemplo n.º 3
0
    def test_create_from_zipfile_with_bad_image(self, upload_to_s3, Session):
        skyrider = Production.objects.get(title="Skyrider")
        link = skyrider.links.create(
            link_class='BaseUrl',
            parameter='http://example.com/rubberbadimage.zip',
            is_download_link=True)

        upload_to_s3.return_value = 'http://example.com/screens/skyrider.png'
        create_screenshot_from_production_link(link.id)

        link.refresh_from_db()
        self.assertTrue(link.has_bad_image)
        self.assertEqual(skyrider.screenshots.count(), 0)
        self.assertEqual(len(upload_to_s3.call_args_list), 0)
Exemplo n.º 4
0
    def test_create_from_zipfile(self, upload_to_s3, Session):
        skyrider = Production.objects.get(title="Skyrider")
        link = skyrider.links.create(link_class='BaseUrl',
                                     parameter='http://example.com/rubber.zip',
                                     is_download_link=True)

        upload_to_s3.return_value = 'http://example.com/screens/skyrider.png'
        create_screenshot_from_production_link(link.id)

        screenshot = skyrider.screenshots.first()
        self.assertEqual(len(upload_to_s3.call_args_list), 3)
        self.assertEqual(screenshot.original_url,
                         'http://example.com/screens/skyrider.png')
        self.assertEqual(screenshot.original_width, 320)
Exemplo n.º 5
0
    def test_create_from_bad_zipfile(self, upload_to_s3, Session):
        skyrider = Production.objects.get(title="Skyrider")
        link = skyrider.links.create(
            link_class='BaseUrl',
            parameter='http://example.com/badzipfile.zip',
            is_download_link=True)
        # create an archive listing so that fetch-from-mirror won't pre-empt the
        # BadZipFile error by trying to create one
        ArchiveMember.objects.create(
            archive_sha1='1714c638436d875760cba50fde5ad1382a042ef5',
            filename='bad-apple.png',
            file_size=42)

        upload_to_s3.return_value = 'http://example.com/screens/skyrider.png'
        create_screenshot_from_production_link(link.id)

        link.refresh_from_db()
        self.assertTrue(link.has_bad_image)
        self.assertEqual(skyrider.screenshots.count(), 0)
        self.assertEqual(len(upload_to_s3.call_args_list), 0)
Exemplo n.º 6
0
    def test_existing_screenshot(self):
        skyrider = Production.objects.get(title="Skyrider")
        screenshot = Screenshot.objects.create(
            production=skyrider,
            original_url='http://example.com/screens/skyrider.png',
            original_width=400, original_height=300
        )
        link = skyrider.links.create(
            link_class='BaseUrl',
            parameter='http://kestra.exotica.org.uk/files/screenies/28000/154a.png',
            is_download_link=True,
            is_unresolved_for_screenshotting=True
        )

        create_screenshot_from_production_link(link.id)

        self.assertEqual(skyrider.screenshots.count(), 1)
        screenshot = skyrider.screenshots.first()
        self.assertEqual(screenshot.original_url, 'http://example.com/screens/skyrider.png')
        link.refresh_from_db()
        self.assertFalse(link.is_unresolved_for_screenshotting)
Exemplo n.º 7
0
 def test_missing_link(self):
     create_screenshot_from_production_link(9999)