---
- name: Set up host logging
  net_logging:
    dest: host
    name: 172.16.0.1
    state: present
    authorize: yes
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"logging host 172.16.0.1" in result.commands'

- name: Set up host logging again (idempotent)
  net_logging:
    dest: host
    name: 172.16.0.1
    state: present
    authorize: yes
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - 'result.changed == false'

- name: Delete/disable host logging
  net_logging:
    dest: host
    name: 172.16.0.1
    state: absent
    authorize: yes
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"no logging host 172.16.0.1" in result.commands'

- name: Delete/disable host logging (idempotent)
  net_logging:
    dest: host
    name: 172.16.0.1
    state: absent
    authorize: yes
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - 'result.changed == false'

- name: Console logging with level warnings
  net_logging:
    dest: console
    level: warnings
    state: present
    authorize: yes
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"logging console warnings" in result.commands'

- name: Configure monitor logging
  net_logging:
    dest: monitor
    level: debugging
    authorize: yes
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"logging monitor debugging" in result.commands'

- name: remove logging as collection tearDown
  net_logging:
    aggregate:
      - { dest: console, level: warnings, state: absent }
      - { dest: monitor, level: debuggning, state: absent }
    authorize: yes
    provider: "{{ cli }}"
  register: result

- assert:
    that:
      - 'result.changed == true'
      - '"no logging console" in result.commands'
      - '"no logging monitor" in result.commands'
