ansible/test/integration/targets/includes/roles/test_includes/tasks/main.yml
Pilou 556a1daa33 fix searched paths in DataLoader.path_dwim_relative (avoid AnsibleFileNotFound) (#26729)
* add unit test: nested dynamic includes

* nested dynamic includes: avoid AnsibleFileNotFound error

Error was:
Unable to retrieve file contents
Could not find or access 'include2.yml'

Before 8f758204cf, at the end of
'path_dwim_relative' method, the 'search' variable contained amongst
others paths:
'/tmp/roles/testrole/tasks/tasks/included.yml' and
'/tmp/roles/testrole/tasks/included.yml'.
The commit mentioned before removed the last one despite the method
docstrings specify 'with or without explicitly named dirname subdirs'.

* add integration test: nested includes
2017-07-20 10:26:13 -04:00

106 lines
2.3 KiB
YAML

# test code for the ping module
# (c) 2014, James Cammarata <jcammarata@ansible.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/>.
- include: included_task1.yml a=1 b=2 c=3
- name: verify non-variable include params
assert:
that:
- "ca == '1'"
- "cb == '2'"
- "cc == '3'"
- set_fact:
a: 101
b: 102
c: 103
- include: included_task1.yml a={{a}} b={{b}} c=103
- name: verify variable include params
assert:
that:
- "ca == 101"
- "cb == 102"
- "cc == 103"
# Test that strings are not turned into numbers
- set_fact:
a: "101"
b: "102"
c: "103"
- include: included_task1.yml a={{a}} b={{b}} c=103
- name: verify variable include params
assert:
that:
- "ca == '101'"
- "cb == '102'"
- "cc == '103'"
# now try long form includes
- include: included_task1.yml
vars:
a: 201
b: 202
c: 203
- debug: var=a
- debug: var=b
- debug: var=c
- name: verify long-form include params
assert:
that:
- "ca == 201"
- "cb == 202"
- "cc == 203"
- name: test handlers with includes
shell: echo 1
notify:
# both these via a handler include
- included_handler
- verify_handler
- include: branch_toplevel.yml canary=value1 nested_include_static=no
static: no
- assert:
that:
- 'canary_fact == "value1"'
- include: branch_toplevel.yml canary=value2 nested_include_static=yes
static: no
- assert:
that:
- 'canary_fact == "value2"'
- include: branch_toplevel.yml canary=value3 nested_include_static=no
static: yes
- assert:
that:
- 'canary_fact == "value3"'
- include: branch_toplevel.yml canary=value4 nested_include_static=yes
static: yes
- assert:
that:
- 'canary_fact == "value4"'