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

- name: setup
  ios_config:
    lines:
      - no ip domain-list ansible.com
      - no ip domain-list redhat.com
    match: none
    provider: "{{ cli }}"

- name: configure domain_search
  ios_system:
    domain_search:
      - ansible.com
      - redhat.com
    provider: "{{ cli }}"
  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_search
  ios_system:
    domain_search:
      - ansible.com
      - redhat.com
    provider: "{{ cli }}"
  register: result

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

- name: remove one entry
  ios_system:
    domain_search:
      - ansible.com
    provider: "{{ cli }}"
  register: result

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

- name: verify remove one entry
  ios_system:
    domain_search:
      - ansible.com
    provider: "{{ cli }}"
  register: result

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

- name: add one entry
  ios_system:
    domain_search:
      - ansible.com
      - redhat.com
    provider: "{{ cli }}"
  register: result

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

- name: verify add one entry
  ios_system:
    domain_search:
      - ansible.com
      - redhat.com
    provider: "{{ cli }}"
  register: result

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

- name: add and remove one entry
  ios_system:
    domain_search:
      - ansible.com
      - eng.ansible.com
    provider: "{{ cli }}"
  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
  ios_system:
    domain_search:
      - ansible.com
      - eng.ansible.com
    provider: "{{ cli }}"
  register: result

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

- name: teardown
  ios_config:
    lines:
      - no ip domain-list ansible.com
      - no ip domain-list redhat.com
      - no ip domain-list eng.ansible.com
    match: none
    provider: "{{ cli }}"

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