Add some more integration tests for the task and playbook include mechanism.

This commit is contained in:
Michael DeHaan 2014-07-26 10:37:55 -04:00
parent 5bcb715dc0
commit a1e4f826ca
8 changed files with 120 additions and 1 deletions

View file

@ -16,7 +16,7 @@ endif
VAULT_PASSWORD_FILE = vault-password
all: non_destructive destructive check_mode test_hash test_handlers test_group_by test_vault parsing
all: non_destructive destructive includes check_mode test_hash test_handlers test_group_by test_vault parsing
parsing:
ansible-playbook bad_parsing.yml -i $(INVENTORY) -e @$(VARS_FILE) $(CREDENTIALS_ARG) -vvv $(TEST_FLAGS) --tags common,scenario1; [ $$? -eq 3 ]
@ -25,6 +25,9 @@ parsing:
ansible-playbook bad_parsing.yml -i $(INVENTORY) -e @$(VARS_FILE) $(CREDENTIALS_ARG) -vvv $(TEST_FLAGS) --tags common,scenario4; [ $$? -eq 3 ]
ansible-playbook good_parsing.yml -i $(INVENTORY) -e @$(VARS_FILE) $(CREDENTIALS_ARG) -v $(TEST_FLAGS)
includes:
ansible-playbook test_includes.yml -i $(INVENTORY) -e @$(VARS_FILE) $(CREDENTIALS_ARG) $(TEST_FLAGS)
unicode:
ansible-playbook unicode.yml -i $(INVENTORY) -e @$(VARS_FILE) -v $(TEST_FLAGS)

View file

@ -0,0 +1,2 @@
- include: more_handlers.yml

View file

@ -0,0 +1,14 @@
- name: included_handler
set_fact:
ca: 4001
cb: 4002
cc: 4003
- name: verify_handler
assert:
that:
- "ca == 4001"
- "cb == 4002"
- "cc == 4003"

View file

@ -0,0 +1,10 @@
- set_fact:
ca: "{{ a }}"
- set_fact:
cb: "{{b}}"
- set_fact:
cc: "{{ c }}"

View file

@ -0,0 +1,72 @@
# 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'"
# now try long form includes
#
# FIXME: not sure if folks were using this, or if vars were top level, but seems like
# it should be a thing.
#
#- 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

View file

@ -0,0 +1,4 @@
- set_fact:
ca: 33000
cb: 33001
cc: 33002

View file

@ -0,0 +1 @@
- include: test_includes2.yml

View file

@ -0,0 +1,13 @@
- hosts: testhost
gather_facts: True
roles:
- { role: test_includes, tags: test_includes }
tasks:
- include: roles/test_includes/tasks/not_a_role_task.yml
- assert:
that:
- "ca == 33000"
- "cb == 33001"
- "cc == 33002"