def test_download(self): """Test download method""" filename = 'download_test.txt' # standard download test_url = urljoin(self.wdir, 'download_test.txt') scraper = mozdownload.DirectScraper(url=test_url, directory=self.temp_dir, version=None) scraper.download() self.assertTrue(os.path.isfile(os.path.join(self.temp_dir, filename))) # Compare original and downloaded file via md5 hash md5_original = create_md5(os.path.join(mhttpd.HERE, mhttpd.WDIR, filename)) md5_downloaded = create_md5(os.path.join(self.temp_dir, filename)) self.assertEqual(md5_original, md5_downloaded) # RequestException test_url1 = urljoin(self.wdir, 'does_not_exist.html') scraper1 = mozdownload.DirectScraper(url=test_url1, directory=self.temp_dir, version=None) self.assertRaises(requests.exceptions.RequestException, scraper1.download) # Covering retry_attempts test_url2 = urljoin(self.wdir, 'does_not_exist.html') scraper2 = mozdownload.DirectScraper(url=test_url2, directory=self.temp_dir, version=None, retry_attempts=3, retry_delay=1.0) self.assertRaises(requests.exceptions.RequestException, scraper2.download)
def test_download(self): """Test download method""" filename = 'download_test.txt' # standard download test_url = urljoin(self.wdir, filename) scraper = mozdownload.DirectScraper(url=test_url, destination=self.temp_dir, logger=self.logger) scraper.download() self.assertTrue(os.path.isfile(os.path.join(self.temp_dir, filename))) # Compare original and downloaded file via md5 hash md5_original = create_md5( os.path.join(mhttpd.HERE, mhttpd.WDIR, filename)) md5_downloaded = create_md5(os.path.join(self.temp_dir, filename)) self.assertEqual(md5_original, md5_downloaded) # RequestException test_url1 = urljoin(self.wdir, 'does_not_exist.html') scraper1 = mozdownload.DirectScraper(url=test_url1, destination=self.temp_dir, logger=self.logger) self.assertRaises(requests.exceptions.RequestException, scraper1.download) # Covering retry_attempts test_url2 = urljoin(self.wdir, 'does_not_exist.html') scraper2 = mozdownload.DirectScraper(url=test_url2, destination=self.temp_dir, retry_attempts=3, retry_delay=1.0, logger=self.logger) self.assertRaises(requests.exceptions.RequestException, scraper2.download)
def test_compare_download(httpd, tmpdir): """Compare original and downloaded file via md5 hash""" filename = 'download_test.txt' test_url = urljoin(httpd.get_url(), filename) scraper = mozdownload.DirectScraper(url=test_url, destination=str(tmpdir)) scraper.download() md5_original = create_md5(os.path.join(httpd.router.doc_root, filename)) md5_downloaded = create_md5(os.path.join(str(tmpdir), filename)) assert md5_original == md5_downloaded