diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-26 04:05:56 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-26 04:05:56 +0000 |
commit | 67c6a4d1dccb62159b9d9b2dea4e2f487446e276 (patch) | |
tree | 9ccbb35137f480bbbdb899accbda52a8135d3416 /ansible_collections/community/docker/tests | |
parent | Adding upstream version 9.4.0+dfsg. (diff) | |
download | ansible-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')
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 |