---
- debug: msg="START cli/set_domain_list.yaml on connection={{ ansible_connection }}"

- name: setup
  eos_config:
    lines:
      - no ip domain-list ansible.com
      - no ip domain-list redhat.com
    match: none
  become: yes

- name: configure domain_list
  eos_system:
    domain_list:
      - ansible.com
      - redhat.com
  become: yes
  register: result

- assert:
    that:
      - result.changed == true
      - "'ip domain-list ansible.com' in result.commands"
      - "'ip domain-list redhat.com' in result.commands"

- name: verify domain_list
  eos_system:
    domain_list:
      - ansible.com
      - redhat.com
  become: yes
  register: result

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

- name: remove one entry
  eos_system:
    domain_list:
      - ansible.com
  become: yes
  register: result

- assert:
    that:
      - result.changed == true
      - "'no ip domain-list redhat.com' in result.commands"

- name: verify remove one entry
  eos_system:
    domain_list:
      - ansible.com
  become: yes
  register: result

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

- name: add one entry
  eos_system:
    domain_list:
      - ansible.com
      - redhat.com
  become: yes
  register: result

- assert:
    that:
      - result.changed == true
      - "'ip domain-list redhat.com' in result.commands"

- name: verify add one entry
  eos_system:
    domain_list:
      - ansible.com
      - redhat.com
  become: yes
  register: result

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

- name: add and remove one entry
  eos_system:
    domain_list:
      - ansible.com
      - eng.ansible.com
  become: yes
  register: result

- assert:
    that:
      - result.changed == true
      - "'no ip domain-list redhat.com' in result.commands"
      - "'ip domain-list eng.ansible.com' in result.commands"
      - result.commands|length == 2

- name: verify add and remove one entry
  eos_system:
    domain_list:
      - ansible.com
      - eng.ansible.com
  become: yes
  register: result

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

- name: teardown
  eos_config:
    lines:
      - no ip domain-list ansible.com
      - no ip domain-list redhat.com
      - no ip domain-list eng.ansible.com
    match: none
  become: yes

- debug: msg="END cli/set_domain_list.yaml on connection={{ ansible_connection }}"
