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

- name: invalid configuration in check mode
  eos_config:
     lines:
         - ip address 119.31.1.1 255.255.255.256
     parents: interface Loopback911
  become: yes
  check_mode: 1
  environment:
    ANSIBLE_EOS_USE_SESSIONS: 1
  register: result
  ignore_errors: yes

- assert:
   that:
   - "result.msg is defined"
   - "result.failed == true"
   - "'Error on executing commands' in result.msg"

- name: valid configuration in check mode
  eos_config:
    before:
      - "no ip access-list test"
    src: basic/cmds.j2
  become: yes
  check_mode: yes
  register: config

- name: check if session is removed
  eos_command:
    commands:
      - show configuration sessions | json
  become: yes
  register: result

- assert:
   that:
     - "config.session not in result.stdout[0].sessions"

- name: invalid configuration in check mode + no config session
  eos_config:
     lines:
         - ip address 119.31.1.1 255.255.255.256
     parents: interface Loopback911
  become: yes
  check_mode: 1
  environment:
    ANSIBLE_EOS_USE_SESSIONS: 0
  register: result
  ignore_errors: yes

- assert:
   that:
   - "result.changed == true"

- name: valid configuration in check mode + no config session
  eos_config:
     lines:
         - ip address 119.31.1.1 255.255.255.255
     parents: interface Loopback911
  become: yes
  check_mode: yes
  register: result
  environment:
    ANSIBLE_EOS_USE_SESSIONS: 0

- assert:
   that:
   - "result.changed == true"

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