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

- name: Backend auto-detection test
  openssh_keypair:
    path: '{{ remote_tmp_dir }}/auto_backend_key'
    state: "{{ item }}"
  loop: ['present', 'absent']

- set_fact:
    backends: ['opensshbin']

- set_fact:
    backends: "{{ backends + ['cryptography'] }}"
  when: cryptography_version.stdout is version('3.0', '>=') and bcrypt_version.stdout is version('3.1.5', '>=')

- include_tasks: ../tests/core.yml
  loop: "{{ backends }}"
  loop_control:
    loop_var: backend

- include_tasks: ../tests/invalid.yml
  loop: "{{ backends }}"
  loop_control:
    loop_var: backend

- include_tasks: ../tests/options.yml
  loop: "{{ backends }}"
  loop_control:
    loop_var: backend

- include_tasks: ../tests/regenerate.yml
  loop: "{{ backends }}"
  loop_control:
    loop_var: backend

- include_tasks: ../tests/state.yml
  loop: "{{ backends }}"
  loop_control:
    loop_var: backend

- include_tasks: ../tests/cryptography_backend.yml
  when: cryptography_version.stdout is version('3.0', '>=') and bcrypt_version.stdout is version('3.1.5', '>=')
