Skip to content

Commit 34e858a

Browse files
committed
Properly isolate environment variable tests.
1 parent 132131c commit 34e858a

File tree

12 files changed

+164
-97
lines changed

12 files changed

+164
-97
lines changed

tests/integration/targets/lookup_bakery/tasks/test.yml

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,21 @@
2626
('exception' in __checkmk_var_result_bakery.msg) | bool
2727

2828
# We need this hack to overwrite the colliding global variable
29-
- name: "Set fact: checkmk_var_server_url."
30-
ansible.builtin.set_fact:
31-
checkmk_var_server_url: "http://127.0.0.1:5324/"
32-
when: outer_item.site == "stable_cme"
33-
3429
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
35-
ansible.builtin.assert:
36-
that: ('finished' in __checkmk_var_result_bakery_internal) | bool or
37-
('running' in __checkmk_var_result_bakery_internal) | bool or
38-
('initialized' in __checkmk_var_result_bakery_internal) | bool or
39-
('stopped' in __checkmk_var_result_bakery_internal) | bool or
40-
('exception' in __checkmk_var_result_bakery_internal) | bool
41-
vars:
42-
__checkmk_var_result_bakery_internal: "{{ lookup('checkmk.general.bakery') }}"
4330
delegate_to: localhost
31+
run_once: true # noqa run-once[task]
4432
when: outer_item.site == "stable_cme"
33+
block:
34+
- name: "Set checkmk_var_server_url for isolated testing."
35+
ansible.builtin.set_fact:
36+
checkmk_var_server_url: "http://127.0.0.1:5324/"
37+
38+
- name: "Test plugin with variables from inventory."
39+
ansible.builtin.assert:
40+
that: ('finished' in __checkmk_var_result_bakery_internal) | bool or
41+
('running' in __checkmk_var_result_bakery_internal) | bool or
42+
('initialized' in __checkmk_var_result_bakery_internal) | bool or
43+
('stopped' in __checkmk_var_result_bakery_internal) | bool or
44+
('exception' in __checkmk_var_result_bakery_internal) | bool
45+
vars:
46+
__checkmk_var_result_bakery_internal: "{{ lookup('checkmk.general.bakery') }}"

tests/integration/targets/lookup_folder/tasks/test.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,17 @@
6363
run_once: true # noqa run-once[task]
6464

6565
# We need this hack to overwrite the colliding global variable
66-
- name: "Set fact: checkmk_var_server_url."
67-
ansible.builtin.set_fact:
68-
checkmk_var_server_url: "http://127.0.0.1:5324/"
69-
when: outer_item.site == "stable_cme"
70-
7166
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
72-
ansible.builtin.assert:
73-
that: "__checkmk_var_folder.extensions.attributes.tag_criticality == checkmk_var_folder.criticality"
74-
vars:
75-
__checkmk_var_folder: "{{ lookup('checkmk.general.folder', checkmk_var_folder.path) }}"
7667
delegate_to: localhost
7768
run_once: true # noqa run-once[task]
7869
when: outer_item.site == "stable_cme"
70+
block:
71+
- name: "Set checkmk_var_server_url for isolated testing."
72+
ansible.builtin.set_fact:
73+
checkmk_var_server_url: "http://127.0.0.1:5324/"
74+
75+
- name: "Test plugin with variables from inventory."
76+
ansible.builtin.assert:
77+
that: "__checkmk_var_folder.extensions.attributes.tag_criticality == checkmk_var_folder.criticality"
78+
vars:
79+
__checkmk_var_folder: "{{ lookup('checkmk.general.folder', checkmk_var_folder.path) }}"

tests/integration/targets/lookup_folders/tasks/test.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,18 @@
6969
run_once: true # noqa run-once[task]
7070

7171
# We need this hack to overwrite the colliding global variable
72-
- name: "Set fact: checkmk_var_server_url."
73-
ansible.builtin.set_fact:
74-
checkmk_var_server_url: "http://127.0.0.1:5324/"
75-
when: outer_item.site == "stable_cme"
76-
7772
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
78-
ansible.builtin.assert:
79-
# The looked up list contains the main folder, as well.
80-
that: "( 1 + checkmk_var_folders | length ) == __checkmk_var_folders | length"
81-
vars:
82-
__checkmk_var_folders: "{{ lookup('checkmk.general.folders', '/', recursive=True) }}"
8373
delegate_to: localhost
8474
run_once: true # noqa run-once[task]
8575
when: outer_item.site == "stable_cme"
76+
block:
77+
- name: "Set checkmk_var_server_url for isolated testing."
78+
ansible.builtin.set_fact:
79+
checkmk_var_server_url: "http://127.0.0.1:5324/"
80+
81+
- name: "Test plugin with variables from inventory."
82+
ansible.builtin.assert:
83+
# The looked up list contains the main folder, as well.
84+
that: "( 1 + checkmk_var_folders | length ) == __checkmk_var_folders | length"
85+
vars:
86+
__checkmk_var_folders: "{{ lookup('checkmk.general.folders', '/', recursive=True) }}"

