---
# Make sure ufw is installed
- name: Install EPEL repository (RHEL only)
  include_role:
    name: setup_epel
  when: ansible_distribution == 'RedHat'
- name: Install iptables (SuSE only)
  package:
    name: iptables
  become: yes
  when: ansible_os_family == 'Suse'
- name: Install ufw
  become: yes
  package:
    name: ufw

# Run the tests
- block:
  - include_tasks: run-test.yml
    with_fileglob:
    - "tests/*.yml"
  become: yes

  # Cleanup
  always:
  - pause:
      # ufw creates backups of the rule files with a timestamp; if reset is called
      # twice in a row fast enough (so that both timestamps are taken in the same second),
      # the second call will notice that the backup files are already there and fail.
      # Waiting one second fixes this problem.
      seconds: 1
  - name: Reset ufw to factory defaults and disable
    ufw:
      state: reset