コード例 #1
0
    def test_devices_target_node_present(self):
        self.config.runner.cib.load(fencing_topology=self.fixture_cib_node)
        self.config.env.push_cib(fencing_topology=self.fixture_cib_other_level)

        lib.remove_levels_by_params(
            self.env_assist.get_env(),
            level="1",
            target_type=TARGET_TYPE_NODE,
            target_value="node1",
            devices=["dev1", "dev2"],
        )
コード例 #2
0
    def test_devices_target_attr_present(self):
        self.config.runner.cib.load(fencing_topology=self.fixture_cib_attr)
        self.config.env.push_cib(fencing_topology=self.fixture_cib_other_level)

        lib.remove_levels_by_params(
            self.env_assist.get_env(),
            level="1",
            target_type=TARGET_TYPE_ATTRIBUTE,
            target_value=("fencing", "improved"),
            devices=["dev1", "dev2"],
        )
コード例 #3
0
    def test_success(self, mock_push_cib, mock_get_topology, mock_remove):
        mock_get_topology.return_value = "topology el"
        lib_env = create_lib_env()

        lib.remove_levels_by_params(lib_env, "level", "target type", "target value", "devices", "ignore")

        mock_remove.assert_called_once_with(
            lib_env.report_processor, "topology el", "level", "target type", "target value", "devices", "ignore"
        )
        mock_get_topology.assert_called_once_with("mocked cib")
        mock_push_cib.assert_called_once_with("mocked cib")
コード例 #4
0
ファイル: test_fencing_topology.py プロジェクト: rriifftt/pcs
    def test_success(self, mock_push_cib, mock_get_topology, mock_remove):
        mock_get_topology.return_value = "topology el"
        lib_env = create_lib_env()

        lib.remove_levels_by_params(lib_env, "level", "target type",
                                    "target value", "devices", "ignore")

        mock_remove.assert_called_once_with(lib_env.report_processor,
                                            "topology el", "level",
                                            "target type", "target value",
                                            "devices", "ignore")
        mock_get_topology.assert_called_once_with("mocked cib")
        mock_push_cib.assert_called_once_with("mocked cib")
コード例 #5
0
    def test_devices_target_node_missing_not_found(self):
        self.config.runner.cib.load(fencing_topology=self.fixture_cib_node)

        self.env_assist.assert_raise_library_error(
            lambda: lib.remove_levels_by_params(
                self.env_assist.get_env(),
                level="2",
                target_type=TARGET_TYPE_NODE,
                target_value="dev1",
                devices=["dev2"],
                target_may_be_a_device=True,
            )
        )
        self.env_assist.assert_reports([
            fixture.error(
                report_codes.CIB_FENCING_LEVEL_DOES_NOT_EXIST,
                level="2",
                target_type=TARGET_TYPE_NODE,
                target_value="dev1",
                devices=["dev2"],
            ),
            fixture.error(
                report_codes.CIB_FENCING_LEVEL_DOES_NOT_EXIST,
                level="2",
                target_type=None,
                target_value=None,
                devices=["dev1", "dev2"],
            ),
        ])
コード例 #6
0
    def test_devices_target_regexp_missing(self):
        self.config.runner.cib.load(fencing_topology=self.fixture_cib_regexp)

        self.env_assist.assert_raise_library_error(
            lambda: lib.remove_levels_by_params(
                self.env_assist.get_env(),
                level="2",
                target_type=TARGET_TYPE_REGEXP,
                target_value="node\\d+",
                devices=["dev1", "dev2"],
            ))
        self.env_assist.assert_reports([
            fixture.error(
                report_codes.CIB_FENCING_LEVEL_DOES_NOT_EXIST,
                level="2",
                target_type=TARGET_TYPE_REGEXP,
                target_value="node\\d+",
                devices=["dev1", "dev2"],
            ),
        ])