---
- include_tasks: reset_config.yml

- set_fact:
    config:
      - name: Ethernet2
        access:
          vlan: 30

- eos_facts:
    gather_network_resources: l2_interfaces
  become: yes

- name: Override device configuration of all L2 interfaces on device with provided configuration.
  eos_l2_interfaces:
    config: "{{ config }}"
    state: overridden
  register: result
  become: yes

- assert:
    that:
      - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.before) == []"

- eos_facts:
    gather_network_resources: l2_interfaces
  become: yes

- assert:
    that:
      - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(result.after) == []"

- set_fact:
    expected_config: "{{ config }} + [{'name': 'Ethernet1'}, {'name': 'Management1'}]"

- assert:
    that:
      - "ansible_facts.network_resources.l2_interfaces|symmetric_difference(expected_config) == []"