tests/integration/targets/lookup_host/tasks/test.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,17 @@
5050
run_once: true # noqa run-once[task]
5151

5252
# We need this hack to overwrite the colliding global variable
53-
- name: "Set fact: checkmk_var_server_url."
54-
ansible.builtin.set_fact:
55-
checkmk_var_server_url: "http://127.0.0.1:5324/"
56-
when: outer_item.site == "stable_cme"
57-
5853
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
59-
ansible.builtin.assert:
60-
that: "checkmk_var_host.alias == __checkmk_var_host.attributes.alias"
61-
vars:
62-
__checkmk_var_host: "{{ lookup('checkmk.general.host', checkmk_var_host.name) }}"
6354
delegate_to: localhost
6455
run_once: true # noqa run-once[task]
6556
when: outer_item.site == "stable_cme"
57+
block:
58+
- name: "Set checkmk_var_server_url for isolated testing."
59+
ansible.builtin.set_fact:
60+
checkmk_var_server_url: "http://127.0.0.1:5324/"
61+
62+
- name: "Test plugin with variables from inventory."
63+
ansible.builtin.assert:
64+
that: "checkmk_var_host.alias == __checkmk_var_host.attributes.alias"
65+
vars:
66+
__checkmk_var_host: "{{ lookup('checkmk.general.host', checkmk_var_host.name) }}"

tests/integration/targets/lookup_hosts/tasks/test.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,17 @@
5050
run_once: true # noqa run-once[task]
5151

5252
# We need this hack to overwrite the colliding global variable
53-
- name: "Set fact: checkmk_var_server_url."
54-
ansible.builtin.set_fact:
55-
checkmk_var_server_url: "http://127.0.0.1:5324/"
56-
when: outer_item.site == "stable_cme"
57-
5853
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
59-
ansible.builtin.assert:
60-
that: "checkmk_var_hosts | length == __checkmk_var_hosts | length"
61-
vars:
62-
__checkmk_var_hosts: "{{ lookup('checkmk.general.hosts') }}"
6354
delegate_to: localhost
6455
run_once: true # noqa run-once[task]
6556
when: outer_item.site == "stable_cme"
57+
block:
58+
- name: "Set checkmk_var_server_url for isolated testing."
59+
ansible.builtin.set_fact:
60+
checkmk_var_server_url: "http://127.0.0.1:5324/"
61+
62+
- name: "Test plugin with variables from inventory."
63+
ansible.builtin.assert:
64+
that: "checkmk_var_hosts | length == __checkmk_var_hosts | length"
65+
vars:
66+
__checkmk_var_hosts: "{{ lookup('checkmk.general.hosts') }}"

tests/integration/targets/lookup_ldap_connection/tasks/test.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,19 @@
4343
}}"
4444
delegate_to: localhost
4545
run_once: true # noqa run-once[task]
46+
47+
# We need this hack to overwrite the colliding global variable
48+
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
49+
delegate_to: localhost
50+
run_once: true # noqa run-once[task]
51+
when: outer_item.site == "stable_cme"
52+
block:
53+
- name: "Set checkmk_var_server_url for isolated testing."
54+
ansible.builtin.set_fact:
55+
checkmk_var_server_url: "http://127.0.0.1:5324/"
56+
57+
- name: "Test plugin with variables from inventory."
58+
ansible.builtin.assert:
59+
that: "checkmk_var_ldap_connection.ldap_config.general_properties.description == __checkmk_var_ldap_connection.general_properties.description"
60+
vars:
61+
__checkmk_var_ldap_connection: "{{ lookup('checkmk.general.ldap_connection', checkmk_var_ldap_connection.ldap_config.general_properties.id) }}"

tests/integration/targets/lookup_ldap_connections/tasks/test.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,19 @@
4242
}}"
4343
delegate_to: localhost
4444
run_once: true # noqa run-once[task]
45+
46+
# We need this hack to overwrite the colliding global variable
47+
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
48+
delegate_to: localhost
49+
run_once: true # noqa run-once[task]
50+
when: outer_item.site == "stable_cme"
51+
block:
52+
- name: "Set checkmk_var_server_url for isolated testing."
53+
ansible.builtin.set_fact:
54+
checkmk_var_server_url: "http://127.0.0.1:5324/"
55+
56+
- name: "Test plugin with variables from inventory."
57+
ansible.builtin.assert:
58+
that: "checkmk_var_ldap_connection | length == __checkmk_var_ldap_connections | length"
59+
vars:
60+
__checkmk_var_ldap_connections: "{{ lookup('checkmk.general.ldap_connections') }}"

tests/integration/targets/lookup_rules/tasks/test.yml

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -100,26 +100,26 @@
100100
loop: "{{ __checkmk_var_cpu_load_ruleset.__checkmk_var_one_ruleset }}"
101101

