|
|
---
|
|
|
- name: verify that the default value is indeed 1
|
|
|
assert:
|
|
|
that:
|
|
|
- "testing == 1"
|
|
|
- "base_dir == 'defaults'"
|
|
|
|
|
|
- name: include the vars/environments/development/all.yml
|
|
|
include_vars:
|
|
|
file: environments/development/all.yml
|
|
|
register: included_one_file
|
|
|
|
|
|
- name: verify that the correct file has been loaded and default value is indeed 789
|
|
|
assert:
|
|
|
that:
|
|
|
- "testing == 789"
|
|
|
- "base_dir == 'environments/development'"
|
|
|
- "{{ included_one_file.ansible_included_var_files | length }} == 1"
|
|
|
- "'vars/environments/development/all.yml' in included_one_file.ansible_included_var_files[0]"
|
|
|
|
|
|
- name: include the vars/environments/development/all.yml and save results in all
|
|
|
include_vars:
|
|
|
file: environments/development/all.yml
|
|
|
name: all
|
|
|
|
|
|
- name: verify that the values are stored in the all variable
|
|
|
assert:
|
|
|
that:
|
|
|
- "all['testing'] == 789"
|
|
|
- "all['base_dir'] == 'environments/development'"
|
|
|
|
|
|
- name: include the all directory in vars
|
|
|
include_vars:
|
|
|
dir: all
|
|
|
depth: 1
|
|
|
|
|
|
- name: verify that the default value is indeed 123
|
|
|
assert:
|
|
|
that:
|
|
|
- "testing == 123"
|
|
|
- "base_dir == 'all'"
|
|
|
|
|
|
- name: include var files with extension only
|
|
|
include_vars:
|
|
|
dir: webapp
|
|
|
ignore_unknown_extensions: True
|
|
|
extensions: ['', 'yaml', 'yml', 'json']
|
|
|
register: include_without_file_extension
|
|
|
|
|
|
- name: verify that only files with valid extensions are loaded
|
|
|
assert:
|
|
|
that:
|
|
|
- webapp_version is defined
|
|
|
- "'file_without_extension' in '{{ include_without_file_extension.ansible_included_var_files | join(' ') }}'"
|
|
|
|
|
|
- name: include every directory in vars
|
|
|
include_vars:
|
|
|
dir: vars
|
|
|
extensions: ['', 'yaml', 'yml', 'json']
|
|
|
register: include_every_dir
|
|
|
|
|
|
- name: verify that the correct files have been loaded and overwrite based on alphabetical order
|
|
|
assert:
|
|
|
that:
|
|
|
- "testing == 456"
|
|
|
- "base_dir == 'services'"
|
|
|
- "webapp_containers == 10"
|
|
|
- "{{ include_every_dir.ansible_included_var_files | length }} == 6"
|
|
|
- "'vars/all/all.yml' in include_every_dir.ansible_included_var_files[0]"
|
|
|
- "'vars/environments/development/all.yml' in include_every_dir.ansible_included_var_files[1]"
|
|
|
- "'vars/environments/development/services/webapp.yml' in include_every_dir.ansible_included_var_files[2]"
|
|
|
- "'vars/services/webapp.yml' in include_every_dir.ansible_included_var_files[4]"
|
|
|
- "'vars/webapp/file_without_extension' in include_every_dir.ansible_included_var_files[5]"
|
|
|
|
|
|
- name: include every directory in vars except files matching webapp.yml
|
|
|
include_vars:
|
|
|
dir: vars
|
|
|
ignore_files:
|
|
|
- webapp.yml
|
|
|
- file_without_extension
|
|
|
register: include_without_webapp
|
|
|
|
|
|
- name: verify that the webapp.yml file was not included
|
|
|
assert:
|
|
|
that:
|
|
|
- "testing == 789"
|
|
|
- "base_dir == 'environments/development'"
|
|
|
- "{{ include_without_webapp.ansible_included_var_files | length }} == 3"
|
|
|
- "'webapp.yml' not in '{{ include_without_webapp.ansible_included_var_files | join(' ') }}'"
|
|
|
- "'file_without_extension' not in '{{ include_without_webapp.ansible_included_var_files | join(' ') }}'"
|
|
|
|
|
|
- name: include only files matching webapp.yml
|
|
|
include_vars:
|
|
|
dir: environments
|
|
|
files_matching: webapp.yml
|
|
|
register: include_match_webapp
|
|
|
|
|
|
- name: verify that only files matching webapp.yml and in the environments directory get loaded.
|
|
|
assert:
|
|
|
that:
|
|
|
- "testing == 101112"
|
|
|
- "base_dir == 'development/services'"
|
|
|
- "webapp_containers == 20"
|
|
|
- "{{ include_match_webapp.ansible_included_var_files | length }} == 1"
|
|
|
- "'vars/environments/development/services/webapp.yml' in include_match_webapp.ansible_included_var_files[0]"
|
|
|
- "'all.yml' not in '{{ include_match_webapp.ansible_included_var_files | join(' ') }}'"
|
|
|
|
|
|
- name: include only files matching webapp.yml and store results in webapp
|
|
|
include_vars:
|
|
|
dir: environments
|
|
|
files_matching: webapp.yml
|
|
|
name: webapp
|
|
|
|
|
|
- name: verify that only files matching webapp.yml and in the environments directory get loaded into stored variable webapp.
|
|
|
assert:
|
|
|
that:
|
|
|
- "webapp['testing'] == 101112"
|
|
|
- "webapp['base_dir'] == 'development/services'"
|
|
|
- "webapp['webapp_containers'] == 20"
|
|
|
|
|
|
- name: include var files without extension
|
|
|
include_vars:
|
|
|
dir: webapp
|
|
|
ignore_unknown_extensions: False
|
|
|
register: include_with_unknown_file_extension
|
|
|
ignore_errors: True
|
|
|
|
|
|
- name: verify that files without valid extensions are loaded
|
|
|
assert:
|
|
|
that:
|
|
|
- "'a valid extension' in include_with_unknown_file_extension.message"
|
|
|
|
|
|
- name: include var with raw params
|
|
|
include_vars: >
|
|
|
services/service_vars.yml
|
|
|
|
|
|
- name: Verify that files with raw params is include without new line character
|
|
|
assert:
|
|
|
that:
|
|
|
- "service_name == 'my_custom_service'"
|
|
|
|
|
|
- name: Check NoneType for raw params and file
|
|
|
include_vars:
|
|
|
file: "{{ lookup('first_found', possible_files, errors='ignore') }}"
|
|
|
vars:
|
|
|
possible_files:
|
|
|
- "does_not_exist.yml"
|
|
|
ignore_errors: True
|
|
|
register: include_with_non_existent_file
|
|
|
|
|
|
- name: Verify that file and raw_params provide correct error message to user
|
|
|
assert:
|
|
|
that:
|
|
|
- "'Could not find file' in include_with_non_existent_file.message"
|