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

# The tests for this module generate unsafe parameters for testing purposes;
# otherwise tests would be too slow. Use sizes of at least 2048 in production!

- name: Run module with backend autodetection
  openssl_dhparam:
    path: '{{ remote_tmp_dir }}/dh_backend_selection.pem'
    size: 512

- block:
  - name: Running tests with OpenSSL backend
    include_tasks: impl.yml

  - include_tasks: ../tests/validate.yml

  vars:
    select_crypto_backend: openssl
  # when: openssl_version.stdout is version('1.0.0', '>=')

- name: Remove output directory
  file:
    path: "{{ remote_tmp_dir }}"
    state: absent

- name: Re-create output directory
  file:
    path: "{{ remote_tmp_dir }}"
    state: directory

- block:
  - name: Running tests with cryptography backend
    include_tasks: impl.yml

  - include_tasks: ../tests/validate.yml

  vars:
    select_crypto_backend: cryptography
  when: cryptography_version.stdout is version('2.0', '>=')
