Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ufw: add integration tests #50374

Merged
merged 2 commits into from Dec 29, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 7 additions & 0 deletions test/integration/targets/ufw/aliases
@@ -0,0 +1,7 @@
shippable/posix/group2
skip/osx
skip/freebsd
skip/rhel8.0
skip/docker
needs/root
destructive
23 changes: 23 additions & 0 deletions test/integration/targets/ufw/tasks/main.yml
@@ -0,0 +1,23 @@
---
# Make sure ufw is installed
- name: Install EPEL repository (RHEL only)
yum:
name: https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm
state: present
when: ansible_distribution == 'RedHat'
- name: Install iptables (SuSE only)
package:
name: iptables
when: ansible_os_family == 'Suse'
- name: Install ufw
package:
name: ufw
# Make sure ufw is not enabled
- name: Disable ufw in case it is running
ufw:
state: disabled
# Run the tests
- block:
- include_tasks: run-test.yml
with_fileglob:
- "tests/*.yml"
3 changes: 3 additions & 0 deletions test/integration/targets/ufw/tasks/run-test.yml
@@ -0,0 +1,3 @@
---
- name: "Loading tasks from {{ item }}"
include_tasks: "{{ item }}"
189 changes: 189 additions & 0 deletions test/integration/targets/ufw/tasks/tests/basic.yml
@@ -0,0 +1,189 @@
---
# ############################################
- name: Enable
ufw:
state: enabled
register: enable
- name: Enable (idempotency)
ufw:
state: enabled
register: enable_idem
- assert:
that:
- enable is changed
- enable_idem is not changed

# ############################################
- name: ipv4 allow
ufw:
rule: allow
port: 23
to_ip: 0.0.0.0
register: ipv4_allow
- name: ipv4 allow (idempotency)
ufw:
rule: allow
port: 23
to_ip: 0.0.0.0
become: yes
register: ipv4_allow_idem
- assert:
that:
- ipv4_allow is changed
- ipv4_allow_idem is not changed

# ############################################
- name: delete ipv4 allow
ufw:
rule: allow
port: 23
to_ip: 0.0.0.0
delete: yes
register: delete_ipv4_allow
- name: delete ipv4 allow (idempotency)
ufw:
rule: allow
port: 23
to_ip: 0.0.0.0
delete: yes
become: yes
register: delete_ipv4_allow_idem
- assert:
that:
- delete_ipv4_allow is changed
- delete_ipv4_allow_idem is not changed

# ############################################
- name: ipv6 allow
ufw:
rule: allow
port: 23
to_ip: "::"
register: ipv6_allow
- name: ipv6 allow (idempotency)
ufw:
rule: allow
port: 23
to_ip: "::"
become: yes
register: ipv6_allow_idem
- assert:
that:
- ipv6_allow is changed
- ipv6_allow_idem is not changed

# ############################################
- name: delete ipv6 allow
ufw:
rule: allow
port: 23
to_ip: "::"
delete: yes
register: delete_ipv6_allow
- name: delete ipv6 allow (idempotency)
ufw:
rule: allow
port: 23
to_ip: "::"
delete: yes
become: yes
register: delete_ipv6_allow_idem
- assert:
that:
- delete_ipv6_allow is changed
- delete_ipv6_allow_idem is not changed


# ############################################
- name: ipv4 allow
ufw:
rule: allow
port: 23
to_ip: 0.0.0.0
register: ipv4_allow
- name: ipv4 allow (idempotency)
ufw:
rule: allow
port: 23
to_ip: 0.0.0.0
become: yes
register: ipv4_allow_idem
- assert:
that:
- ipv4_allow is changed
- ipv4_allow_idem is not changed

# ############################################
- name: delete ipv4 allow
ufw:
rule: allow
port: 23
to_ip: 0.0.0.0
delete: yes
register: delete_ipv4_allow
- name: delete ipv4 allow (idempotency)
ufw:
rule: allow
port: 23
to_ip: 0.0.0.0
delete: yes
become: yes
register: delete_ipv4_allow_idem
- assert:
that:
- delete_ipv4_allow is changed
- delete_ipv4_allow_idem is not changed

# ############################################
- name: ipv6 allow
ufw:
rule: allow
port: 23
to_ip: "::"
register: ipv6_allow
- name: ipv6 allow (idempotency)
ufw:
rule: allow
port: 23
to_ip: "::"
become: yes
register: ipv6_allow_idem
- assert:
that:
- ipv6_allow is changed
- ipv6_allow_idem is not changed

# ############################################
- name: delete ipv6 allow
ufw:
rule: allow
port: 23
to_ip: "::"
delete: yes
register: delete_ipv6_allow
- name: delete ipv6 allow (idempotency)
ufw:
rule: allow
port: 23
to_ip: "::"
delete: yes
become: yes
register: delete_ipv6_allow_idem
- assert:
that:
- delete_ipv6_allow is changed
- delete_ipv6_allow_idem is not changed

# ############################################
- name: Disable
ufw:
state: disabled
register: disable
- name: Disable (idempotency)
ufw:
state: disabled
register: disable_idem
- assert:
that:
- disable is changed
- disable_idem is not changed