def test_backup_mysqldump_check_process(self): mysql_dump = mysql_impl.MySQLDump('abc', extra_opts='') str_will_be_true = 'Warning: Using a password ' \ 'on the command line interface can be insecure.' str_will_be_false = 'ERROR: mysqldump command did not succeed.' with mock.patch('trove.guestagent.strategies.backup.mysql_impl.open', mock.mock_open(read_data='')): self.assertTrue(mysql_dump.check_process()) with mock.patch('trove.guestagent.strategies.backup.mysql_impl.open', mock.mock_open(read_data=str_will_be_true)): self.assertTrue(mysql_dump.check_process()) with mock.patch('trove.guestagent.strategies.backup.mysql_impl.open', mock.mock_open(read_data=str_will_be_false)): self.assertFalse(mysql_dump.check_process())
def test_backup_impl_MySQLDump(self): """This test is for guestagent/strategies/backup/impl """ mysql_dump = mysql_impl.MySQLDump('abc', password='******', user='******') self.assertIsNotNone(mysql_dump.cmd) str_mysql_dump_cmd = ('/usr/bin/mysqldump' ' --all-databases' ' --opt' ' --password=%(password)s' ' -u %(user)s' ' | gzip |' ' openssl enc -aes-256-cbc -salt ' '-pass pass:default_aes_cbc_key') self.assertEqual(mysql_dump.cmd, str_mysql_dump_cmd) self.assertIsNotNone(mysql_dump.manifest) self.assertEqual(mysql_dump.manifest, 'abc.gz.enc')
def test_backup_impl_MySQLDump(self): """This test is for guestagent/strategies/backup/impl """ mysql_dump = mysql_impl.MySQLDump('abc', extra_opts='') self.assertIsNotNone(mysql_dump.cmd) str_mysql_dump_cmd = ('mysqldump' ' --all-databases' ' %(extra_opts)s' ' --opt' ' --password=123' ' -u os_admin' ' 2>/tmp/mysqldump.log' ' | gzip |' ' openssl enc -aes-256-cbc -salt ' '-pass pass:default_aes_cbc_key') self.assertEqual(str_mysql_dump_cmd, mysql_dump.cmd) self.assertIsNotNone(mysql_dump.manifest) self.assertEqual('abc.gz.enc', mysql_dump.manifest)
def test_backup_impl_MySQLDump(self): """This test is for guestagent/strategies/backup/mysql_impl """ mysql_dump = mysql_impl.MySQLDump('abc', extra_opts='') self.assertIsNotNone(mysql_dump.cmd) str_mysql_dump_cmd = ("mysqldump" " --all-databases" " %(extra_opts)s" " --opt" " --password='******'" " -u os_admin" " 2>/tmp/mysqldump.log" " | gzip |" " openssl enc -aes-256-cbc -salt " "-pass pass:default_aes_cbc_key") self.assertEqual(str_mysql_dump_cmd, mysql_dump.cmd) self.assertIsNotNone(mysql_dump.manifest) self.assertEqual('abc.gz.enc', mysql_dump.manifest)