예제 #1
0
    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())
예제 #2
0
 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')
예제 #3
0
 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)
예제 #4
0
 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)