# Test code for facts.d and setup filters # (c) 2014, James Tanner # 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 . - set_fact: fact_dir={{output_dir}}/facts.d - file: path={{ fact_dir }} state=directory - shell: echo "[general]" > {{ fact_dir }}/preferences.fact - shell: echo "bar=loaded" >> {{ fact_dir }}/preferences.fact - setup: fact_path: "{{ fact_dir | expanduser }}" filter: "*local*" register: setup_result - debug: var=setup_result - assert: that: - "'ansible_facts' in setup_result" - "'ansible_local' in setup_result.ansible_facts" - "'ansible_env' not in setup_result.ansible_facts" - "'ansible_user_id' not in setup_result.ansible_facts" - "'preferences' in setup_result.ansible_facts['ansible_local']" - "'general' in setup_result.ansible_facts['ansible_local']['preferences']" - "'bar' in setup_result.ansible_facts['ansible_local']['preferences']['general']" - "setup_result.ansible_facts['ansible_local']['preferences']['general']['bar'] == 'loaded'"