---

- name: Remove previous motd banner
  eos_config:
    lines: no banner motd
    authorize: yes
    provider: "{{ eapi }}"

- name: Set motd
  eos_banner:
    banner: motd
    text: |
      this is my motd banner
      that has a multiline
      string
    state: present
    authorize: yes
    provider: "{{ eapi }}"
  register: result

- assert:
    that:
      - "result.changed == true"
      - "result.commands.0.cmd == 'banner motd'"
      - "result.commands.0.input == 'this is my motd banner\nthat has a multiline\nstring'"
      # Ensure sessions contains epoc. Will fail after 18th May 2033
      - "'ansible_1' in result.session_name"

- name: Set motd again (idempotent)
  eos_banner:
    banner: motd
    text: |
      this is my motd banner
      that has a multiline
      string
    state: present
    authorize: yes
    provider: "{{ eapi }}"
  register: result

- assert:
    that:
      - "result.changed == false"
      - "result.commands | length == 0"
      # Ensure sessions contains epoc. Will fail after 18th May 2033
      - "result.session_name is not defined"

- name: Remove motd
  eos_banner:
    banner: motd
    text: |
      this is my motd banner
      that has a multiline
      string
    state: absent
    authorize: yes
    provider: "{{ eapi }}"
  register: result

- assert:
    that:
      - "result.changed == true"
      - "result.commands.0.cmd == 'no banner motd'"
      # Ensure sessions contains epoc. Will fail after 18th May 2033
      - "'ansible_1' in result.session_name"

- name: Remove motd again (idempotent)
  eos_banner:
    banner: motd
    text: |
      this is my motd banner
      that has a multiline
      string
    state: absent
    authorize: yes
    provider: "{{ eapi }}"
  register: result

- assert:
    that:
      - "result.changed == false"
      - "result.commands | length == 0"
      # Ensure sessions contains epoc. Will fail after 18th May 2033
      - "result.session_name is not defined"
# FIXME add in tests for everything defined in docs
# FIXME Test state:absent + test:
# FIXME Without powers ensure "privileged mode required"