---
- debug: msg="START eapi/not_hardware_facts.yaml"

- name: Make sure LLDP is running (setup)
  eos_config:
    lines: lldp run
    authorize: yes
    provider: "{{ eapi }}"

- name: test not hardware
  eos_facts:
    provider: "{{ eapi }}"
    gather_subset:
      - "!hardware"
  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"

      - "'default' in result.ansible_facts.ansible_net_gather_subset"
      - "'interfaces' in result.ansible_facts.ansible_net_gather_subset"
      # ... and not present
      - "'hardware' not in result.ansible_facts.ansible_net_gather_subset"

      # Items from those subsets are present
      - "result.ansible_facts.ansible_net_interfaces.Management1.ipv4.masklen > 1" # interfaces
      # ... and not present
      - "result.ansible_facts.ansible_net_filesystems is not defined"

- name: Make sure LLDP is running (teardown)
  eos_config:
    lines: no lldp run
    authorize: yes
    provider: "{{ eapi }}"

- debug: msg="END eapi/not_hardware_facts.yaml"