Exemplo n.º 1
0
    def test_add_domain(self, build_mock_domain):
        backup_group = BackupGroup()
        dom = build_mock_domain

        backup_group.add_domain(dom)

        assert len(backup_group.backups) == 1
        assert backup_group.backups[0].dom == dom
Exemplo n.º 2
0
    def test_add_dombackup_dedup(self, build_mock_domain):
        dom = build_mock_domain
        backup_group = BackupGroup(domlst=(dom, ))

        backup_group.add_dombackup(DomBackup(dom, dev_disks=("vda", )))
        backup_group.add_dombackup(DomBackup(dom, dev_disks=("vdb", )))
        assert len(backup_group.backups) == 1
        assert len(backup_group.backups[0].disks.keys()) == 2
Exemplo n.º 3
0
    def test_add_domain(self, build_mock_domain):
        backup_group = BackupGroup()
        dom = build_mock_domain

        backup_group.add_domain(dom)

        assert len(backup_group.backups) == 1
        assert backup_group.backups[0].dom == dom
Exemplo n.º 4
0
    def test_add_dombackup_dedup(self, build_mock_domain):
        dom = build_mock_domain
        backup_group = BackupGroup(domlst=(dom, ))

        backup_group.add_dombackup(DomBackup(dom, dev_disks=("vda", )))
        backup_group.add_dombackup(DomBackup(dom, dev_disks=("vdb", )))
        assert len(backup_group.backups) == 1
        assert len(backup_group.backups[0].disks.keys()) == 2
Exemplo n.º 5
0
    def test_start_with_dir_by_domain(self, build_mock_domain, mocker):
        backup_group = BackupGroup(domlst=(build_mock_domain, ),
                                   target_dir="/tmp")
        dombackup = backup_group.backups[0]
        dombackup.start = mocker.stub()

        expected_target_dir = os.path.join("/tmp", dombackup.dom.name())
        backup_group.start()
        assert dombackup.target_dir == expected_target_dir
Exemplo n.º 6
0
    def test_dedup_add_domain(self, build_mock_domain):
        """
        Test to add 2 times the same backup and check that it's not duplicated
        """
        dom = build_mock_domain
        backup_group = BackupGroup(domlst=(dom, ))

        backup_group.add_domain(dom)
        assert len(backup_group.backups) == 1
Exemplo n.º 7
0
    def test_dedup_add_domain(self, build_mock_domain):
        """
        Test to add 2 times the same backup and check that it's not duplicated
        """
        dom = build_mock_domain
        backup_group = BackupGroup(domlst=(dom, ))

        backup_group.add_domain(dom)
        assert len(backup_group.backups) == 1
Exemplo n.º 8
0
    def test_propagate_attr(self, build_mock_domain):
        backup_group = BackupGroup(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"
Exemplo n.º 9
0
    def test_start_with_dir_by_domain(self, build_mock_domain, mocker):
        backup_group = BackupGroup(
            domlst=(build_mock_domain, ), target_dir="/tmp"
        )
        dombackup = backup_group.backups[0]
        dombackup.start = mocker.stub()

        expected_target_dir = os.path.join("/tmp", dombackup.dom.name())
        backup_group.start()
        assert dombackup.target_dir == expected_target_dir
Exemplo n.º 10
0
    def test_propagate_attr(self, build_mock_domain):
        backup_group = BackupGroup(
            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"
Exemplo n.º 11
0
    def test_propagate_attr_multiple_domains(self, mocker):
        backup_group = BackupGroup(domlst=(MockDomain(_conn=mocker.stub()),
                                           MockDomain(_conn=mocker.stub())),
                                   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 is "/test"
Exemplo n.º 12
0
    def test_start_with_err(self, build_mock_domain, mocker):
        backup_group = BackupGroup(
            domlst=(MockDomain(_conn=mocker.stub()),
                    MockDomain(_conn=mocker.stub(), 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
Exemplo n.º 13
0
def get_backup_group(build_mock_domain, build_mock_libvirtconn):
    callbacks_registrer = DomExtSnapshotCallbackRegistrer(build_mock_libvirtconn)
    return BackupGroup(
        build_mock_libvirtconn,
        domlst=((build_mock_domain, None),),
        callbacks_registrer=callbacks_registrer,
    )
Exemplo n.º 14
0
    def test_start_with_err(self, build_mock_domain, mocker):
        backup_group = BackupGroup(domlst=(
            MockDomain(_conn=mocker.stub()),
            MockDomain(_conn=mocker.stub(), 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
Exemplo n.º 15
0
    def test_propagate_attr_multiple_domains(self, mocker):
        backup_group = BackupGroup(
            domlst=(
                MockDomain(_conn=mocker.stub()),
                MockDomain(_conn=mocker.stub())
            ), 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"
Exemplo n.º 16
0
    def test_self(self):
        backup_group = BackupGroup()

        assert len(backup_group.backups) == 0
Exemplo n.º 17
0
def build_backup_group(conn, *group_args, **group_kwargs):
    callbacks_registrer = DomExtSnapshotCallbackRegistrer(conn)
    return BackupGroup(*group_args,
                       callbacks_registrer=callbacks_registrer,
                       **group_kwargs)
Exemplo n.º 18
0
def build_main_backup_group(groups):
    main_group = BackupGroup()
    for g in groups:
        for d in g.backups:
            main_group.add_dombackup(d)
    return main_group
Exemplo n.º 19
0
    def test_self_with_domain(self, build_mock_domain):
        dom = build_mock_domain
        backup_group = BackupGroup(domlst=((dom, None), ))

        assert len(backup_group.backups) == 1
        assert backup_group.backups[0].dom == dom
Exemplo n.º 20
0
    def test_start(self, build_mock_domain, mocker):
        backup_group = BackupGroup(domlst=(build_mock_domain, ))
        backup_group.backups[0].start = mocker.stub()

        backup_group.start()
        assert backup_group.backups[0].start.called
Exemplo n.º 21
0
    def test_search_not_found(self, build_mock_domain):
        dom = build_mock_domain
        backup_group = BackupGroup()

        with pytest.raises(StopIteration):
            next(backup_group.search(dom))
Exemplo n.º 22
0
    def test_search(self, build_mock_domain):
        dom = build_mock_domain
        backup_group = BackupGroup(domlst=(dom, ))

        dombak = next(backup_group.search(dom))
        assert dombak == backup_group.backups[0]
Exemplo n.º 23
0
    def test_search(self, build_mock_domain):
        dom = build_mock_domain
        backup_group = BackupGroup(domlst=(dom, ))

        dombak = next(backup_group.search(dom))
        assert dombak == backup_group.backups[0]
Exemplo n.º 24
0
    def test_search_not_found(self, build_mock_domain):
        dom = build_mock_domain
        backup_group = BackupGroup()

        with pytest.raises(StopIteration):
            next(backup_group.search(dom))
Exemplo n.º 25
0
    def test_start(self, build_mock_domain, mocker):
        backup_group = BackupGroup(domlst=(build_mock_domain, ))
        backup_group.backups[0].start = mocker.stub()

        backup_group.start()
        assert backup_group.backups[0].start.called