---
- debug:
    msg: "Start vyos_static_routes deleted integration tests ansible_connection={{ ansible_connection }}"

- include_tasks: _populate.yaml

- block:
  - name: Delete static route based on destiation.
    vyos_static_routes: &deleted_dest
      config:
        - address_families:
          - afi: 'ipv4'
            routes:
              - dest: '192.0.2.32/28'
          - afi: 'ipv6'
            routes:
              - dest: '2001:db8:1000::/36'
      state: deleted
    register: result

  - name: Assert that the before dicts were correctly generated
    assert:
      that:
        - "{{ populate | symmetric_difference(result['before']) |length == 0 }}"

  - name: Assert that the correct set of commands were generated
    assert:
      that:
        - "{{ deleted_dest['commands'] | symmetric_difference(result['commands']) |length == 0 }}"

  - name: Assert that the after dicts were correctly generated
    assert:
      that:
        - "{{ deleted_dest['after'] | symmetric_difference(result['after']) |length == 0 }}"

  - name: Delete attributes of given interfaces (IDEMPOTENT)
    vyos_static_routes: *deleted_dest
    register: result

  - name: Assert that the previous task was idempotent
    assert:
      that:
        - "result.changed == false"
        - "result.commands|length == 0"

  - name: Assert that the before dicts were correctly generated
    assert:
      that:
        - "{{ deleted_dest['after'] | symmetric_difference(result['before']) |length == 0 }}"
  always:
  - include_tasks: _remove_config.yaml