def test_cluster_ignores_nodes_parameters(monkeypatch: MonkeyPatch) -> None: node = HostName("node") cluster = HostName("cluster") service_id = CheckPluginName("smart_temp"), "auto-clustered" ts = Scenario() ts.add_host("node") ts.add_cluster("cluster", nodes=["node"]) ts.set_ruleset( "clustered_services", [([], ["node"], ["Temperature SMART auto-clustered$"])], ) ts.set_autochecks("node", [AutocheckEntry(*service_id, {}, {})]) ts.apply(monkeypatch) # a rule for the node: monkeypatch.setattr( config, "_get_configured_parameters", lambda host, plugin, item: (TimespecificParameters((TimespecificParameterSet.from_parameters( {"levels_for_node": (1, 2)}), )) if host == node else TimespecificParameters()), ) clustered_service = check_table.get_check_table(cluster)[service_id] assert clustered_service.parameters.entries == ( TimespecificParameterSet.from_parameters({"levels": (35, 40)}), )
def test_from_parameters_ts_dict(self): tsp = TimespecificParameterSet.from_parameters( { "tp_default_value": _default(), "tp_values": _tp_values(), } ) assert tsp.default == _default() assert tsp.timeperiod_values == tuple(_tp_values())
def test_from_parameters_constant_dict(self): tsp = TimespecificParameterSet.from_parameters(_default()) assert tsp.default == _default() assert not tsp.timeperiod_values
def test_from_paramters_legacy_tuple(self): tsp = TimespecificParameterSet.from_parameters((1, 2)) assert tsp.default == (1, 2) assert not tsp.timeperiod_values
def make_timespecific_params_list( entries: Iterable[LegacyCheckParameters], ) -> TimespecificParameters: return TimespecificParameters([TimespecificParameterSet.from_parameters(e) for e in entries])