---
- block:
  - name: Generate privatekey1 - standard
    openssl_privatekey:
      path: '{{ output_dir }}/privatekey_autodetect.pem'

  - name: Run module with backend autodetection
    openssl_publickey:
      path: '{{ output_dir }}/privatekey_autodetect_public.pem'
      privatekey_path: '{{ output_dir }}/privatekey_autodetect.pem'

  when: |
    pyopenssl_version.stdout is version('16.0.0', '>=') or
    cryptography_version.stdout is version('1.2.3', '>=')

- block:
  - name: Running tests with pyOpenSSL backend
    include_tasks: impl.yml
    vars:
      select_crypto_backend: pyopenssl

  - import_tasks: ../tests/validate.yml
    vars:
      select_crypto_backend: pyopenssl

  when: pyopenssl_version.stdout is version('16.0.0', '>=')

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

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

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

  - import_tasks: ../tests/validate.yml
    vars:
      select_crypto_backend: cryptography

  when: cryptography_version.stdout is version('1.2.3', '>=')
