def test_add_domain_quiesce(self, build_mock_domain, build_mock_libvirtconn): dom = build_mock_domain backup_group = build_backup_group(build_mock_libvirtconn) backup_group.add_domain(dom, quiesce=True) assert backup_group.backups[0].quiesce
def test_self_with_domain(self, build_mock_domain, build_mock_libvirtconn): dom = build_mock_domain backup_group = build_backup_group(build_mock_libvirtconn, domlst=((dom, None), )) assert len(backup_group.backups) == 1 assert backup_group.backups[0].dom == dom
def test_add_domain(self, build_mock_domain, build_mock_libvirtconn): dom = build_mock_domain backup_group = build_backup_group(build_mock_libvirtconn) backup_group.add_domain(dom) assert len(backup_group.backups) == 1 assert backup_group.backups[0].dom == dom
def test_add_domain_quiesce_disabled(self, build_mock_domain, build_mock_libvirtconn): dom = build_mock_domain backup_group = build_backup_group(build_mock_libvirtconn) backup_group.default_bak_param["quiesce"] = True backup_group.add_domain(dom, quiesce=False) assert not backup_group.backups[0].quiesce
def test_start_with_dir_by_domain(self, build_mock_libvirtconn, build_mock_domain, mocker): backup_group = build_backup_group(build_mock_libvirtconn, domlst=(build_mock_domain, ), backup_dir="/tmp") dombackup = backup_group.backups[0] dombackup.start = mocker.stub() expected_backup_dir = os.path.join("/tmp", dombackup.dom.name()) backup_group.start() assert dombackup.backup_dir == expected_backup_dir
def test_propagate_attr(self, build_mock_libvirtconn, build_mock_domain): backup_group = build_backup_group( conn=build_mock_libvirtconn, domlst=(build_mock_domain, ), compression="xz" ) assert backup_group.backups[0].compression == "xz" backup_group.default_bak_param["target_dir"] = "/test" assert backup_group.backups[0].target_dir is None backup_group.propagate_default_backup_attr() assert backup_group.backups[0].target_dir == "/test"
def test_add_domain_quiesce_default_and_dom(self, build_mock_domain, build_mock_libvirtconn): """ Test with Quiesce enabled for the entire group """ dom = build_mock_domain backup_group = build_backup_group(build_mock_libvirtconn) backup_group.default_bak_param["quiesce"] = True backup_group.add_domain(dom, quiesce=True) assert backup_group.backups[0].quiesce
def test_start_multithread(self, build_mock_libvirtconn, mocker): conn = build_mock_libvirtconn backup_group = build_backup_group( conn, domlst=(MockDomain(_conn=conn), MockDomain(_conn=conn),) ) for b in backup_group.backups: b.start = mocker.stub() backup_group.start_multithread(2) for b in backup_group.backups: assert b.start.called
def test_propagate_attr(self, build_mock_libvirtconn, build_mock_domain): backup_group = build_backup_group( conn=build_mock_libvirtconn, domlst=(build_mock_domain,), packager="tar", packager_opts={"compression": "xz"}, ) assert backup_group.backups[0].packager_opts["compression"] == "xz" backup_group.default_bak_param["backup_dir"] = "/test" assert backup_group.backups[0].backup_dir is None backup_group.propagate_default_backup_attr() assert backup_group.backups[0].backup_dir == "/test"
def test_add_domain_quiesce_multiple_domains(self, build_mock_domain, build_mock_libvirtconn): dom = build_mock_domain backup_group = build_backup_group(build_mock_libvirtconn) backup_group.default_bak_param["quiesce"] = True backup_group.add_domain(dom, quiesce=False) dom2 = MockDomain(dom._conn, "test2", id=2) backup_group.add_domain(dom2, quiesce=True) assert not backup_group.backups[0].quiesce assert backup_group.backups[1].quiesce
def test_start_with_err(self, build_mock_libvirtconn, mocker): conn = build_mock_libvirtconn backup_group = build_backup_group( conn, domlst=(MockDomain(_conn=conn), MockDomain(_conn=conn, name="test_error")), ) def error_start(*args, **kwargs): raise Exception() backup_group.backups[0].start = error_start backup_group.backups[1].start = mocker.stub() with pytest.raises(BackupsFailureInGroupError): backup_group.start() assert backup_group.backups[1].start.called
def test_propagate_attr_multiple_domains(self, build_mock_libvirtconn, mocker): conn = build_mock_libvirtconn backup_group = build_backup_group( conn, domlst=(MockDomain(_conn=conn), MockDomain(_conn=conn),), packager="tar", packager_opts={"compression": "xz"}, ) for b in backup_group.backups: assert b.packager_opts["compression"] == "xz" backup_group.default_bak_param["backup_dir"] = "/test" for b in backup_group.backups: assert b.backup_dir is None backup_group.propagate_default_backup_attr() for b in backup_group.backups: assert b.backup_dir == "/test"
def test_propagate_attr_multiple_domains( self, build_mock_libvirtconn, mocker ): conn = build_mock_libvirtconn backup_group = build_backup_group( conn, domlst=( MockDomain(_conn=conn), MockDomain(_conn=conn), ), compression="xz" ) for b in backup_group.backups: assert b.compression == "xz" backup_group.default_bak_param["target_dir"] = "/test" for b in backup_group.backups: assert b.target_dir is None backup_group.propagate_default_backup_attr() for b in backup_group.backups: assert b.target_dir == "/test"
def test_search_not_found(self, build_mock_domain, build_mock_libvirtconn): dom = build_mock_domain backup_group = build_backup_group(build_mock_libvirtconn) with pytest.raises(StopIteration): next(backup_group.search(dom))