def test_backup_info_get_xml_desc_failed(): vm = FakeVm() dom = FakeDomainAdapter() dom.errors["backupGetXMLDesc"] = fake.libvirt_error( [libvirt.VIR_ERR_INTERNAL_ERROR], "Fakse libvirt error") with pytest.raises(exception.BackupError): backup.backup_info(vm, dom, BACKUP_ID)
def test_backup_info_no_backup_running(): vm = FakeVm() dom = FakeDomainAdapter() dom.errors["backupGetXMLDesc"] = fake.libvirt_error( [libvirt.VIR_ERR_NO_DOMAIN_BACKUP], "Fake libvirt error") with pytest.raises(exception.NoSuchBackupError): backup.backup_info(vm, dom, BACKUP_ID)
def test_fail_parse_backup_xml(tmp_dirs): vm = FakeVm() dom = FakeDomainAdapter() fake_disks = create_fake_disks(vm) config = {'backup_id': BACKUP_1_ID, 'disks': fake_disks} backup.start_backup(vm, dom, config) dom.backup_xml = """ <domainbackup mode='pull'> <disks/> </domainbackup> """ with pytest.raises(exception.BackupError): backup.backup_info(vm, dom, BACKUP_1_ID)
def test_fail_parse_backup_xml(tmp_backupdir, tmp_basedir): vm = FakeVm() INVALID_BACKUP_XML = """ <domainbackup mode='pull'> <disks/> </domainbackup> """ dom = FakeDomainAdapter(output_backup_xml=INVALID_BACKUP_XML) fake_disks = create_fake_disks() config = {'backup_id': BACKUP_ID, 'disks': fake_disks} backup.start_backup(vm, dom, config) with pytest.raises(exception.BackupError): backup.backup_info(vm, dom, BACKUP_ID)
def test_backup_info(tmp_backupdir, tmp_basedir): vm = FakeVm() expected_xml = """ <domainbackup mode='pull'> <server transport='unix' socket='{}'/> <disks> <disk name='sda' backup='yes' type='file' exportname='sda'> <driver type='qcow2'/> <scratch file='/path/to/scratch_sda'> <seclabel model='dac' relabel='no'/> </scratch> </disk> <disk name='vda' backup='yes' type='file' exportname='vda'> <driver type='qcow2'/> <scratch file='/path/to/scratch_vda'> <seclabel model="dac" relabel="no"/> </scratch> </disk> <disk name='hdc' backup='no'/> </disks> </domainbackup> """.format(backup.socket_path(BACKUP_ID)) dom = FakeDomainAdapter(output_backup_xml=expected_xml) fake_disks = create_fake_disks() config = {'backup_id': BACKUP_ID, 'disks': fake_disks} res = backup.start_backup(vm, dom, config) backup_info = backup.backup_info(vm, dom, BACKUP_ID) assert res['result']['disks'] == backup_info['result']['disks'] assert 'checkpoint' not in backup_info['result']
def test_backup_info(tmp_dirs): vm = FakeVm() dom = FakeDomainAdapter() fake_disks = create_fake_disks(vm) config = {'backup_id': BACKUP_1_ID, 'disks': fake_disks} res = backup.start_backup(vm, dom, config) backup_info = backup.backup_info(vm, dom, BACKUP_1_ID) assert res['result']['disks'] == backup_info['result']['disks'] assert 'checkpoint' not in backup_info['result']