summaryrefslogtreecommitdiffstats
path: root/ansible_collections/community/docker/tests
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-26 04:05:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-26 04:05:56 +0000
commit67c6a4d1dccb62159b9d9b2dea4e2f487446e276 (patch)
tree9ccbb35137f480bbbdb899accbda52a8135d3416 /ansible_collections/community/docker/tests
parentAdding upstream version 9.4.0+dfsg. (diff)
downloadansible-67c6a4d1dccb62159b9d9b2dea4e2f487446e276.tar.xz
ansible-67c6a4d1dccb62159b9d9b2dea4e2f487446e276.zip
Adding upstream version 9.5.1+dfsg.upstream/9.5.1+dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ansible_collections/community/docker/tests')
-rw-r--r--ansible_collections/community/docker/tests/integration/targets/docker_compose_v2/tasks/tests/definition.yml264
-rw-r--r--ansible_collections/community/docker/tests/sanity/ignore-2.17.txt3
-rw-r--r--ansible_collections/community/docker/tests/sanity/ignore-2.18.txt4
-rw-r--r--ansible_collections/community/docker/tests/sanity/ignore-2.18.txt.license3
-rw-r--r--ansible_collections/community/docker/tests/unit/plugins/module_utils/_api/api/test_client.py51
5 files changed, 274 insertions, 51 deletions
diff --git a/ansible_collections/community/docker/tests/integration/targets/docker_compose_v2/tasks/tests/definition.yml b/ansible_collections/community/docker/tests/integration/targets/docker_compose_v2/tasks/tests/definition.yml
new file mode 100644
index 000000000..4b88edcd1
--- /dev/null
+++ b/ansible_collections/community/docker/tests/integration/targets/docker_compose_v2/tasks/tests/definition.yml
@@ -0,0 +1,264 @@
+---
+# Copyright (c) Ansible Project
+# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+- vars:
+ pname: "{{ name_prefix }}-definition"
+ cname: "{{ name_prefix }}-container"
+ test_service: |
+ services:
+ {{ cname }}:
+ image: "{{ docker_test_image_alpine }}"
+ command: '/bin/sh -c "sleep 10m"'
+ stop_grace_period: 1s
+ test_service_mod: |
+ services:
+ {{ cname }}:
+ image: "{{ docker_test_image_alpine }}"
+ command: '/bin/sh -c "sleep 15m"'
+ stop_grace_period: 1s
+
+ block:
+ - name: Registering container name
+ set_fact:
+ cnames: "{{ cnames + [pname ~ '-' ~ cname ~ '-1'] }}"
+ dnetworks: "{{ dnetworks + [pname ~ '_default'] }}"
+
+####################################################################
+## Present #########################################################
+####################################################################
+
+ - name: Present (check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: present
+ check_mode: true
+ register: present_1_check
+
+ - name: Present
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: present
+ register: present_1
+
+ - name: Present (idempotent check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: present
+ check_mode: true
+ register: present_2_check
+
+ - name: Present (idempotent)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: present
+ register: present_2
+
+ - name: Present (changed check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service_mod | from_yaml }}'
+ state: present
+ check_mode: true
+ register: present_3_check
+
+ - name: Present (changed)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service_mod | from_yaml }}'
+ state: present
+ register: present_3
+
+ - assert:
+ that:
+ - present_1_check is changed
+ - present_1 is changed
+ - present_1.containers | length == 1
+ - present_1.containers[0].Name == pname ~ '-' ~ cname ~ '-1'
+ - present_1.containers[0].Image == docker_test_image_alpine
+ - present_1.images | length == 1
+ - present_1.images[0].ContainerName == pname ~ '-' ~ cname ~ '-1'
+ - present_1.images[0].Repository == (docker_test_image_alpine | split(':') | first)
+ - present_1.images[0].Tag == (docker_test_image_alpine | split(':') | last)
+ - present_2_check is not changed
+ - present_2 is not changed
+ - present_3_check is changed
+ - present_3 is changed
+
+####################################################################
+## Absent ##########################################################
+####################################################################
+
+ - name: Absent (check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service_mod | from_yaml }}'
+ state: absent
+ check_mode: true
+ register: absent_1_check
+
+ - name: Absent
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service_mod | from_yaml }}'
+ state: absent
+ register: absent_1
+
+ - name: Absent (idempotent check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service_mod | from_yaml }}'
+ state: absent
+ check_mode: true
+ register: absent_2_check
+
+ - name: Absent (idempotent)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service_mod | from_yaml }}'
+ state: absent
+ register: absent_2
+
+ - assert:
+ that:
+ - absent_1_check is changed
+ - absent_1 is changed
+ - absent_2_check is not changed
+ - absent_2 is not changed
+
+####################################################################
+## Stopping and starting ###########################################
+####################################################################
+
+ - name: Present stopped (check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: stopped
+ check_mode: true
+ register: present_1_check
+
+ - name: Present stopped
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: stopped
+ register: present_1
+
+ - name: Present stopped (idempotent check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: stopped
+ check_mode: true
+ register: present_2_check
+
+ - name: Present stopped (idempotent)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: stopped
+ register: present_2
+
+ - name: Started (check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: present
+ check_mode: true
+ register: present_3_check
+
+ - name: Started
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: present
+ register: present_3
+
+ - name: Started (idempotent check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: present
+ check_mode: true
+ register: present_4_check
+
+ - name: Started (idempotent)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: present
+ register: present_4
+
+ - name: Restarted (check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: restarted
+ check_mode: true
+ register: present_5_check
+
+ - name: Restarted
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: restarted
+ register: present_5
+
+ - name: Stopped (check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: stopped
+ check_mode: true
+ register: present_6_check
+
+ - name: Stopped
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: stopped
+ register: present_6
+
+ - name: Restarted (check)
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: restarted
+ check_mode: true
+ register: present_7_check
+
+ - name: Restarted
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: restarted
+ register: present_7
+
+ - name: Cleanup
+ docker_compose_v2:
+ project_name: '{{ pname }}'
+ definition: '{{ test_service | from_yaml }}'
+ state: absent
+
+ - assert:
+ that:
+ - present_1_check is changed
+ - present_1 is changed
+ - present_2_check is not changed
+ - present_2 is not changed
+ - present_3_check is changed
+ - present_3 is changed
+ - present_4_check is not changed
+ - present_4 is not changed
+ - present_5_check is changed
+ - present_5 is changed
+ - present_6_check is changed
+ - present_6 is changed
+ - present_7_check is changed
+ - present_7 is changed
diff --git a/ansible_collections/community/docker/tests/sanity/ignore-2.17.txt b/ansible_collections/community/docker/tests/sanity/ignore-2.17.txt
index 12e0b26f9..f1974bd5e 100644
--- a/ansible_collections/community/docker/tests/sanity/ignore-2.17.txt
+++ b/ansible_collections/community/docker/tests/sanity/ignore-2.17.txt
@@ -1 +1,4 @@
plugins/modules/docker_container_copy_into.py validate-modules:undocumented-parameter # _max_file_size_for_diff is used by the action plugin
+plugins/module_utils/_api/api/client.py pylint:use-yield-from # suggested construct does not work with Python 2
+plugins/module_utils/_api/utils/build.py pylint:use-yield-from # suggested construct does not work with Python 2
+tests/unit/plugins/module_utils/test_copy.py pylint:use-yield-from # suggested construct does not work with Python 2
diff --git a/ansible_collections/community/docker/tests/sanity/ignore-2.18.txt b/ansible_collections/community/docker/tests/sanity/ignore-2.18.txt
new file mode 100644
index 000000000..f1974bd5e
--- /dev/null
+++ b/ansible_collections/community/docker/tests/sanity/ignore-2.18.txt
@@ -0,0 +1,4 @@
+plugins/modules/docker_container_copy_into.py validate-modules:undocumented-parameter # _max_file_size_for_diff is used by the action plugin
+plugins/module_utils/_api/api/client.py pylint:use-yield-from # suggested construct does not work with Python 2
+plugins/module_utils/_api/utils/build.py pylint:use-yield-from # suggested construct does not work with Python 2
+tests/unit/plugins/module_utils/test_copy.py pylint:use-yield-from # suggested construct does not work with Python 2
diff --git a/ansible_collections/community/docker/tests/sanity/ignore-2.18.txt.license b/ansible_collections/community/docker/tests/sanity/ignore-2.18.txt.license
new file mode 100644
index 000000000..edff8c768
--- /dev/null
+++ b/ansible_collections/community/docker/tests/sanity/ignore-2.18.txt.license
@@ -0,0 +1,3 @@
+GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
+SPDX-License-Identifier: GPL-3.0-or-later
+SPDX-FileCopyrightText: Ansible Project
diff --git a/ansible_collections/community/docker/tests/unit/plugins/module_utils/_api/api/test_client.py b/ansible_collections/community/docker/tests/unit/plugins/module_utils/_api/api/test_client.py
index 57040b631..87769a3cd 100644
--- a/ansible_collections/community/docker/tests/unit/plugins/module_utils/_api/api/test_client.py
+++ b/ansible_collections/community/docker/tests/unit/plugins/module_utils/_api/api/test_client.py
@@ -35,7 +35,6 @@ if sys.version_info < (2, 7):
from ansible_collections.community.docker.plugins.module_utils._api import constants, errors
from ansible_collections.community.docker.plugins.module_utils._api.api.client import APIClient
from ansible_collections.community.docker.plugins.module_utils._api.constants import DEFAULT_DOCKER_API_VERSION
-from ansible_collections.community.docker.plugins.module_utils._api.utils.utils import convert_filters
from requests.packages import urllib3
from .. import fake_api
@@ -246,56 +245,6 @@ class DockerApiTest(BaseAPIClientTest):
'serveraddress': None,
}
- def test_events(self):
- self.client.events()
-
- fake_request.assert_called_with(
- 'GET',
- url_prefix + 'events',
- params={'since': None, 'until': None, 'filters': None},
- stream=True,
- timeout=None
- )
-
- def test_events_with_since_until(self):
- ts = 1356048000
- now = datetime.datetime.utcfromtimestamp(ts)
- since = now - datetime.timedelta(seconds=10)
- until = now + datetime.timedelta(seconds=10)
-
- self.client.events(since=since, until=until)
-
- fake_request.assert_called_with(
- 'GET',
- url_prefix + 'events',
- params={
- 'since': ts - 10,
- 'until': ts + 10,
- 'filters': None
- },
- stream=True,
- timeout=None
- )
-
- def test_events_with_filters(self):
- filters = {'event': ['die', 'stop'],
- 'container': fake_api.FAKE_CONTAINER_ID}
-
- self.client.events(filters=filters)
-
- expected_filters = convert_filters(filters)
- fake_request.assert_called_with(
- 'GET',
- url_prefix + 'events',
- params={
- 'since': None,
- 'until': None,
- 'filters': expected_filters
- },
- stream=True,
- timeout=None
- )
-
def _socket_path_for_client_session(self, client):
socket_adapter = client.get_adapter('http+docker://')
return socket_adapter.socket_path