diff --git a/cinder/tests/unit/backup/drivers/test_backup_google.py b/cinder/tests/unit/backup/drivers/test_backup_google.py index ec7b43fb22c..b09e74dc40b 100644 --- a/cinder/tests/unit/backup/drivers/test_backup_google.py +++ b/cinder/tests/unit/backup/drivers/test_backup_google.py @@ -143,6 +143,12 @@ class GoogleBackupDriverTestCase(test.TestCase): backup.create() return backup + def _write_effective_compression_file(self, data_size): + """Ensure file contents can be effectively compressed.""" + self.volume_file.seek(0) + self.volume_file.write(bytes([65] * data_size)) + self.volume_file.seek(0) + def setUp(self): super(GoogleBackupDriverTestCase, self).setUp() self.flags(backup_gcs_bucket='gcscinderbucket') @@ -154,8 +160,10 @@ class GoogleBackupDriverTestCase(test.TestCase): self.addCleanup(self.volume_file.close) # Remove tempdir. self.addCleanup(shutil.rmtree, self.temp_dir) + self.size_volume_file = 0 for _i in range(0, 64): self.volume_file.write(os.urandom(units.Ki)) + self.size_volume_file += 1024 @gcs_client def test_backup(self): @@ -183,7 +191,7 @@ class GoogleBackupDriverTestCase(test.TestCase): backup = self._create_backup_db_entry(volume_id=volume_id) self.flags(backup_compression_algorithm='bz2') service = google_dr.GoogleBackupDriver(self.ctxt) - self.volume_file.seek(0) + self._write_effective_compression_file(self.size_volume_file) service.backup(backup, self.volume_file) @gcs_client @@ -192,7 +200,7 @@ class GoogleBackupDriverTestCase(test.TestCase): backup = self._create_backup_db_entry(volume_id=volume_id) self.flags(backup_compression_algorithm='zlib') service = google_dr.GoogleBackupDriver(self.ctxt) - self.volume_file.seek(0) + self._write_effective_compression_file(self.size_volume_file) service.backup(backup, self.volume_file) @gcs_client diff --git a/cinder/tests/unit/backup/drivers/test_backup_nfs.py b/cinder/tests/unit/backup/drivers/test_backup_nfs.py index 20c2732add8..1b1ab6a69d2 100644 --- a/cinder/tests/unit/backup/drivers/test_backup_nfs.py +++ b/cinder/tests/unit/backup/drivers/test_backup_nfs.py @@ -143,6 +143,12 @@ class BackupNFSSwiftBasedTestCase(test.TestCase): } return db.backup_create(self.ctxt, backup)['id'] + def _write_effective_compression_file(self, data_size): + """Ensure file contents can be effectively compressed.""" + self.volume_file.seek(0) + self.volume_file.write(bytes([65] * data_size)) + self.volume_file.seek(0) + def setUp(self): super(BackupNFSSwiftBasedTestCase, self).setUp() @@ -162,8 +168,10 @@ class BackupNFSSwiftBasedTestCase(test.TestCase): return_value=mock_remotefsclient) # Remove tempdir. self.addCleanup(shutil.rmtree, self.temp_dir) + self.size_volume_file = 0 for _i in range(0, 32): self.volume_file.write(os.urandom(1024)) + self.size_volume_file += 1024 def test_backup_uncompressed(self): volume_id = fake.VOLUME_ID @@ -179,7 +187,7 @@ class BackupNFSSwiftBasedTestCase(test.TestCase): self._create_backup_db_entry(volume_id=volume_id) self.flags(backup_compression_algorithm='bz2') service = nfs.NFSBackupDriver(self.ctxt) - self.volume_file.seek(0) + self._write_effective_compression_file(self.size_volume_file) backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID) service.backup(backup, self.volume_file) @@ -188,7 +196,7 @@ class BackupNFSSwiftBasedTestCase(test.TestCase): self._create_backup_db_entry(volume_id=volume_id) self.flags(backup_compression_algorithm='zlib') service = nfs.NFSBackupDriver(self.ctxt) - self.volume_file.seek(0) + self._write_effective_compression_file(self.size_volume_file) backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID) service.backup(backup, self.volume_file) @@ -569,10 +577,11 @@ class BackupNFSSwiftBasedTestCase(test.TestCase): self._create_backup_db_entry(volume_id=volume_id) self.flags(backup_compression_algorithm='bz2') - self.flags(backup_file_size=(1024 * 3)) + file_size = 1024 * 3 + self.flags(backup_file_size=file_size) self.flags(backup_sha_block_size_bytes=1024) service = nfs.NFSBackupDriver(self.ctxt) - self.volume_file.seek(0) + self._write_effective_compression_file(file_size) backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID) service.backup(backup, self.volume_file) @@ -587,10 +596,11 @@ class BackupNFSSwiftBasedTestCase(test.TestCase): self._create_backup_db_entry(volume_id=volume_id) self.flags(backup_compression_algorithm='zlib') - self.flags(backup_file_size=(1024 * 3)) + file_size = 1024 * 3 + self.flags(backup_file_size=file_size) self.flags(backup_sha_block_size_bytes=1024) service = nfs.NFSBackupDriver(self.ctxt) - self.volume_file.seek(0) + self._write_effective_compression_file(file_size) backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID) service.backup(backup, self.volume_file) diff --git a/cinder/tests/unit/backup/drivers/test_backup_swift.py b/cinder/tests/unit/backup/drivers/test_backup_swift.py index 4a0e5afe84e..5ebee45d0b6 100644 --- a/cinder/tests/unit/backup/drivers/test_backup_swift.py +++ b/cinder/tests/unit/backup/drivers/test_backup_swift.py @@ -91,6 +91,12 @@ class BackupSwiftTestCase(test.TestCase): } return db.backup_create(self.ctxt, backup)['id'] + def _write_effective_compression_file(self, data_size): + """Ensure file contents can be effectively compressed.""" + self.volume_file.seek(0) + self.volume_file.write(bytes([65] * data_size)) + self.volume_file.seek(0) + def setUp(self): super(BackupSwiftTestCase, self).setUp() service_catalog = [{u'type': u'object-store', u'name': u'swift', @@ -111,8 +117,10 @@ class BackupSwiftTestCase(test.TestCase): self.addCleanup(self.volume_file.close) # Remove tempdir. self.addCleanup(shutil.rmtree, self.temp_dir) + self.size_volume_file = 0 for _i in range(0, 64): self.volume_file.write(os.urandom(1024)) + self.size_volume_file += 1024 notify_patcher = mock.patch( 'cinder.volume.utils.notify_about_backup_usage') @@ -303,7 +311,7 @@ class BackupSwiftTestCase(test.TestCase): self._create_backup_db_entry(volume_id=volume_id) self.flags(backup_compression_algorithm='bz2') service = swift_dr.SwiftBackupDriver(self.ctxt) - self.volume_file.seek(0) + self._write_effective_compression_file(self.size_volume_file) backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID) service.backup(backup, self.volume_file) @@ -312,7 +320,7 @@ class BackupSwiftTestCase(test.TestCase): self._create_backup_db_entry(volume_id=volume_id) self.flags(backup_compression_algorithm='zlib') service = swift_dr.SwiftBackupDriver(self.ctxt) - self.volume_file.seek(0) + self._write_effective_compression_file(self.size_volume_file) backup = objects.Backup.get_by_id(self.ctxt, fake.BACKUP_ID) service.backup(backup, self.volume_file)