From 363c9594ec402abc06c6960fcebfccf0e7a6048a Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Thu, 21 Mar 2019 17:31:04 -0700 Subject: [PATCH] Clean up group_by integration test. (#54206) * Split group creation out into separate file. * Move skipped group into separate playbook. --- .../targets/group_by/create_groups.yml | 31 +++++++++++++++++++ test/integration/targets/group_by/runme.sh | 1 + .../targets/group_by/test_group_by.yml | 20 +----------- .../group_by/test_group_by_skipped.yml | 30 ++++++++++++++++++ 4 files changed, 63 insertions(+), 19 deletions(-) create mode 100644 test/integration/targets/group_by/create_groups.yml create mode 100644 test/integration/targets/group_by/test_group_by_skipped.yml diff --git a/test/integration/targets/group_by/create_groups.yml b/test/integration/targets/group_by/create_groups.yml new file mode 100644 index 00000000000..588c48a3471 --- /dev/null +++ b/test/integration/targets/group_by/create_groups.yml @@ -0,0 +1,31 @@ +# test code for the group_by module +# (c) 2014, Chris Church + +# 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 . + +- debug: var=genus + +- name: group by genus + group_by: key={{ genus }} + +- name: group by first three letters of genus with key in quotes + group_by: key="{{ genus[:3] }}" + +- name: group by first two letters of genus with key not in quotes + group_by: key={{ genus[:2] }} + +- name: group by genus in uppercase using complex args + group_by: { key: "{{ genus | upper() }}" } diff --git a/test/integration/targets/group_by/runme.sh b/test/integration/targets/group_by/runme.sh index c6f6841e5c1..d119268194c 100755 --- a/test/integration/targets/group_by/runme.sh +++ b/test/integration/targets/group_by/runme.sh @@ -3,3 +3,4 @@ set -eux ansible-playbook test_group_by.yml -i inventory.group_by -v "$@" +ANSIBLE_HOST_PATTERN_MISMATCH=warning ansible-playbook test_group_by_skipped.yml -i inventory.group_by -v "$@" diff --git a/test/integration/targets/group_by/test_group_by.yml b/test/integration/targets/group_by/test_group_by.yml index 3d439c6a095..07368dfe90e 100644 --- a/test/integration/targets/group_by/test_group_by.yml +++ b/test/integration/targets/group_by/test_group_by.yml @@ -20,18 +20,7 @@ hosts: all gather_facts: false tasks: - - debug: var=genus - - name: group by genus - group_by: key={{ genus }} - - - name: group by first three letters of genus with key in quotes - group_by: key="{{ genus[:3] }}" - - - name: group by first two letters of genus with key not in quotes - group_by: key={{ genus[:2] }} - - - name: group by genus in uppercase using complex args - group_by: { key: "{{ genus | upper() }}" } + - include_tasks: create_groups.yml - name: Vicunga group validation hosts: vicugna @@ -141,13 +130,6 @@ - name: set a fact to check that we ran this play set_fact: genus_CAMELUS=true -- name: genus group validation (expect skipped) - hosts: 'genus' - gather_facts: false - tasks: - - name: no hosts should match this group - fail: msg="should never get here" - - name: alpaca validation of groups hosts: alpaca gather_facts: false diff --git a/test/integration/targets/group_by/test_group_by_skipped.yml b/test/integration/targets/group_by/test_group_by_skipped.yml new file mode 100644 index 00000000000..6c18b4e8d5c --- /dev/null +++ b/test/integration/targets/group_by/test_group_by_skipped.yml @@ -0,0 +1,30 @@ +# test code for the group_by module +# (c) 2014, Chris Church + +# 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 . + +- name: Create overall groups + hosts: all + gather_facts: false + tasks: + - include_tasks: create_groups.yml + +- name: genus group validation (expect skipped) + hosts: 'genus' + gather_facts: false + tasks: + - name: no hosts should match this group + fail: msg="should never get here"