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 grouped_services() -> discovery.ServicesByTransition: return { "new": [ autochecks.ServiceWithNodes( discovery.Service( CheckPluginName("check_plugin_name"), "New Item 1", "Test Description New Item 1", {}, ), [], ), autochecks.ServiceWithNodes( discovery.Service( CheckPluginName("check_plugin_name"), "New Item 2", "Test Description New Item 2", {}, ), [], ), ], "vanished": [ autochecks.ServiceWithNodes( discovery.Service( CheckPluginName("check_plugin_name"), "Vanished Item 1", "Test Description Vanished Item 1", {}, ), [], ), autochecks.ServiceWithNodes( discovery.Service( CheckPluginName("check_plugin_name"), "Vanished Item 2", "Test Description Vanished Item 2", {}, ), [], ), ], }
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_content,expected_result", [ # Dict: Regular processing ( """[ {'check_plugin_name': 'df', 'item': u'/', 'parameters': {}, 'service_labels': {}}, ]""", [ discovery.Service( CheckPluginName("df"), "/", "", { "inodes_levels": (10.0, 5.0), "levels": (80.0, 90.0), "levels_low": (50.0, 60.0), "magic_normsize": 20, "show_inodes": "onlow", "show_levels": "onmagic", "show_reserved": False, "trend_perfdata": True, "trend_range": 24, }, ), ], ), ], ) def test_manager_get_autochecks_of( test_config: config.ConfigCache, autochecks_content: str, expected_result: Sequence[discovery.Service],
autochecks.save_autochecks_file(HostName("host"), []) assert autochecks.has_autochecks(HostName("host")) is True autochecks.remove_autochecks_file(HostName("host")) assert autochecks.has_autochecks(HostName("host")) is False @pytest.mark.parametrize( "items,expected_content", [ ([], "[\n]\n"), ( [ discovery.Service( CheckPluginName("df"), "/xyz", "Filesystem /xyz", None, DiscoveredServiceLabels(ServiceLabel("x", "y")), ), discovery.Service( CheckPluginName("df"), "/", "Filesystem /", {}, DiscoveredServiceLabels(ServiceLabel("x", "y")), ), discovery.Service( CheckPluginName("cpu_loads"), None, "CPU load", {},