---
# 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

####################################################################
# WARNING: These are designed specifically for Ansible tests       #
# and should not be used as examples of how to write Ansible roles #
####################################################################

- block:
  - name: Make sure image is not there
    docker_image_remove:
      name: "{{ docker_test_image_alpine_different }}"

  - name: Inspect a non-available image
    docker_image_info:
      name: "{{ docker_test_image_alpine_different }}"
    register: result

  - assert:
      that:
      - "result.images|length == 0"

  - name: Make sure images are there
    docker_image_pull:
      name: "{{ item }}"
    loop:
    - "{{ docker_test_image_hello_world }}"
    - "{{ docker_test_image_alpine }}"

  - name: Inspect an available image
    docker_image_info:
      name: "{{ docker_test_image_hello_world }}"
    register: result

  - assert:
      that:
      - "result.images|length == 1"
      - "docker_test_image_hello_world in result.images[0].RepoTags"

  - name: Inspect multiple images
    docker_image_info:
      name:
      - "{{ docker_test_image_hello_world }}"
      - "{{ docker_test_image_alpine }}"
    register: result

  - debug: var=result

  - assert:
      that:
      - "result.images|length == 2"
      - "docker_test_image_hello_world in result.images[0].RepoTags"
      - "docker_test_image_alpine in result.images[1].RepoTags"

  when: docker_api_version is version('1.25', '>=')

- fail: msg="Too old docker / docker-py version to run docker_image_info tests!"
  when: not(docker_api_version is version('1.25', '>=')) and (ansible_distribution != 'CentOS' or ansible_distribution_major_version|int > 6)
