Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Unified Diff: tests/upload_to_google_storage_unittests.py

Issue 807463005: Add support for tar.gz archive files to download from download_from_google_storage (Closed) Base URL: http://src.chromium.org/svn/trunk/tools/depot_tools/
Patch Set: address comments Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/upload_to_google_storage_unittests.py
diff --git a/tests/upload_to_google_storage_unittests.py b/tests/upload_to_google_storage_unittests.py
index 3bac038d7402185c3a3a78fff7a4e3f0c4d8159b..cbdcc6d9106b3db593e7654dbcda1b402e552773 100755
--- a/tests/upload_to_google_storage_unittests.py
+++ b/tests/upload_to_google_storage_unittests.py
@@ -11,6 +11,7 @@ import Queue
import shutil
import StringIO
import sys
+import tarfile
import tempfile
import threading
import unittest
@@ -19,6 +20,7 @@ sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import upload_to_google_storage
from download_from_google_storage_unittests import GsutilMock
+from download_from_google_storage_unittests import ChangedWorkingDirectory
# ../third_party/gsutil/gsutil
GSUTIL_DEFAULT_PATH = os.path.join(
@@ -63,6 +65,30 @@ class UploadTests(unittest.TestCase):
os.remove(output_filename)
self.assertEqual(code, 0)
+ def test_create_archive(self):
+ work_dir = os.path.join(self.base_path, 'download_test_data')
+ with ChangedWorkingDirectory(work_dir):
+ dirname = 'subfolder'
Ryan Tseng 2015/06/25 17:19:14 remove extra space
ricow1 2015/06/26 06:18:05 Done.
+ dirs = [dirname]
+ tar_gz_file = '%s.tar.gz' % dirname
+ self.assertTrue(upload_to_google_storage.validate_archive_dirs(dirs))
+ upload_to_google_storage.create_archives(dirs)
+ self.assertTrue(os.path.exists(tar_gz_file))
+ with tarfile.open(tar_gz_file, 'r:gz') as tar:
+ content= map(lambda x: x.name, tar.getmembers())
Ryan Tseng 2015/06/25 17:19:14 space before =
ricow1 2015/06/26 06:18:04 Done.
+ self.assertTrue(dirname in content)
+ self.assertTrue(os.path.join(dirname, 'subfolder_text.txt') in content)
+ self.assertTrue(
+ os.path.join(dirname, 'subfolder_text.txt.sha1') in content)
+
+ def test_validate_archive_dirs_fails(self):
+ work_dir = os.path.join(self.base_path, 'download_test_data')
+ with ChangedWorkingDirectory(work_dir):
+ symlink = 'link'
+ os.symlink(os.path.join(self.base_path, 'subfolder'), symlink)
+ self.assertFalse(upload_to_google_storage.validate_archive_dirs([symlink]))
+ self.assertFalse(upload_to_google_storage.validate_archive_dirs(['foobar']))
+
def test_upload_single_file_remote_exists(self):
filenames = [self.lorem_ipsum]
output_filename = '%s.sha1' % self.lorem_ipsum

Powered by Google App Engine
This is Rietveld 408576698