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

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: fixes 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..9a13e6a6469dfd71bb6945330b0e3f6e3e91341f 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'
+ 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())
+ 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