# Test code for facts.d and setup filters
# (c) 2014, James Tanner <tanner.jc@gmail.com>

# 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 <http://www.gnu.org/licenses/>.

- 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'"
