Module: check_mk
Branch: master
Commit: 60f41cf39b16bc6da72d95aef93556f4a7b8de98
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=60f41cf39b16bc…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Wed Feb 13 21:51:35 2019 +0100
Add tests to verify the current group loading logic
Change-Id: Ieed3740a650ac355e4af3810030161715e710238
---
tests/unit/cmk/gui/watolib/test_groups.py | 82 +++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
diff --git a/tests/unit/cmk/gui/watolib/test_groups.py
b/tests/unit/cmk/gui/watolib/test_groups.py
new file mode 100644
index 0000000..b1cd738
--- /dev/null
+++ b/tests/unit/cmk/gui/watolib/test_groups.py
@@ -0,0 +1,82 @@
+# encoding: utf-8
+
+import pytest
+
+import cmk.utils.paths
+import cmk.gui.watolib.groups as groups
+
+
+(a)pytest.fixture(autouse=True)
+def patch_config_paths(monkeypatch, tmp_path):
+ cmk_confd = tmp_path / "check_mk" / "conf.d"
+ monkeypatch.setattr(cmk.utils.paths, "check_mk_config_dir",
str(cmk_confd))
+ (cmk_confd / "wato").mkdir(parents=True)
+
+ gui_confd = tmp_path / "check_mk" / "multisite.d"
+ monkeypatch.setattr(cmk.utils.paths, "default_config_dir",
str(gui_confd.parent))
+ (gui_confd / "wato").mkdir(parents=True)
+
+
+def test_load_group_information_empty(tmp_path):
+ assert groups.load_group_information() == {'contact': {}, 'host': {},
'service': {}}
+
+
+def test_load_group_information(tmp_path):
+ with open(cmk.utils.paths.check_mk_config_dir + "/wato/groups.mk",
"w") as f:
+ f.write("""# encoding: utf-8
+
+if type(define_contactgroups) != dict:
+ define_contactgroups = {}
+define_contactgroups.update({'all': u'Everything'})
+
+if type(define_hostgroups) != dict:
+ define_hostgroups = {}
+define_hostgroups.update({'all_hosts': u'All hosts :-)'})
+
+if type(define_servicegroups) != dict:
+ define_servicegroups = {}
+define_servicegroups.update({'all_services': u'All särvices'})
+""")
+
+ with open(cmk.utils.paths.default_config_dir +
"/multisite.d/wato/groups.mk", "w") as f:
+ f.write("""# encoding: utf-8
+
+multisite_hostgroups = {
+ "all_hosts": {
+ "ding": "dong",
+ },
+}
+
+multisite_servicegroups = {
+ "all_services": {
+ "d1ng": "dong",
+ },
+}
+
+multisite_contactgroups = {
+ "all": {
+ "d!ng": "dong",
+ },
+}
+""")
+
+ assert groups.load_group_information() == {
+ 'contact': {
+ 'all': {
+ 'alias': u'Everything',
+ "d!ng": "dong",
+ }
+ },
+ 'host': {
+ 'all_hosts': {
+ 'alias': u'All hosts :-)',
+ "ding": "dong",
+ }
+ },
+ 'service': {
+ 'all_services': {
+ 'alias': u'All s\xe4rvices',
+ "d1ng": "dong",
+ }
+ },
+ }