102102
# We need this hack to overwrite the colliding global variable
103-
- name: "Set fact: checkmk_var_server_url."
104-
ansible.builtin.set_fact:
105-
checkmk_var_server_url: "http://127.0.0.1:5324/"
106-
when: outer_item.site == "stable_cme"
107-
108-
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory: rule."
109-
ansible.builtin.debug:
110-
var: __checkmk_var_rule_module
111-
vars:
112-
__checkmk_var_rule_module: "{{ lookup('checkmk.general.rule', rule_id=item.id) }}"
103+
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
113104
delegate_to: localhost
114-
loop: "{{ __checkmk_var_cpu_load_ruleset.__checkmk_var_one_ruleset }}"
105+
run_once: true # noqa run-once[task]
115106
when: outer_item.site == "stable_cme"
107+
block:
108+
- name: "Set checkmk_var_server_url for isolated testing."
109+
ansible.builtin.set_fact:
110+
checkmk_var_server_url: "http://127.0.0.1:5324/"
116111

117-
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory: rules."
118-
ansible.builtin.assert:
119-
# Check the number of rules
120-
that: __checkmk_var_rules_module | length == 1
121-
vars:
122-
__checkmk_var_rules_module: "{{ lookup('checkmk.general.rules', ruleset=item, comment_regex='Ansible managed') }}"
123-
delegate_to: localhost
124-
loop: "{{ checkmk_var_rulesets }}"
125-
when: outer_item.site == "stable_cme"
112+
- name: "Test plugin with variables from inventory for: rule."
113+
ansible.builtin.debug:
114+
var: __checkmk_var_rule_module
115+
vars:
116+
__checkmk_var_rule_module: "{{ lookup('checkmk.general.rule', rule_id=item.id) }}"
117+
loop: "{{ __checkmk_var_cpu_load_ruleset.__checkmk_var_one_ruleset }}"
118+
119+
- name: "Test plugin with variables from inventory for: rules."
120+
ansible.builtin.assert:
121+
# Check the number of rules
122+
that: __checkmk_var_rules_module | length == 1
123+
vars:
124+
__checkmk_var_rules_module: "{{ lookup('checkmk.general.rules', ruleset=item, comment_regex='Ansible managed') }}"
125+
loop: "{{ checkmk_var_rulesets }}"

tests/integration/targets/lookup_rulesets/tasks/test.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,27 @@
110110
delegate_to: localhost
111111
run_once: true # noqa run-once[task]
112112
when: outer_item.site == "stable_cme"
113+
114+
# We need this hack to overwrite the colliding global variable
115+
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
116+
delegate_to: localhost
117+
run_once: true # noqa run-once[task]
118+
when: outer_item.site == "stable_cme"
119+
block:
120+
- name: "Set checkmk_var_server_url for isolated testing."
121+
ansible.builtin.set_fact:
122+
checkmk_var_server_url: "http://127.0.0.1:5324/"
123+
124+
- name: "Test plugin with variables from inventory for: ruleset."
125+
ansible.builtin.assert:
126+
# For each rule that we created, check, if the number of rules in its ruleset is 1.
127+
that: "__checkmk_var_ruleset.number_of_rules == 1"
128+
vars:
129+
__checkmk_var_ruleset: "{{ lookup('checkmk.general.ruleset', ruleset=item) }}"
130+
loop: "{{ checkmk_var_ruleset_regexes }}"
131+
132+
- name: "Test plugin with variables from inventory for: rulesets."
133+
ansible.builtin.debug:
134+
var: __checkmk_var_rulesets
135+
vars:
136+
__checkmk_var_rulesets: "{{ lookup('checkmk.general.rulesets', regex='file', rulesets_used=False, rulesets_deprecated=False) }}"

tests/integration/targets/lookup_site/tasks/test.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,17 @@
3030
run_once: true # noqa run-once[task]
3131

3232
# We need this hack to overwrite the colliding global variable
33-
- name: "Set fact: checkmk_var_server_url."
34-
ansible.builtin.set_fact:
35-
checkmk_var_server_url: "http://127.0.0.1:5324/"
36-
when: outer_item.site == "stable_cme"
37-
3833
- name: "{{ outer_item.version }} - {{ outer_item.edition | upper }} - Use variables from inventory."
39-
ansible.builtin.assert:
40-
that: "__checkmk_var_site.status_connection.connection.socket_type == 'local'"
41-
vars:
42-
__checkmk_var_site: "{{ lookup('checkmk.general.site', outer_item.site) }}"
4334
delegate_to: localhost
4435
run_once: true # noqa run-once[task]
4536
when: outer_item.site == "stable_cme"
37+
block:
38+
- name: "Set checkmk_var_server_url for isolated testing."
39+
ansible.builtin.set_fact:
40+
checkmk_var_server_url: "http://127.0.0.1:5324/"
41+
42+
- name: "Test plugin with variables from inventory."
43+
ansible.builtin.assert:
44+
that: "__checkmk_var_site.status_connection.connection.socket_type == 'local'"
45+
vars:
46+
__checkmk_var_site: "{{ lookup('checkmk.general.site', outer_item.site) }}"

0 commit comments

Comments
 (0)