Blame tests/vault/test_vault_symmetric.yml

Packit Service 0f71a7
---
Packit Service 0f71a7
- name: Test vault
Packit Service 0f71a7
  hosts: ipaserver
Packit Service 0f71a7
  become: true
Packit Service 0f71a7
  # Need to gather facts for ansible_env.
Packit Service 0f71a7
  gather_facts: true
Packit Service 0f71a7
Packit Service 0f71a7
  tasks:
Packit Service 0f71a7
  - name: Setup testing environment.
Packit Service 0f71a7
    import_tasks: env_setup.yml
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Ensure symmetric vault is present
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      vault_type: symmetric
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: not result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Ensure symmetric vault is present, again
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      vault_type: symmetric
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Archive data to symmetric vault
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      vault_data: Hello World.
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: not result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Retrieve data from symmetric vault.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
      state: retrieved
Packit Service 0f71a7
    register: result
Packit Service c054a4
    failed_when: result.vault.data != 'Hello World.' or result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Retrieve data from symmetric vault into file {{ ansible_env.HOME }}/data.txt.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
      out: "{{ ansible_env.HOME }}/data.txt"
Packit Service 0f71a7
      state: retrieved
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Verify retrieved data.
Packit Service 0f71a7
    slurp:
Packit Service 0f71a7
      src: "{{ ansible_env.HOME }}/data.txt"
Packit Service 0f71a7
    register: slurpfile
Packit Service 0f71a7
    failed_when: slurpfile['content'] | b64decode != 'Hello World.'
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Archive data with non-ASCII characters to symmetric vault
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
      vault_data: The world of π is half rounded.
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: not result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Retrieve data from symmetric vault.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
      state: retrieved
Packit Service 0f71a7
    register: result
Packit Service c054a4
    failed_when: result.vault.data != 'The world of π is half rounded.' or result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Archive data in symmetric vault, from file.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      in: "{{ ansible_env.HOME }}/in.txt"
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: not result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Retrieve data from symmetric vault.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
      state: retrieved
Packit Service 0f71a7
    register: result
Packit Service c054a4
    failed_when: result.vault.data != 'Another World.' or result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Archive data with single character to symmetric vault
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
      vault_data: c
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: not result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Retrieve data from symmetric vault.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
      state: retrieved
Packit Service 0f71a7
    register: result
Packit Service c054a4
    failed_when: result.vault.data != 'c' or result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Ensure symmetric vault is absent
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      state: absent
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: not result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Ensure symmetric vault is absent, again
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      state: absent
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Ensure symmetric vault is present, with password from file.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      username: user01
Packit Service 0f71a7
      password_file: "{{ ansible_env.HOME }}/password.txt"
Packit Service 0f71a7
      vault_type: symmetric
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: not result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Ensure symmetric vault is present, with password from file, again.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      username: user01
Packit Service 0f71a7
      password_file: "{{ ansible_env.HOME }}/password.txt"
Packit Service 0f71a7
      vault_type: symmetric
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Archive data to symmetric vault
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      vault_data: Hello World.
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: not result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Retrieve data from symmetric vault.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      password: SomeVAULTpassword
Packit Service 0f71a7
      state: retrieved
Packit Service 0f71a7
    register: result
Packit Service c054a4
    failed_when: result.vault.data != 'Hello World.' or result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Retrieve data from symmetric vault, with password file.
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      password_file: "{{ ansible_env.HOME }}/password.txt"
Packit Service 0f71a7
      state: retrieved
Packit Service 0f71a7
    register: result
Packit Service c054a4
    failed_when: result.vault.data != 'Hello World.' or result.changed
Packit Service 0f71a7
Packit Service 07c305
  - name: Change vault password.
Packit Service 07c305
    ipavault:
Packit Service 07c305
      ipaadmin_password: SomeADMINpassword
Packit Service 07c305
      name: symvault
Packit Service 07c305
      password: SomeVAULTpassword
Packit Service 07c305
      new_password: SomeNEWpassword
Packit Service 07c305
    register: result
Packit Service 07c305
    failed_when: not result.changed
