---
- debug: msg="START cli/all_facts.yaml on connection={{ ansible_connection }}"


- name: test getting all facts
  ios_facts:
    gather_subset:
      - all
    provider: "{{ cli }}"
  register: result



- assert:
    that:
      # _facts modules should never report a change
      - "result.changed == false"

      # Correct subsets are present
      - "'config' in result.ansible_facts.ansible_net_gather_subset"
      - "'hardware' in result.ansible_facts.ansible_net_gather_subset"
      - "'default' in result.ansible_facts.ansible_net_gather_subset"
      - "'interfaces' in result.ansible_facts.ansible_net_gather_subset"

      # Items from those subsets are present
      - "result.ansible_facts.ansible_net_filesystems is defined"
      # Check that these facts not only are present, but are valid (positive integers)
      - "result.ansible_facts.ansible_net_memfree_mb > 1"
      - "result.ansible_facts.ansible_net_memtotal_mb > 1"

- assert:
    that: "{{ item.value.spacetotal_kb }} > {{ item.value.spacefree_kb }}"
  loop: "{{ lookup('dict', result.ansible_facts.ansible_net_filesystems_info, wantlist=True) }}"

- debug: msg="END cli/all_facts.yaml on connection={{ ansible_connection }}"
