---
- debug: msg="START nxos_banner exec test"

- block:
    - name: setup - remove exec
      nxos_banner:
        banner: exec
        state: absent
        provider: "{{ connection }}"

    - name: Set exec
      nxos_banner: &exec
        banner: exec
        text: |
          this is my exec banner
          that has a multiline
          string
        state: present
        provider: "{{ connection }}"
      register: result

    - assert:
        that:
          - "result.changed == true"
          - "'banner exec @\nthis is my exec banner\nthat has a multiline\nstring\n@' in result.commands"

    - name: Set exec again (idempotent)
      nxos_banner: *exec
      register: result

    - assert:
        that:
          - "result.changed == false"
          - "result.commands | length == 0"

  when: platform | match("N7K")

- debug: msg="END nxos_banner exec test"

# FIXME add in tests for everything defined in docs
# FIXME Test state:absent + test:
# FIXME Without powers ensure "privileged mode required"
