예제 #1
0
파일: backup_test.py 프로젝트: kobihk/vdsm
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)
예제 #2
0
파일: backup_test.py 프로젝트: kobihk/vdsm
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)
예제 #3
0
파일: backup_test.py 프로젝트: dong-df/vdsm
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)
예제 #4
0
파일: backup_test.py 프로젝트: kobihk/vdsm
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)
예제 #5
0
파일: backup_test.py 프로젝트: kobihk/vdsm
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']
예제 #6
0
파일: backup_test.py 프로젝트: dong-df/vdsm
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']