def grouped_services() -> discovery.ServicesByTransition: return { "new": [ discovery.Service( CheckPluginName("check_plugin_name"), "New Item 1", "Test Description New Item 1", {}, ), discovery.Service( CheckPluginName("check_plugin_name"), "New Item 2", "Test Description New Item 2", {}, ), ], "vanished": [ discovery.Service( CheckPluginName("check_plugin_name"), "Vanished Item 1", "Test Description Vanished Item 1", {}, ), discovery.Service( CheckPluginName("check_plugin_name"), "Vanished Item 2", "Test Description Vanished Item 2", {}, ), ], }
def test_discovered_service_eq(): ser1 = discovery.Service(CheckPluginName("abc"), u"Item", u"ABC Item", None) ser2 = discovery.Service(CheckPluginName("abc"), u"Item", u"ABC Item", None) ser3 = discovery.Service(CheckPluginName("xyz"), u"Item", u"ABC Item", None) ser4 = discovery.Service(CheckPluginName("abc"), u"Xtem", u"ABC Item", None) ser5 = discovery.Service(CheckPluginName("abc"), u"Item", u"ABC Item", []) assert ser1 == ser1 # pylint: disable=comparison-with-itself assert ser1 == ser2 assert ser1 != ser3 assert ser1 != ser4 assert ser1 == ser5 assert ser1 in [ser1] assert ser1 in [ser2] assert ser1 not in [ser3] assert ser1 not in [ser4] assert ser1 in [ser5] assert ser1 in {ser1} assert ser1 in {ser2} assert ser1 not in {ser3} assert ser1 not in {ser4} assert ser1 in {ser5}
def test_discovered_service_init(): ser = discovery.Service(CheckPluginName("abc"), u"Item", u"ABC Item", None) assert ser.check_plugin_name == CheckPluginName("abc") assert ser.item == u"Item" assert ser.description == u"ABC Item" assert ser.parameters is None assert ser.service_labels.to_dict() == {} ser = discovery.Service(CheckPluginName("abc"), u"Item", u"ABC Item", None, DiscoveredServiceLabels(ServiceLabel(u"läbel", u"lübel"))) assert ser.service_labels.to_dict() == {u"läbel": u"lübel"} with pytest.raises(AttributeError): ser.xyz = "abc" # type: ignore[attr-defined] # pylint: disable=assigning-non-slot
def test__get_service_filter_func_same_lists(monkeypatch, whitelist, result): monkeypatch.setattr(config, "service_description", lambda h, c, i: "Test Description") params = {"inventory_rediscovery": {"service_whitelist": whitelist}} service_filters = discovery.get_service_filter_funcs(params) service = discovery.Service(CheckPluginName("check_plugin_name"), "item", "Test Description", None) assert service_filters.new is not None assert service_filters.new("hostname", service) is result params = {"inventory_rediscovery": {"service_blacklist": whitelist}} service_filters_inverse = discovery.get_service_filter_funcs(params) assert service_filters_inverse.new is not None assert service_filters_inverse.new("hostname", service) is not result params = { "inventory_rediscovery": { "service_whitelist": whitelist, "service_blacklist": whitelist, } } service_filters_both = discovery.get_service_filter_funcs(params) assert service_filters_both.new is not None assert service_filters_both.new("hostname", service) is False
def test__get_service_filter_func(monkeypatch, parameters_rediscovery, result): monkeypatch.setattr(config, "service_description", lambda h, c, i: "Test Description") params = {"inventory_rediscovery": parameters_rediscovery} service_filters = discovery.get_service_filter_funcs(params) service = discovery.Service(CheckPluginName("check_plugin_name"), "item", "Test Description", None) assert service_filters.new is not None assert service_filters.new("hostname", service) is result
def service_table() -> discovery.ServicesTable: return { (CheckPluginName("check_plugin_name"), "New Item 1"): ( "new", discovery.Service( CheckPluginName("check_plugin_name"), "New Item 1", "Test Description New Item 1", {}, ), [], ), (CheckPluginName("check_plugin_name"), "New Item 2"): ( "new", discovery.Service( CheckPluginName("check_plugin_name"), "New Item 2", "Test Description New Item 2", {}, ), [], ), (CheckPluginName("check_plugin_name"), "Vanished Item 1"): ( "vanished", discovery.Service( CheckPluginName("check_plugin_name"), "Vanished Item 1", "Test Description Vanished Item 1", {}, ), [], ), (CheckPluginName("check_plugin_name"), "Vanished Item 2"): ( "vanished", discovery.Service( CheckPluginName("check_plugin_name"), "Vanished Item 2", "Test Description Vanished Item 2", {}, ), [], ), }
assert autochecks.has_autochecks("host") is True def test_remove_autochecks_file(): assert autochecks.has_autochecks("host") is False autochecks.save_autochecks_file("host", []) assert autochecks.has_autochecks("host") is True autochecks.remove_autochecks_file("host") assert autochecks.has_autochecks("host") is False @pytest.mark.parametrize("items,expected_content", [ ([], "[\n]\n"), ([ discovery.Service(CheckPluginName('df'), u'/xyz', u"Filesystem /xyz", None, DiscoveredServiceLabels(ServiceLabel(u"x", u"y"))), discovery.Service(CheckPluginName('df'), u'/', u"Filesystem /", {}, DiscoveredServiceLabels(ServiceLabel(u"x", u"y"))), discovery.Service(CheckPluginName('cpu_loads'), None, "CPU load", {}, DiscoveredServiceLabels(ServiceLabel(u"x", u"y"))), ], """[ {'check_plugin_name': 'cpu_loads', 'item': None, 'parameters': {}, 'service_labels': {'x': 'y'}}, {'check_plugin_name': 'df', 'item': '/', 'parameters': {}, 'service_labels': {'x': 'y'}}, {'check_plugin_name': 'df', 'item': '/xyz', 'parameters': None, 'service_labels': {'x': 'y'}}, ]\n"""), ]) def test_save_autochecks_file(items, expected_content): autochecks.save_autochecks_file("host", items) autochecks_file = Path(cmk.utils.paths.autochecks_dir, "host.mk")
autochecks.save_autochecks_file("host", []) assert autochecks.has_autochecks("host") is True def test_remove_autochecks_file(): assert autochecks.has_autochecks("host") is False autochecks.save_autochecks_file("host", []) assert autochecks.has_autochecks("host") is True autochecks.remove_autochecks_file("host") assert autochecks.has_autochecks("host") is False @pytest.mark.parametrize("items,expected_content", [ ([], "[\n]\n"), ([ discovery.Service('df', u'/xyz', u"Filesystem /xyz", None, DiscoveredServiceLabels(ServiceLabel(u"x", u"y"))), discovery.Service('df', u'/', u"Filesystem /", {}, DiscoveredServiceLabels(ServiceLabel(u"x", u"y"))), discovery.Service('cpu.loads', None, "CPU load", {}, DiscoveredServiceLabels(ServiceLabel(u"x", u"y"))), ], """[ {'check_plugin_name': 'cpu.loads', 'item': None, 'parameters': {}, 'service_labels': {'x': 'y'}}, {'check_plugin_name': 'df', 'item': '/', 'parameters': {}, 'service_labels': {'x': 'y'}}, {'check_plugin_name': 'df', 'item': '/xyz', 'parameters': None, 'service_labels': {'x': 'y'}}, ]\n"""), ]) def test_save_autochecks_file(items, expected_content): autochecks.save_autochecks_file("host", items) autochecks_file = Path(cmk.utils.paths.autochecks_dir, "host.mk") with autochecks_file.open("r", encoding="utf-8") as f: