Exemplo n.º 1
0
    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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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
Exemplo n.º 6
0
    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"
Exemplo n.º 7
0
    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
Exemplo n.º 8
0
    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
Exemplo n.º 9
0
    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"
Exemplo n.º 10
0
    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
Exemplo n.º 11
0
    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
Exemplo n.º 12
0
    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"
Exemplo n.º 13
0
    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"
Exemplo n.º 14
0
    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))