Split integration tests out from Makefile. (#17976)

This commit is contained in:
Matt Clay
2016-10-12 14:57:53 -07:00
committed by GitHub
parent bf3d546d9a
commit 80a5c70ad7
169 changed files with 612 additions and 420 deletions

View File

@@ -0,0 +1 @@
42 ansible_host=127.0.0.42 ansible_connection=local

View File

@@ -0,0 +1,49 @@
#!/usr/bin/env bash
set -eux
# Hosts in playbook has a list of strings consisting solely of digits
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e 'target_kv=42' \
-e '{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" \
-t string_digit_host_in_list -v "$@" | tee test_hosts_field.out
grep 'Running on 42' test_hosts_field.out 2>&1
test "$(grep -c 'ok=1' test_hosts_field.out)" = 1
# Hosts taken from kv extra_var on the CLI
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e 'target_kv=42' \
-e '{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" \
-t hosts_from_kv_string -v "$@" | tee test_hosts_field.out
grep 'Running on 42' test_hosts_field.out 2>&1
test "$(grep -c 'ok=1' test_hosts_field.out)" = 1
# hosts is taken from an all digit json extra_vars string on the CLI
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e 'target_kv=42' \
-e '{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" \
-t hosts_from_cli_json_string -v "$@" | tee test_hosts_field.out
grep 'Running on 42' test_hosts_field.out 2>&1
test "$(grep -c 'ok=1' test_hosts_field.out)" = 1
# hosts is taken from a json list in extra_vars on the CLI
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e 'target_kv=42' \
-e '{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" \
-t hosts_from_cli_json_list -v "$@" | tee test_hosts_field.out
grep 'Running on 42' test_hosts_field.out 2>&1
grep 'Running on localhost' test_hosts_field.out 2>&1
test "$(grep -c 'ok=1' test_hosts_field.out)" = 2
# hosts is taken from a json string in an extra_vars file
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e 'target_kv=42' \
-e '{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" \
-t hosts_from_json_file_string -v "$@" | tee test_hosts_field.out
grep 'Running on 42' test_hosts_field.out 2>&1
test "$(grep -c 'ok=1' test_hosts_field.out)" = 1
# hosts is taken from a json list in an extra_vars file
ansible-playbook test_hosts_field.yml -i inventory.hosts_field -e 'target_kv=42' \
-e '{ "target_json_cli": "42", "target_json_cli_list": ["42", "localhost"] }' -e "@test_hosts_field.json" \
-t hosts_from_json_file_list -v "$@" | tee test_hosts_field.out
grep 'Running on 42' test_hosts_field.out 2>&1
grep 'Running on localhost' test_hosts_field.out 2>&1
test "$(grep -c 'ok=1' test_hosts_field.out)" = 2
rm test_hosts_field.out

View File

@@ -0,0 +1 @@
{ "target_json_file": "42", "target_json_file_list": ["42", "localhost"] }

View File

@@ -0,0 +1,62 @@
---
#- name: Host in playbook is an integer
# hosts: 42
# tags: numeric_host
# tasks:
# - command: echo 'Running on {{ inventory_hostname }}'
#- name: Host in playbook is a string of digits
# hosts: "42"
# tags: string_digit_host
# tasks:
# - command: echo 'Running on {{ inventory_hostname }}'
#- name: Host in playbook is a list of integer
# hosts:
# - 42
# tags: numeric_host_in_list
# tasks:
# - command: echo 'Running on {{ inventory_hostname }}'
- name: Host in playbook is a list of strings of digits
hosts:
- "42"
gather_facts: False
tags: string_digit_host_in_list
tasks:
- command: echo 'Running on {{ inventory_hostname }}'
- name: Hosts taken from kv extra_var on the CLI
hosts: "{{ target_kv }}"
gather_facts: False
tags: hosts_from_kv_string
tasks:
- command: echo 'Running on {{ inventory_hostname }}'
- name: Hosts taken from a json string on the CLI
hosts: "{{ target_json_cli }}"
gather_facts: False
tags: hosts_from_cli_json_string
tasks:
- command: echo 'Running on {{ inventory_hostname }}'
- name: Hosts taken from a json list on the CLI
hosts: "{{ target_json_cli_list }}"
gather_facts: False
tags: hosts_from_cli_json_list
tasks:
- command: echo 'Running on {{ inventory_hostname }}'
- name: Hosts is taken from a json string in an extra_vars file
hosts: "{{ target_json_file }}"
gather_facts: False
tags: hosts_from_json_file_string
tasks:
- command: echo 'Running on {{ inventory_hostname }}'
- name: Hosts is taken from a json list in an extra_vars file
hosts: "{{ target_json_file_list }}"
gather_facts: False
tags: hosts_from_json_file_list
tasks:
- command: echo 'Running on {{ inventory_hostname }}'