mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
6.4 KiB
YAML
132 lines
6.4 KiB
YAML
- name: test ansible-config init for valid output and no dupes
|
|
block:
|
|
- name: Create temporary file
|
|
tempfile:
|
|
path: '{{output_dir}}'
|
|
state: file
|
|
suffix: temp.ini
|
|
register: ini_tempfile
|
|
|
|
- name: run config full dump
|
|
shell: ansible-config init -t all > {{ini_tempfile.path}}
|
|
|
|
- name: run ini tester, for correctness and dupes
|
|
shell: "{{ansible_playbook_python}} '{{role_path}}/files/ini_dupes.py' '{{ini_tempfile.path}}'"
|
|
|
|
- name: test ansible-config validate
|
|
block:
|
|
# not testing w/o -t all as ansible-test uses it's own plugins and would give false positives
|
|
- name: validate config files
|
|
shell: ansible-config validate -t all -v
|
|
register: valid_cfg
|
|
loop:
|
|
- empty.cfg
|
|
- base_valid.cfg
|
|
- base_all_valid.cfg
|
|
- invalid_base.cfg
|
|
- invalid_plugins_config.ini
|
|
ignore_errors: true
|
|
environment:
|
|
ANSIBLE_CONFIG: "{{role_path ~ '/files/' ~ item}}"
|
|
|
|
- name: ensure expected cfg check results
|
|
assert:
|
|
that:
|
|
- valid_cfg['results'][0] is success
|
|
- valid_cfg['results'][1] is success
|
|
- valid_cfg['results'][2] is success
|
|
- valid_cfg['results'][3] is failed
|
|
- valid_cfg['results'][4] is failed
|
|
|
|
- name: validate env vars
|
|
shell: ansible-config validate -t all -v -f env
|
|
register: valid_env
|
|
environment:
|
|
ANSIBLE_COW_SELECTION: 1
|
|
|
|
- name: validate env vars
|
|
shell: ansible-config validate -t all -v -f env
|
|
register: invalid_env
|
|
ignore_errors: true
|
|
environment:
|
|
ANSIBLE_COW_DESTRUCTION: 1
|
|
|
|
- name: ensure env check is what we expected
|
|
assert:
|
|
that:
|
|
- valid_env is success
|
|
- invalid_env is failed
|
|
|
|
|
|
- name: dump galaxy_server config
|
|
environment:
|
|
ANSIBLE_CONFIG: '{{ role_path }}/files/galaxy_server.ini'
|
|
vars:
|
|
expected:
|
|
my_org_hub:
|
|
url:
|
|
value: "https://automation.my_org/"
|
|
origin: role_path ~ "/files/galaxy_server.ini"
|
|
username:
|
|
value: my_user
|
|
origin: role_path ~ "/files/galaxy_server.ini"
|
|
password:
|
|
value: my_pass
|
|
origin: role_path ~ "/files/galaxy_server.ini"
|
|
api_version:
|
|
value: None
|
|
origin: default
|
|
release_galaxy:
|
|
test_galaxy:
|
|
my_galaxy_ng:
|
|
gen_keys: '{{expected.keys()|map("regex_replace", "^.+$", "GALAXY_SERVER.\1") }}'
|
|
block:
|
|
- ansible.builtin.command: ansible-config dump --type {{ item }} --format json
|
|
loop:
|
|
- base
|
|
- all
|
|
register: galaxy_server_dump
|
|
|
|
# - set_fact:
|
|
# galaxy_server_dump_base: '{{ (galaxy_server_dump.results[0].stdout | from_json | selectattr("GALAXY_SERVER", "defined"))}}'
|
|
# galaxy_server_dump_all: '{{ (galaxy_server_dump.results[1].stdout | from_json | selectattr("GALAXY_SERVER", "defined")}}'
|
|
#
|
|
# - name: assert galaxy server config
|
|
# assert:
|
|
# that:
|
|
# - (galaxy_server_dump_gs | count) == 4
|
|
#
|
|
# - galaxy_server_dump_gs[0].keys() | list == ["my_org_hub"]
|
|
# - (galaxy_server_dump_gs[0].my_org_hub | selectattr("name", "equalto", "url"))[0].value == "https://automation.my_org/"
|
|
# - (galaxy_server_dump_gs[0].my_org_hub | selectattr("name", "equalto", "url"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
# - (galaxy_server_dump_gs[0].my_org_hub | selectattr("name", "equalto", "username"))[0].value == "my_user"
|
|
# - (galaxy_server_dump_gs[0].my_org_hub | selectattr("name", "equalto", "username"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
# - (galaxy_server_dump_gs[0].my_org_hub | selectattr("name", "equalto", "password"))[0].value == "my_pass"
|
|
# - (galaxy_server_dump_gs[0].my_org_hub | selectattr("name", "equalto", "password"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
# - (galaxy_server_dump_gs[0].my_org_hub | selectattr("name", "equalto", "api_version"))[0].value == None
|
|
# - (galaxy_server_dump_gs[0].my_org_hub | selectattr("name", "equalto", "api_version"))[0].origin == "default"
|
|
#
|
|
# - galaxy_server_dump_gs[1].keys() | list == ["release_galaxy"]
|
|
# - (galaxy_server_dump_gs[1].release_galaxy | selectattr("name", "equalto", "url"))[0].value == "https://galaxy.ansible.com/"
|
|
# - (galaxy_server_dump_gs[1].release_galaxy | selectattr("name", "equalto", "url"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
# - (galaxy_server_dump_gs[1].release_galaxy | selectattr("name", "equalto", "token"))[0].value == "my_token"
|
|
# - (galaxy_server_dump_gs[1].release_galaxy | selectattr("name", "equalto", "token"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
#
|
|
# - galaxy_server_dump_gs[2].keys() | list == ["test_galaxy"]
|
|
# - (galaxy_server_dump_gs[2].test_galaxy | selectattr("name", "equalto", "url"))[0].value == "https://galaxy-dev.ansible.com/"
|
|
# - (galaxy_server_dump_gs[2].test_galaxy | selectattr("name", "equalto", "url"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
# - (galaxy_server_dump_gs[2].test_galaxy | selectattr("name", "equalto", "token"))[0].value == "my_test_token"
|
|
# - (galaxy_server_dump_gs[2].test_galaxy | selectattr("name", "equalto", "token"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
#
|
|
# - galaxy_server_dump_gs[3].keys() | list == ["my_galaxy_ng"]
|
|
# - (galaxy_server_dump_gs[3].my_galaxy_ng | selectattr("name", "equalto", "url"))[0].value == "http://my_galaxy_ng:8000/api/automation-hub/"
|
|
# - (galaxy_server_dump_gs[3].my_galaxy_ng | selectattr("name", "equalto", "url"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
# - (galaxy_server_dump_gs[3].my_galaxy_ng | selectattr("name", "equalto", "token"))[0].value == "my_keycloak_access_token"
|
|
# - (galaxy_server_dump_gs[3].my_galaxy_ng | selectattr("name", "equalto", "token"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
# - (galaxy_server_dump_gs[3].my_galaxy_ng | selectattr("name", "equalto", "auth_url"))[0].value == "http://my_keycloak:8080/auth/realms/myco/protocol/openid-connect/token"
|
|
# - (galaxy_server_dump_gs[3].my_galaxy_ng | selectattr("name", "equalto", "auth_url"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
# - (galaxy_server_dump_gs[3].my_galaxy_ng | selectattr("name", "equalto", "client_id"))[0].value == "galaxy-ng"
|
|
# - (galaxy_server_dump_gs[3].my_galaxy_ng | selectattr("name", "equalto", "client_id"))[0].origin == role_path ~ "/files/galaxy_server.ini"
|
|
#
|
|
# - galaxy_server_dump_gs == galaxy_server_dump_all
|