blob: 1b5877e034e8ebc61182792da99c568dd84c9355 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
# Test code for the debconf module.
# (c) 2017, James Tanner <tanner.jc@gmail.com>
# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
##
## debconf query
##
- block:
- name: query the tzdata package
debconf:
name: tzdata
register: debconf_test0
- name: validate results for test 0
assert:
that:
- 'debconf_test0.changed is defined'
- 'debconf_test0.current is defined'
- '"tzdata/Zones/Etc" in debconf_test0.current'
- 'debconf_test0.current["tzdata/Zones/Etc"] == "UTC"'
- name: install debconf-utils
apt:
name: debconf-utils
state: present
register: debconf_utils_deb_install
- name: Check if password is set
debconf:
name: ddclient
question: ddclient/password
value: "MySecretValue"
vtype: password
register: debconf_test1
- name: validate results for test 1
assert:
that:
- debconf_test1.changed
- name: Change password again
debconf:
name: ddclient
question: ddclient/password
value: "MySecretValue"
vtype: password
no_log: yes
register: debconf_test2
- name: validate results for test 1
assert:
that:
- not debconf_test2.changed
- name: Multiselect value
debconf:
name: libnss-ldapd
question: libnss-ldapd/nsswitch
vtype: multiselect
value:
- passwd
- group
- shadow
register: debconf_multiselect_test
- name: validate results for multiselect test
assert:
that:
- debconf_multiselect_test.changed
- name: Multiselect value again (idempotency)
debconf:
name: libnss-ldapd
question: libnss-ldapd/nsswitch
vtype: multiselect
value:
- passwd
- group
- shadow
register: debconf_multiselect_test_idem
- name: validate results for multiselect test (idempotency)
assert:
that:
- not debconf_multiselect_test_idem.changed
- name: Multiselect value to check if ordered value
debconf:
name: libnss-ldapd
question: libnss-ldapd/nsswitch
vtype: multiselect
value:
- group
- shadow
- passwd
register: debconf_multiselect_test_idem_2
- name: validate results for multiselect test for ordered value
assert:
that:
- not debconf_multiselect_test_idem_2.changed
- name: Multiselect value to check backward compatibility
debconf:
name: libnss-ldapd
question: libnss-ldapd/nsswitch
vtype: multiselect
value: group, shadow, passwd
register: debconf_multiselect_test_idem_3
- name: validate results for multiselect test for backward compatibility
assert:
that:
- debconf_multiselect_test_idem_3.changed
- name: Multiselect value to check if value contains invalid user input
debconf:
name: libnss-ldapd
question: libnss-ldapd/nsswitch
vtype: multiselect
value:
- group
- 1
- passwd
register: debconf_multiselect_test_idem_4
ignore_errors: yes
- name: validate results for multiselect test for invalid value
assert:
that:
- not debconf_multiselect_test_idem_4.changed
- '"Invalid value provided" in debconf_multiselect_test_idem_4.msg'
- name: Boolean vtype from boolean value
debconf:
name: libnns-ldap
question: libnss-ldapd/clean_nsswitch
vtype: boolean
value: true
register: debconf_bool_test_bool_1
- name: validate results for boolean vtype from boolean value
assert:
that:
- debconf_bool_test_bool_1.changed
- name: Boolean vtype from string value
debconf:
name: libnns-ldap
question: libnss-ldapd/clean_nsswitch
vtype: boolean
value: "FALSE"
register: debconf_bool_test_bool_2
- name: validate results for boolean vtype from string value
assert:
that:
- debconf_bool_test_bool_2.changed
always:
- name: uninstall debconf-utils
apt:
name: debconf-utils
state: absent
when: debconf_utils_deb_install is changed
when: ansible_distribution in ('Ubuntu', 'Debian')
|