Index: tests/download_from_google_storage_unittests.py |
diff --git a/tests/download_from_google_storage_unittests.py b/tests/download_from_google_storage_unittests.py |
index 0420ad94289def64e0d00836994eddce6cd79047..a8af63b0c74cbf9913c396103b8c04a3a0f230c8 100755 |
--- a/tests/download_from_google_storage_unittests.py |
+++ b/tests/download_from_google_storage_unittests.py |
@@ -11,7 +11,6 @@ |
import Queue |
import shutil |
import sys |
-import tarfile |
import tempfile |
import threading |
import unittest |
@@ -60,21 +59,6 @@ |
return (0, '', '') |
-class ChangedWorkingDirectory(object): |
- def __init__(self, working_directory): |
- self._old_cwd = '' |
- self._working_directory = working_directory |
- |
- def __enter__(self): |
- self._old_cwd = os.getcwd() |
- print "Enter directory = ", self._working_directory |
- os.chdir(self._working_directory) |
- |
- def __exit__(self, *_): |
- print "Enter directory = ", self._old_cwd |
- os.chdir(self._old_cwd) |
- |
- |
class GstoolsUnitTests(unittest.TestCase): |
def setUp(self): |
self.temp_dir = tempfile.mkdtemp(prefix='gstools_test') |
@@ -83,49 +67,6 @@ |
def cleanUp(self): |
shutil.rmtree(self.temp_dir) |
- |
- def test_validate_tar_file(self): |
- lorem_ipsum = os.path.join(self.base_path, 'lorem_ipsum.txt') |
- with ChangedWorkingDirectory(self.base_path): |
- # Sanity ok check. |
- tar_dir = 'ok_dir' |
- os.makedirs(os.path.join(self.base_path, tar_dir)) |
- tar = 'good.tar.gz' |
- lorem_ipsum_copy = os.path.join(tar_dir, 'lorem_ipsum.txt') |
- shutil.copyfile(lorem_ipsum, lorem_ipsum_copy) |
- with tarfile.open(tar, 'w:gz') as tar: |
- tar.add(lorem_ipsum_copy) |
- self.assertTrue( |
- download_from_google_storage._validate_tar_file(tar, tar_dir)) |
- |
- # Test no links. |
- tar_dir_link = 'for_tar_link' |
- os.makedirs(tar_dir_link) |
- link = os.path.join(tar_dir_link, 'link') |
- os.symlink(lorem_ipsum, link) |
- tar_with_links = 'with_links.tar.gz' |
- with tarfile.open(tar_with_links, 'w:gz') as tar: |
- tar.add(link) |
- self.assertFalse( |
- download_from_google_storage._validate_tar_file(tar, tar_dir_link)) |
- |
- # Test not outside. |
- tar_dir_outside = 'outside_tar' |
- os.makedirs(tar_dir_outside) |
- tar_with_outside = 'with_outside.tar.gz' |
- with tarfile.open(tar_with_outside, 'w:gz') as tar: |
- tar.add(lorem_ipsum) |
- self.assertFalse( |
- download_from_google_storage._validate_tar_file(tar, |
- tar_dir_outside)) |
- # Test no .. |
- tar_with_dotdot = 'with_dotdot.tar.gz' |
- dotdot_file = os.path.join(tar_dir, '..', tar_dir, 'lorem_ipsum.txt') |
- with tarfile.open(tar_with_dotdot, 'w:gz') as tar: |
- tar.add(dotdot_file) |
- self.assertFalse( |
- download_from_google_storage._validate_tar_file(tar, |
- tar_dir)) |
def test_gsutil(self): |
gsutil = download_from_google_storage.Gsutil(GSUTIL_DEFAULT_PATH, None) |
@@ -223,7 +164,7 @@ |
stdout_queue = Queue.Queue() |
download_from_google_storage._downloader_worker_thread( |
0, self.queue, False, self.base_url, self.gsutil, |
- stdout_queue, self.ret_codes, True, False) |
+ stdout_queue, self.ret_codes, True) |
expected_calls = [ |
('check_call', |
('ls', input_filename)), |
@@ -249,52 +190,12 @@ |
stdout_queue = Queue.Queue() |
download_from_google_storage._downloader_worker_thread( |
0, self.queue, False, self.base_url, self.gsutil, |
- stdout_queue, self.ret_codes, True, False) |
+ stdout_queue, self.ret_codes, True) |
expected_output = [ |
'0> File %s exists and SHA1 matches. Skipping.' % output_filename |
] |
self.assertEqual(list(stdout_queue.queue), expected_output) |
self.assertEqual(self.gsutil.history, []) |
- |
- def test_download_extract_archive(self): |
- # By design we make this not match |
- sha1_hash = '61223e1ad3d86901a57629fee38313db5ec106ff' |
- input_filename = '%s/%s' % (self.base_url, sha1_hash) |
- # Generate a gzipped tarfile |
- output_filename = os.path.join(self.base_path, 'subfolder.tar.gz') |
- output_dirname = os.path.join(self.base_path, 'subfolder') |
- extracted_filename = os.path.join(output_dirname, 'subfolder_text.txt') |
- with tarfile.open(output_filename, 'w:gz') as tar: |
- tar.add(output_dirname, arcname='subfolder') |
- shutil.rmtree(output_dirname) |
- print(output_dirname) |
- self.queue.put((sha1_hash, output_filename)) |
- self.queue.put((None, None)) |
- stdout_queue = Queue.Queue() |
- download_from_google_storage._downloader_worker_thread( |
- 0, self.queue, False, self.base_url, self.gsutil, |
- stdout_queue, self.ret_codes, True, True, delete=False) |
- expected_calls = [ |
- ('check_call', |
- ('ls', input_filename)), |
- ('check_call', |
- ('cp', input_filename, output_filename))] |
- if sys.platform != 'win32': |
- expected_calls.append( |
- ('check_call', |
- ('stat', |
- 'gs://sometesturl/61223e1ad3d86901a57629fee38313db5ec106ff'))) |
- expected_output = [ |
- '0> Downloading %s...' % output_filename] |
- expected_output.extend([ |
- '0> Extracting 3 entries from %s to %s' % (output_filename, |
- output_dirname)]) |
- expected_ret_codes = [] |
- self.assertEqual(list(stdout_queue.queue), expected_output) |
- self.assertEqual(self.gsutil.history, expected_calls) |
- self.assertEqual(list(self.ret_codes.queue), expected_ret_codes) |
- self.assertTrue(os.path.exists(output_dirname)) |
- self.assertTrue(os.path.exists(extracted_filename)) |
def test_download_worker_skips_not_found_file(self): |
sha1_hash = '7871c8e24da15bad8b0be2c36edc9dc77e37727f' |
@@ -306,7 +207,7 @@ |
self.gsutil.add_expected(1, '', '') # Return error when 'ls' is called. |
download_from_google_storage._downloader_worker_thread( |
0, self.queue, False, self.base_url, self.gsutil, |
- stdout_queue, self.ret_codes, True, False) |
+ stdout_queue, self.ret_codes, True) |
expected_output = [ |
'0> Failed to fetch file %s for %s, skipping. [Err: ]' % ( |
input_filename, output_filename), |
@@ -341,8 +242,7 @@ |
ignore_errors=False, |
sha1_file=False, |
verbose=True, |
- auto_platform=False, |
- extract=False) |
+ auto_platform=False) |
expected_calls = [ |
('check_call', |
('ls', input_filename)), |
@@ -373,8 +273,7 @@ |
ignore_errors=False, |
sha1_file=False, |
verbose=True, |
- auto_platform=False, |
- extract=False) |
+ auto_platform=False) |
expected_calls = [ |
('check_call', |
('ls', input_filename)), |