Add unspecified options to backup unittests

The backup runner unittests have been intermittently failing
because some of the backup commands being returned don't include
gzip in the pipeline.

The problem is that the tests all use the same instance of the
BackupRunner and the is_zipped instance variable is being
altered by the various tests. Each test that is expecting
compression and/or encryption needs to set these variables
explicitly. If not, depending on the timing and ordering of
the tests, the variables may not be set as the test expects.

Put defaults for the variables (true) into the setup() method.
Removed code in the tests that set is_zipped or is_encrypted
to true and will rely on the defaults in setup() for these.

Change-Id: I74431aefe88e1aea15ca5160a6cb597b59d19fbd
Closes-bug: 1500199
This commit is contained in:
Doug Shelley 2015-09-27 13:47:19 +00:00
parent ff3b461843
commit 0d62cac929
1 changed files with 4 additions and 33 deletions

View File

@ -104,6 +104,10 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.get_data_dir_patcher = patch.object(
MySqlApp, 'get_data_dir', return_value='/var/lib/mysql/data')
self.mock_get_datadir = self.get_data_dir_patcher.start()
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = True
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = True
def tearDown(self):
super(GuestAgentBackupTest, self).tearDown()
@ -111,7 +115,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.get_data_dir_patcher.stop()
def test_backup_decrypted_xtrabackup_command(self):
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = False
RunnerClass = utils.import_class(BACKUP_XTRA_CLS)
bkup = RunnerClass(12345, extra_opts="")
@ -119,7 +122,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual("12345.xbstream.gz", bkup.manifest)
def test_backup_decrypted_xtrabackup_with_extra_opts_command(self):
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = False
RunnerClass = utils.import_class(BACKUP_XTRA_CLS)
bkup = RunnerClass(12345, extra_opts="--no-lock")
@ -127,8 +129,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual("12345.xbstream.gz", bkup.manifest)
def test_backup_encrypted_xtrabackup_command(self):
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = True
backupBase.BackupRunner.encrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(BACKUP_XTRA_CLS)
bkup = RunnerClass(12345, extra_opts="")
@ -137,7 +137,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual("12345.xbstream.gz.enc", bkup.manifest)
def test_backup_xtrabackup_incremental(self):
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = False
RunnerClass = utils.import_class(BACKUP_XTRA_INCR_CLS)
opts = {'lsn': '54321', 'extra_opts': ''}
@ -147,7 +146,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual("12345.xbstream.gz", bkup.manifest)
def test_backup_xtrabackup_incremental_with_extra_opts_command(self):
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = False
RunnerClass = utils.import_class(BACKUP_XTRA_INCR_CLS)
opts = {'lsn': '54321', 'extra_opts': '--no-lock'}
@ -157,8 +155,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual("12345.xbstream.gz", bkup.manifest)
def test_backup_xtrabackup_incremental_encrypted(self):
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = True
backupBase.BackupRunner.encrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(BACKUP_XTRA_INCR_CLS)
opts = {'lsn': '54321', 'extra_opts': ''}
@ -168,7 +164,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual("12345.xbstream.gz.enc", bkup.manifest)
def test_backup_decrypted_mysqldump_command(self):
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = False
RunnerClass = utils.import_class(BACKUP_SQLDUMP_CLS)
bkup = RunnerClass(12345, extra_opts="")
@ -176,7 +171,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual("12345.gz", bkup.manifest)
def test_backup_decrypted_mysqldump_with_extra_opts_command(self):
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = False
RunnerClass = utils.import_class(BACKUP_SQLDUMP_CLS)
bkup = RunnerClass(12345, extra_opts="--events --routines --triggers")
@ -184,8 +178,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual("12345.gz", bkup.manifest)
def test_backup_encrypted_mysqldump_command(self):
backupBase.BackupRunner.is_zipped = True
backupBase.BackupRunner.is_encrypted = True
backupBase.BackupRunner.encrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(BACKUP_SQLDUMP_CLS)
bkup = RunnerClass(12345, user="user",
@ -195,7 +187,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual("12345.gz.enc", bkup.manifest)
def test_restore_decrypted_xtrabackup_command(self):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = False
RunnerClass = utils.import_class(RESTORE_XTRA_CLS)
restr = RunnerClass(None, restore_location="/var/lib/mysql/data",
@ -204,8 +195,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual(PREPARE, restr.prepare_cmd)
def test_restore_encrypted_xtrabackup_command(self):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = True
restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(RESTORE_XTRA_CLS)
restr = RunnerClass(None, restore_location="/var/lib/mysql/data",
@ -230,7 +219,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual(expected, observed)
def test_restore_decrypted_xtrabackup_incremental_command(self):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = False
RunnerClass = utils.import_class(RESTORE_XTRA_INCR_CLS)
restr = RunnerClass(None, restore_location="/var/lib/mysql/data",
@ -245,8 +233,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual(expected, observed)
def test_restore_encrypted_xtrabackup_incremental_command(self):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = True
restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(RESTORE_XTRA_INCR_CLS)
restr = RunnerClass(None, restore_location="/var/lib/mysql/data",
@ -261,7 +247,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual(expected, observed)
def test_restore_decrypted_mysqldump_command(self):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = False
RunnerClass = utils.import_class(RESTORE_SQLDUMP_CLS)
restr = RunnerClass(None, restore_location="/var/lib/mysql/data",
@ -269,8 +254,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual(UNZIP + PIPE + SQLDUMP_RESTORE, restr.restore_cmd)
def test_restore_encrypted_mysqldump_command(self):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = True
restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(RESTORE_SQLDUMP_CLS)
restr = RunnerClass(None, restore_location="/var/lib/mysql/data",
@ -279,7 +262,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
restr.restore_cmd)
def test_backup_encrypted_cbbackup_command(self):
backupBase.BackupRunner.is_encrypted = True
backupBase.BackupRunner.encrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(BACKUP_CBBACKUP_CLS)
utils.execute_with_timeout = mock.Mock(return_value=None)
@ -300,7 +282,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertIn("gz", bkp.manifest)
def test_restore_decrypted_cbbackup_command(self):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = False
RunnerClass = utils.import_class(RESTORE_CBBACKUP_CLS)
restr = RunnerClass(None, restore_location="/tmp",
@ -308,8 +289,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
self.assertEqual(UNZIP + PIPE + CBBACKUP_RESTORE, restr.restore_cmd)
def test_restore_encrypted_cbbackup_command(self):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = True
restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(RESTORE_CBBACKUP_CLS)
restr = RunnerClass(None, restore_location="/tmp",
@ -335,7 +314,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
@mock.patch.object(MongoDBApp, '_init_overrides_dir')
def test_backup_encrypted_mongodump_command(self, _):
backupBase.BackupRunner.is_encrypted = True
backupBase.BackupRunner.encrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(BACKUP_MONGODUMP_CLS)
utils.execute_with_timeout = mock.Mock(return_value=None)
@ -358,7 +336,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
@mock.patch.object(MongoDBApp, '_init_overrides_dir')
def test_restore_decrypted_mongodump_command(self, _):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = False
RunnerClass = utils.import_class(RESTORE_MONGODUMP_CLS)
restr = RunnerClass(None, restore_location="/tmp",
@ -367,8 +344,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
@mock.patch.object(MongoDBApp, '_init_overrides_dir')
def test_restore_encrypted_mongodump_command(self, _):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = True
restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(RESTORE_MONGODUMP_CLS)
restr = RunnerClass(None, restore_location="/tmp",
@ -381,7 +356,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
mock.Mock(return_value={'dir': '/var/lib/redis',
'dbfilename': 'dump.rdb'}))
def test_backup_encrypted_redisbackup_command(self, *mocks):
backupBase.BackupRunner.is_encrypted = True
backupBase.BackupRunner.encrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(BACKUP_REDIS_CLS)
bkp = RunnerClass(12345)
@ -409,7 +383,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
@patch.object(operating_system, 'chown')
@patch.object(operating_system, 'create_directory')
def test_restore_decrypted_redisbackup_command(self, *mocks):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = False
RunnerClass = utils.import_class(RESTORE_REDIS_CLS)
restr = RunnerClass(None, restore_location="/tmp",
@ -422,8 +395,6 @@ class GuestAgentBackupTest(trove_testtools.TestCase):
@patch.object(operating_system, 'chown')
@patch.object(operating_system, 'create_directory')
def test_restore_encrypted_redisbackup_command(self, *mocks):
restoreBase.RestoreRunner.is_zipped = True
restoreBase.RestoreRunner.is_encrypted = True
restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY
RunnerClass = utils.import_class(RESTORE_REDIS_CLS)
restr = RunnerClass(None, restore_location="/tmp",