summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/iptables
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:04:21 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 16:04:21 +0000
commit8a754e0858d922e955e71b253c139e071ecec432 (patch)
tree527d16e74bfd1840c85efd675fdecad056c54107 /test/integration/targets/iptables
parentInitial commit. (diff)
downloadansible-core-upstream/2.14.3.tar.xz
ansible-core-upstream/2.14.3.zip
Adding upstream version 2.14.3.upstream/2.14.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/integration/targets/iptables')
-rw-r--r--test/integration/targets/iptables/aliases5
-rw-r--r--test/integration/targets/iptables/tasks/chain_management.yml71
-rw-r--r--test/integration/targets/iptables/tasks/main.yml36
-rw-r--r--test/integration/targets/iptables/vars/alpine.yml2
-rw-r--r--test/integration/targets/iptables/vars/centos.yml2
-rw-r--r--test/integration/targets/iptables/vars/default.yml2
-rw-r--r--test/integration/targets/iptables/vars/fedora.yml2
-rw-r--r--test/integration/targets/iptables/vars/redhat.yml2
-rw-r--r--test/integration/targets/iptables/vars/suse.yml2
9 files changed, 124 insertions, 0 deletions
diff --git a/test/integration/targets/iptables/aliases b/test/integration/targets/iptables/aliases
new file mode 100644
index 0000000..7d66ecf
--- /dev/null
+++ b/test/integration/targets/iptables/aliases
@@ -0,0 +1,5 @@
+shippable/posix/group2
+skip/freebsd
+skip/osx
+skip/macos
+skip/docker
diff --git a/test/integration/targets/iptables/tasks/chain_management.yml b/test/integration/targets/iptables/tasks/chain_management.yml
new file mode 100644
index 0000000..0355122
--- /dev/null
+++ b/test/integration/targets/iptables/tasks/chain_management.yml
@@ -0,0 +1,71 @@
+# test code for the iptables module
+# (c) 2021, Éloi Rivard <eloi@yaal.coop>
+
+# This file is part of Ansible
+#
+# Ansible is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Ansible is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
+---
+- name: get the state of the iptable rules
+ shell: "{{ iptables_bin }} -L"
+ become: true
+ register: result
+
+- name: assert the rule is absent
+ assert:
+ that:
+ - result is not failed
+ - '"FOOBAR-CHAIN" not in result.stdout'
+
+- name: create the foobar chain
+ become: true
+ iptables:
+ chain: FOOBAR-CHAIN
+ chain_management: true
+ state: present
+
+- name: get the state of the iptable rules after chain is created
+ become: true
+ shell: "{{ iptables_bin }} -L"
+ register: result
+
+- name: assert the rule is present
+ assert:
+ that:
+ - result is not failed
+ - '"FOOBAR-CHAIN" in result.stdout'
+
+- name: flush the foobar chain
+ become: true
+ iptables:
+ chain: FOOBAR-CHAIN
+ flush: true
+
+- name: delete the foobar chain
+ become: true
+ iptables:
+ chain: FOOBAR-CHAIN
+ chain_management: true
+ state: absent
+
+- name: get the state of the iptable rules after chain is deleted
+ become: true
+ shell: "{{ iptables_bin }} -L"
+ register: result
+
+- name: assert the rule is absent
+ assert:
+ that:
+ - result is not failed
+ - '"FOOBAR-CHAIN" not in result.stdout'
+ - '"FOOBAR-RULE" not in result.stdout'
diff --git a/test/integration/targets/iptables/tasks/main.yml b/test/integration/targets/iptables/tasks/main.yml
new file mode 100644
index 0000000..eb2674a
--- /dev/null
+++ b/test/integration/targets/iptables/tasks/main.yml
@@ -0,0 +1,36 @@
+# test code for the iptables module
+# (c) 2021, Éloi Rivard <eloi@yaal.coop>
+
+# This file is part of Ansible
+#
+# Ansible is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Ansible is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
+---
+- name: Include distribution specific variables
+ include_vars: "{{ lookup('first_found', search) }}"
+ vars:
+ search:
+ files:
+ - '{{ ansible_distribution | lower }}.yml'
+ - '{{ ansible_os_family | lower }}.yml'
+ - '{{ ansible_system | lower }}.yml'
+ - default.yml
+ paths:
+ - vars
+
+- name: install dependencies for iptables test
+ package:
+ name: iptables
+ state: present
+
+- import_tasks: chain_management.yml
diff --git a/test/integration/targets/iptables/vars/alpine.yml b/test/integration/targets/iptables/vars/alpine.yml
new file mode 100644
index 0000000..7bdd1a0
--- /dev/null
+++ b/test/integration/targets/iptables/vars/alpine.yml
@@ -0,0 +1,2 @@
+---
+iptables_bin: /sbin/iptables
diff --git a/test/integration/targets/iptables/vars/centos.yml b/test/integration/targets/iptables/vars/centos.yml
new file mode 100644
index 0000000..7bdd1a0
--- /dev/null
+++ b/test/integration/targets/iptables/vars/centos.yml
@@ -0,0 +1,2 @@
+---
+iptables_bin: /sbin/iptables
diff --git a/test/integration/targets/iptables/vars/default.yml b/test/integration/targets/iptables/vars/default.yml
new file mode 100644
index 0000000..0c5f877
--- /dev/null
+++ b/test/integration/targets/iptables/vars/default.yml
@@ -0,0 +1,2 @@
+---
+iptables_bin: /usr/sbin/iptables
diff --git a/test/integration/targets/iptables/vars/fedora.yml b/test/integration/targets/iptables/vars/fedora.yml
new file mode 100644
index 0000000..7bdd1a0
--- /dev/null
+++ b/test/integration/targets/iptables/vars/fedora.yml
@@ -0,0 +1,2 @@
+---
+iptables_bin: /sbin/iptables
diff --git a/test/integration/targets/iptables/vars/redhat.yml b/test/integration/targets/iptables/vars/redhat.yml
new file mode 100644
index 0000000..7bdd1a0
--- /dev/null
+++ b/test/integration/targets/iptables/vars/redhat.yml
@@ -0,0 +1,2 @@
+---
+iptables_bin: /sbin/iptables
diff --git a/test/integration/targets/iptables/vars/suse.yml b/test/integration/targets/iptables/vars/suse.yml
new file mode 100644
index 0000000..7bdd1a0
--- /dev/null
+++ b/test/integration/targets/iptables/vars/suse.yml
@@ -0,0 +1,2 @@
+---
+iptables_bin: /sbin/iptables