mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
* Add lookup_dig tests
* Fix boolean evaluation
* Add changelog fragment
* Apply review changes
* Add license
(cherry picked from commit 3c2d7eb193
)
Co-authored-by: Michal Hybner <76526074+mu1f407@users.noreply.github.com>
This commit is contained in:
parent
43e599abb1
commit
2e11c2dfa4
5 changed files with 55 additions and 2 deletions
2
changelogs/fragments/5129-dig-boolean-params-fix.yml
Normal file
2
changelogs/fragments/5129-dig-boolean-params-fix.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- dig lookup plugin - fix evaluation of falsy values for boolean parameters ``fail_on_error`` and ``retry_servfail`` (https://github.com/ansible-collections/community.general/pull/5129).
|
|
@ -175,6 +175,7 @@ RETURN = """
|
|||
from ansible.errors import AnsibleError
|
||||
from ansible.plugins.lookup import LookupBase
|
||||
from ansible.module_utils.common.text.converters import to_native
|
||||
from ansible.module_utils.parsing.convert_bool import boolean
|
||||
from ansible.utils.display import Display
|
||||
import socket
|
||||
|
||||
|
@ -327,9 +328,9 @@ class LookupModule(LookupBase):
|
|||
except Exception as e:
|
||||
raise AnsibleError("dns lookup illegal CLASS: %s" % to_native(e))
|
||||
elif opt == 'retry_servfail':
|
||||
myres.retry_servfail = bool(arg)
|
||||
myres.retry_servfail = boolean(arg)
|
||||
elif opt == 'fail_on_error':
|
||||
fail_on_error = bool(arg)
|
||||
fail_on_error = boolean(arg)
|
||||
|
||||
continue
|
||||
|
||||
|
|
6
tests/integration/targets/lookup_dig/aliases
Normal file
6
tests/integration/targets/lookup_dig/aliases
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
shippable/posix/group1
|
||||
skip/python2.6 # lookups are controller only, and we no longer support Python 2.6 on the controller
|
7
tests/integration/targets/lookup_dig/meta/main.yml
Normal file
7
tests/integration/targets/lookup_dig/meta/main.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
dependencies:
|
||||
- setup_remote_constraints
|
37
tests/integration/targets/lookup_dig/tasks/main.yml
Normal file
37
tests/integration/targets/lookup_dig/tasks/main.yml
Normal file
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
####################################################################
|
||||
# WARNING: These are designed specifically for Ansible tests #
|
||||
# and should not be used as examples of how to write Ansible roles #
|
||||
####################################################################
|
||||
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Install dnspython library
|
||||
pip:
|
||||
name: dnspython
|
||||
state: present
|
||||
extra_args: "-c {{ remote_constraints }}"
|
||||
|
||||
- name: Test dig lookup with existing domain
|
||||
set_fact:
|
||||
dig_existing: "{{ lookup('community.general.dig', 'github.com.') }}"
|
||||
|
||||
- name: Test dig lookup with non-existing domain and fail_on_error=no
|
||||
set_fact:
|
||||
dig_nonexisting_fail_no: "{{ lookup('community.general.dig', 'non-existing.domain.', 'fail_on_error=no') }}"
|
||||
|
||||
- name: Verify that NXDOMAIN was returned
|
||||
assert:
|
||||
that: dig_nonexisting_fail_no == 'NXDOMAIN'
|
||||
|
||||
- name: Test dig lookup with non-existing domain and fail_on_error=yes
|
||||
set_fact:
|
||||
dig_nonexisting_fail_yes: "{{ lookup('community.general.dig', 'non-existing.domain.', 'fail_on_error=yes') }}"
|
||||
ignore_errors: yes
|
||||
register: dig_nonexisting_fail_yes_result
|
||||
|
||||
- name: Verify that the task failed
|
||||
assert:
|
||||
that: dig_nonexisting_fail_yes_result is failed
|
Loading…
Reference in a new issue