---
- debug: msg="START common/sanity.yaml on connection={{ ansible_connection }}"

- name: setup
  nxos_config:
    lines: ip access-list test
    match: none
    provider: "{{ connection }}"

- name: "nxos_config sanity test"
  nxos_config:
    lines:
      - 10 permit ip 192.0.2.1/32 any log
      - 20 permit ip 192.0.2.2/32 any log
      - 30 permit ip 192.0.2.3/32 any log
      - 40 permit ip 192.0.2.4/32 any log
      - 50 permit ip 192.0.2.5/32 any log
    parents: ip access-list test
    before: no ip access-list test
    match: exact
    provider: "{{ connection }}"

- name: "nxos_config sanity test - replace block"
  nxos_config:
    lines:
      - 10 permit ip 192.0.2.1/32 any log
      - 20 permit ip 192.0.2.2/32 any log
      - 30 permit ip 192.0.2.3/32 any log
      - 40 permit ip 192.0.2.4/32 any log
    parents: ip access-list test
    before: no ip access-list test
    replace: block
    provider: "{{ connection }}"

- name: teardown
  nxos_config:
    lines: no ip access-list test
    match: none
    provider: "{{ connection }}"

- debug: msg='Verify https://github.com/ansible/ansible/issues/50635'

- name: PUT INTERFACE INTO DEFAULT STATE
  nxos_config:
    lines:
      - "default interface {{ nxos_int1 }}"
    provider: "{{ connection }}"

- name: MAKE INTERFACE A SWITCHPORT
  nxos_config:
    lines:
      - switchport
    parents: "interface {{ nxos_int1 }}"
    provider: "{{ connection }}"

- name: CONFIGURE EDGE TRUNK TYPE
  nxos_config: &config
    lines:
      - description foo
      - switchport access vlan 3333
      - spanning-tree port type edge
    parents: "interface {{ nxos_int1 }}"
    provider: "{{ connection }}"
  register: result

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

- name: IDEMPOTENCE CHECK
  nxos_config: *config
  register: result

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

- debug: msg="END common/sanity.yaml on connection={{ ansible_connection }}"
