---
- debug: msg="START connection={{ ansible_connection }}/all_facts.yaml"
- debug: msg="Using provider={{ connection.transport }}"
  when: ansible_connection == "local"


- name: test getting all facts
  nxos_facts:
    gather_subset:
      - all
    timeout: 60
    provider: "{{ connection }}"
  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"
      - "result.ansible_facts.ansible_net_interfaces is defined"
      - "result.ansible_facts.ansible_net_config is defined"
      - "result.ansible_facts.ansible_net_model 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"

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