class DbMongoRestoreCommandRestoreBackupTest(TestCase): def setUp(self): self.command = DbrestoreCommand() self.command.stdout = DEV_NULL self.command.uncompress = False self.command.decrypt = False self.command.backup_extension = 'bak' self.command.path = None self.command.filename = 'foofile' self.command.database = TEST_MONGODB self.command.passphrase = None self.command.interactive = True self.command.storage = get_storage() self.command.connector = MongoDumpConnector() self.command.database_name = 'mongo' self.command.servername = HOSTNAME HANDLED_FILES.clean() add_private_gpg() def test_mongo_settings_backup_command(self, mock_runcommands, *args): self.command.storage.file_read = TARED_FILE self.command.filename = TARED_FILE HANDLED_FILES['written_files'].append((TARED_FILE, open(TARED_FILE, 'rb'))) self.command._restore_backup() self.assertTrue(mock_runcommands.called)
class DbMongoRestoreCommandRestoreBackupTest(TestCase): def setUp(self): self.command = DbrestoreCommand() self.command.stdout = DEV_NULL self.command.uncompress = False self.command.decrypt = False self.command.backup_extension = 'bak' self.command.path = None self.command.filename = 'foofile' self.command.database = TEST_MONGODB self.command.passphrase = None self.command.interactive = True self.command.storage = get_storage() self.command.connector = MongoDumpConnector() self.command.database_name = 'mongo' self.command.servername = HOSTNAME HANDLED_FILES.clean() add_private_gpg() def test_mongo_settings_backup_command(self, mock_runcommands, *args): self.command.storage.file_read = TARED_FILE self.command.filename = TARED_FILE HANDLED_FILES['written_files'].append((TARED_FILE, open(TARED_FILE, 'rb'))) self.command._restore_backup() self.assertTrue(mock_runcommands.called)
class DbrestoreCommandRestoreBackupTest(TestCase): def setUp(self): self.command = DbrestoreCommand() self.command.stdout = DEV_NULL self.command.uncompress = False self.command.decrypt = False self.command.backup_extension = 'bak' self.command.filename = 'foofile' self.command.database = TEST_DATABASE self.command.dbcommands = DBCommands(TEST_DATABASE) self.command.passphrase = None self.command.interactive = True self.command.storage = FakeStorage() HANDLED_FILES.clean() add_private_gpg() def tearDown(self): clean_gpg_keys() def test_no_filename(self, *args): # Prepare backup HANDLED_FILES['written_files'].append( (utils.filename_generate('foo'), BytesIO(b'bar'))) # Check self.command.path = None self.command.filename = None self.command._restore_backup() def test_no_backup_found(self, *args): self.command.path = None self.command.filename = None with self.assertRaises(CommandError): self.command._restore_backup() def test_uncompress(self, *args): self.command.storage.file_read = COMPRESSED_FILE self.command.path = None self.command.filename = COMPRESSED_FILE HANDLED_FILES['written_files'].append( (COMPRESSED_FILE, open(COMPRESSED_FILE, 'rb'))) self.command.uncompress = True self.command._restore_backup() @patch('dbbackup.utils.getpass', return_value=None) def test_decrypt(self, *args): self.command.path = None self.command.decrypt = True self.command.filename = ENCRYPTED_FILE HANDLED_FILES['written_files'].append( (ENCRYPTED_FILE, open(ENCRYPTED_FILE, 'rb'))) self.command._restore_backup() def test_path(self, *args): self.command.path = COMPRESSED_FILE self.command._restore_backup()
class DbrestoreCommandRestoreBackupTest(TestCase): def setUp(self): self.command = DbrestoreCommand() self.command.stdout = DEV_NULL self.command.uncompress = False self.command.decrypt = False self.command.backup_extension = 'bak' self.command.filename = 'foofile' self.command.database = TEST_DATABASE self.command.dbcommands = DBCommands(TEST_DATABASE) self.command.passphrase = None self.command.interactive = True self.command.storage = FakeStorage() HANDLED_FILES.clean() add_private_gpg() def tearDown(self): clean_gpg_keys() def test_no_filename(self, *args): # Prepare backup HANDLED_FILES['written_files'].append( (utils.filename_generate('foo'), BytesIO(b'bar'))) # Check self.command.path = None self.command.filename = None self.command._restore_backup() def test_no_backup_found(self, *args): self.command.path = None self.command.filename = None with self.assertRaises(CommandError): self.command._restore_backup() def test_uncompress(self, *args): self.command.storage.file_read = COMPRESSED_FILE self.command.path = None self.command.filename = COMPRESSED_FILE HANDLED_FILES['written_files'].append((COMPRESSED_FILE, open(COMPRESSED_FILE, 'rb'))) self.command.uncompress = True self.command._restore_backup() @patch('dbbackup.utils.getpass', return_value=None) def test_decrypt(self, *args): self.command.path = None self.command.decrypt = True self.command.filename = ENCRYPTED_FILE HANDLED_FILES['written_files'].append((ENCRYPTED_FILE, open(ENCRYPTED_FILE, 'rb'))) self.command._restore_backup() def test_path(self, *args): self.command.path = COMPRESSED_FILE self.command._restore_backup()
class DbrestoreCommandRestoreBackupTest(TestCase): def setUp(self): self.command = DbrestoreCommand() self.command.stdout = DEV_NULL self.command.uncompress = False self.command.decrypt = False self.command.backup_extension = 'bak' self.command.filename = 'foofile' self.command.database = TEST_DATABASE self.command.passphrase = None self.command.interactive = True self.command.storage = FakeStorage() self.command.connector = get_connector() HANDLED_FILES.clean() def tearDown(self): clean_gpg_keys() def test_no_filename(self, *args): # Prepare backup HANDLED_FILES['written_files'].append( (utils.filename_generate('foo'), get_dump())) # Check self.command.path = None self.command.filename = None self.command._restore_backup() def test_no_backup_found(self, *args): self.command.path = None self.command.filename = None with self.assertRaises(CommandError): self.command._restore_backup() def test_uncompress(self, *args): self.command.path = None compressed_file, self.command.filename = utils.compress_file( get_dump(), get_dump_name()) HANDLED_FILES['written_files'].append( (self.command.filename, compressed_file)) self.command.uncompress = True self.command._restore_backup() @patch('dbbackup.utils.getpass', return_value=None) def test_decrypt(self, *args): self.command.path = None self.command.decrypt = True encrypted_file, self.command.filename = utils.encrypt_file( get_dump(), get_dump_name()) HANDLED_FILES['written_files'].append( (self.command.filename, encrypted_file)) self.command._restore_backup() def test_path(self, *args): temp_dump = get_dump() dump_path = mktemp() with open(dump_path, 'wb') as dump: copyfileobj(temp_dump, dump) self.command.path = dump.name self.command._restore_backup() self.command.decrypt = False self.command.filepath = get_dump_name() HANDLED_FILES['written_files'].append( (self.command.filepath, get_dump())) self.command._restore_backup()
class DbrestoreCommandRestoreBackupTest(TestCase): def setUp(self): self.command = DbrestoreCommand() self.command.stdout = DEV_NULL self.command.uncompress = False self.command.decrypt = False self.command.backup_extension = 'bak' self.command.filename = 'foofile' self.command.database = TEST_DATABASE self.command.passphrase = None self.command.interactive = True self.command.storage = FakeStorage() self.command.connector = get_connector() HANDLED_FILES.clean() def tearDown(self): clean_gpg_keys() def test_no_filename(self, *args): # Prepare backup HANDLED_FILES['written_files'].append( (utils.filename_generate('foo'), get_dump())) # Check self.command.path = None self.command.filename = None self.command._restore_backup() def test_no_backup_found(self, *args): self.command.path = None self.command.filename = None with self.assertRaises(CommandError): self.command._restore_backup() def test_uncompress(self, *args): self.command.path = None compressed_file, self.command.filename = utils.compress_file(get_dump(), get_dump_name()) HANDLED_FILES['written_files'].append( (self.command.filename, compressed_file) ) self.command.uncompress = True self.command._restore_backup() @patch('dbbackup.utils.getpass', return_value=None) def test_decrypt(self, *args): self.command.path = None self.command.decrypt = True encrypted_file, self.command.filename = utils.encrypt_file(get_dump(), get_dump_name()) HANDLED_FILES['written_files'].append( (self.command.filename, encrypted_file) ) self.command._restore_backup() def test_path(self, *args): temp_dump = get_dump() dump_path = mktemp() with open(dump_path, 'wb') as dump: copyfileobj(temp_dump, dump) self.command.path = dump.name self.command._restore_backup() self.command.decrypt = False self.command.filepath = get_dump_name() HANDLED_FILES['written_files'].append( (self.command.filepath, get_dump()) ) self.command._restore_backup()