Packit Service 07c305
Packit Service 07c305
  - name: Retrieve data from symmetric vault, with wrong password.
Packit Service 07c305
    ipavault:
Packit Service 07c305
      ipaadmin_password: SomeADMINpassword
Packit Service 07c305
      name: symvault
Packit Service 07c305
      password: SomeVAULTpassword
Packit Service 07c305
      state: retrieved
Packit Service 07c305
    register: result
Packit Service 07c305
    failed_when: not result.failed or "Invalid credentials" not in result.msg
Packit Service 07c305
Packit Service 07c305
  - name: Change vault password, with wrong `old_password`.
Packit Service 07c305
    ipavault:
Packit Service 07c305
      ipaadmin_password: SomeADMINpassword
Packit Service 07c305
      name: symvault
Packit Service 07c305
      password: SomeVAULTpassword
Packit Service 07c305
      new_password: SomeNEWpassword
Packit Service 07c305
    register: result
Packit Service 07c305
    failed_when: not result.failed or "Invalid credentials" not in result.msg
Packit Service 07c305
Packit Service 07c305
  - name: Retrieve data from symmetric vault, with new password.
Packit Service 07c305
    ipavault:
Packit Service 07c305
      ipaadmin_password: SomeADMINpassword
Packit Service 07c305
      name: symvault
Packit Service 07c305
      password: SomeNEWpassword
Packit Service 07c305
      state: retrieved
Packit Service 07c305
    register: result
Packit Service c054a4
    failed_when: result.vault.data != 'Hello World.' or result.changed
Packit Service 07c305
Packit Service 07c305
  - name: Try to add vault with multiple passwords.
Packit Service 07c305
    ipavault:
Packit Service 07c305
      ipaadmin_password: SomeADMINpassword
Packit Service 07c305
      name: inexistentvault
Packit Service 07c305
      password: SomeVAULTpassword
Packit Service 07c305
      password_file: "{{ ansible_env.HOME }}/password.txt"
Packit Service 07c305
    register: result
Packit Service 07c305
    failed_when: not result.failed or "parameters are mutually exclusive" not in result.msg
Packit Service 07c305
Packit Service 07c305
  - name: Try to add vault with multiple new passwords.
Packit Service 07c305
    ipavault:
Packit Service 07c305
      ipaadmin_password: SomeADMINpassword
Packit Service 07c305
      name: inexistentvault
Packit Service 07c305
      password: SomeVAULTpassword
Packit Service 07c305
      new_password: SomeVAULTpassword
Packit Service 07c305
      new_password_file: "{{ ansible_env.HOME }}/password.txt"
Packit Service 07c305
    register: result
Packit Service 07c305
    failed_when: not result.failed or "parameters are mutually exclusive" not in result.msg
Packit Service 07c305
Packit Service 0f71a7
  - name: Ensure symmetric vault is absent
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      state: absent
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: not result.changed
Packit Service 0f71a7
Packit Service 0f71a7
  - name: Ensure symmetric vault is absent, again
Packit Service 0f71a7
    ipavault:
Packit Service 0f71a7
      ipaadmin_password: SomeADMINpassword
Packit Service 0f71a7
      name: symvault
Packit Service 0f71a7
      state: absent
Packit Service 0f71a7
    register: result
Packit Service 0f71a7
    failed_when: result.changed
Packit Service 0f71a7
Packit Service 07c305
  - name: Try to change password of inexistent vault.
Packit Service 07c305
    ipavault:
Packit Service 07c305
      ipaadmin_password: SomeADMINpassword
Packit Service 07c305
      name: inexistentvault
Packit Service 07c305
      password: SomeVAULTpassword
Packit Service 07c305
      new_password: SomeNEWpassword
Packit Service 07c305
    register: result
Packit Service 07c305
    failed_when: not result.failed or "Cannot modify password of inexistent vault" not in result.msg
Packit Service 07c305
Packit Service 0f71a7
  - name: Cleanup testing environment.
Packit Service 0f71a7
    import_tasks: env_cleanup.yml