mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Add tests for connection plugins.
This commit is contained in:
parent
62ac5c047e
commit
ca62bc5db3
3 changed files with 81 additions and 1 deletions
|
@ -21,8 +21,9 @@ MYTMPDIR = $(shell mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir')
|
||||||
VAULT_PASSWORD_FILE = vault-password
|
VAULT_PASSWORD_FILE = vault-password
|
||||||
|
|
||||||
CONSUL_RUNNING := $(shell python consul_running.py)
|
CONSUL_RUNNING := $(shell python consul_running.py)
|
||||||
|
EUID := $(shell id -u -r)
|
||||||
|
|
||||||
all: setup parsing test_var_precedence unicode test_templating_settings environment non_destructive destructive includes blocks pull check_mode test_hash test_handlers test_group_by test_vault test_tags test_lookup_paths no_log
|
all: setup parsing test_var_precedence unicode test_templating_settings environment non_destructive destructive includes blocks pull check_mode test_hash test_handlers test_group_by test_vault test_tags test_lookup_paths no_log test_connection
|
||||||
|
|
||||||
setup:
|
setup:
|
||||||
rm -rf $(TEST_DIR)
|
rm -rf $(TEST_DIR)
|
||||||
|
@ -72,6 +73,19 @@ environment: setup
|
||||||
non_destructive: setup
|
non_destructive: setup
|
||||||
ansible-playbook non_destructive.yml -i $(INVENTORY) -e outputdir=$(TEST_DIR) -e @$(VARS_FILE) $(CREDENTIALS_ARG) -v $(TEST_FLAGS)
|
ansible-playbook non_destructive.yml -i $(INVENTORY) -e outputdir=$(TEST_DIR) -e @$(VARS_FILE) $(CREDENTIALS_ARG) -v $(TEST_FLAGS)
|
||||||
|
|
||||||
|
test_connection: setup
|
||||||
|
ifeq ($(EUID),0)
|
||||||
|
# Test connection plugins when running as root (lang unspecified).
|
||||||
|
ansible-playbook test_connection.yml -i test_connection.inventory -l '!skip-during-build' $(TEST_FLAGS)
|
||||||
|
# Test connection plugins when running as root (lang=C).
|
||||||
|
LC_ALL=C LANG=C ansible-playbook test_connection.yml -i test_connection.inventory -l '!skip-during-build' $(TEST_FLAGS)
|
||||||
|
else
|
||||||
|
# Test connection plugins when not running as root (lang unspecified).
|
||||||
|
ansible-playbook test_connection.yml -i test_connection.inventory -l '!skip-during-build !chroot' $(TEST_FLAGS)
|
||||||
|
# Test connection plugins when not running as root (lang=C).
|
||||||
|
LC_ALL=C LANG=C ansible-playbook test_connection.yml -i test_connection.inventory -l '!skip-during-build !chroot' $(TEST_FLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
destructive: setup
|
destructive: setup
|
||||||
ansible-playbook destructive.yml -i $(INVENTORY) -e outputdir=$(TEST_DIR) -e @$(VARS_FILE) $(CREDENTIALS_ARG) -v $(TEST_FLAGS)
|
ansible-playbook destructive.yml -i $(INVENTORY) -e outputdir=$(TEST_DIR) -e @$(VARS_FILE) $(CREDENTIALS_ARG) -v $(TEST_FLAGS)
|
||||||
|
|
||||||
|
|
31
test/integration/test_connection.inventory
Normal file
31
test/integration/test_connection.inventory
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
[local]
|
||||||
|
local-pipelining ansible_ssh_pipelining=true
|
||||||
|
local-no-pipelining ansible_ssh_pipelining=false
|
||||||
|
[local:vars]
|
||||||
|
ansible_host=localhost
|
||||||
|
ansible_connection=local
|
||||||
|
|
||||||
|
[chroot]
|
||||||
|
chroot-pipelining ansible_ssh_pipelining=true
|
||||||
|
chroot-no-pipelining ansible_ssh_pipelining=false
|
||||||
|
[chroot:vars]
|
||||||
|
ansible_host=/
|
||||||
|
ansible_connection=chroot
|
||||||
|
|
||||||
|
[ssh]
|
||||||
|
ssh-pipelining ansible_ssh_pipelining=true
|
||||||
|
ssh-no-pipelining ansible_ssh_pipelining=false
|
||||||
|
[ssh:vars]
|
||||||
|
ansible_host=localhost
|
||||||
|
ansible_connection=ssh
|
||||||
|
|
||||||
|
[paramiko_ssh]
|
||||||
|
paramiko_ssh-pipelining ansible_ssh_pipelining=true
|
||||||
|
paramiko_ssh-no-pipelining ansible_ssh_pipelining=false
|
||||||
|
[paramiko_ssh:vars]
|
||||||
|
ansible_host=localhost
|
||||||
|
ansible_connection=paramiko_ssh
|
||||||
|
|
||||||
|
[skip-during-build:children]
|
||||||
|
ssh
|
||||||
|
paramiko_ssh
|
35
test/integration/test_connection.yml
Normal file
35
test/integration/test_connection.yml
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
- hosts: all
|
||||||
|
gather_facts: no
|
||||||
|
serial: 1
|
||||||
|
tasks:
|
||||||
|
|
||||||
|
### raw with unicode arg and output
|
||||||
|
|
||||||
|
- name: raw with unicode arg and output
|
||||||
|
raw: echo 汉语
|
||||||
|
register: command
|
||||||
|
- name: check output of raw with unicode arg and output
|
||||||
|
assert: { that: "'汉语' in command.stdout" }
|
||||||
|
|
||||||
|
### copy local file with unicode filename and content
|
||||||
|
|
||||||
|
- name: create local file with unicode filename and content
|
||||||
|
local_action: lineinfile dest=/tmp/ansible-local-汉语 create=true line=汉语
|
||||||
|
- name: remove remote file with unicode filename and content
|
||||||
|
file: path=/tmp/ansible-remote-汉语 state=absent
|
||||||
|
- name: copy local file with unicode filename and content
|
||||||
|
copy: src=/tmp/ansible-local-汉语 dest=/tmp/ansible-remote-汉语
|
||||||
|
|
||||||
|
### fetch remote file with unicode filename and content
|
||||||
|
|
||||||
|
- name: remove local file with unicode filename and content
|
||||||
|
local_action: file path=/tmp/ansible-local-汉语 state=absent
|
||||||
|
- name: fetch remote file with unicode filename and content
|
||||||
|
fetch: src=/tmp/ansible-remote-汉语 dest=/tmp/ansible-local-汉语 fail_on_missing=true validate_checksum=true flat=true
|
||||||
|
|
||||||
|
### remove local and remote temp files
|
||||||
|
|
||||||
|
- name: remove local temp file
|
||||||
|
local_action: file path=/tmp/ansible-local-汉语 state=absent
|
||||||
|
- name: remove remote temp file
|
||||||
|
file: path=/tmp/ansible-remote-汉语 state=absent
|
Loading…
Reference in a new issue