- name: Create a User
  tower_user:
    first_name: Joe
    last_name: User
    username: joe
    password: "{{ 65535 | random | to_uuid }}"
    email: joe@example.org
    state: present
  register: result

- assert:
    that:
      - "result is changed"

- name: Delete a User
  tower_user:
    username: joe
    email: joe@example.org
    state: absent
  register: result

- assert:
    that:
      - "result is changed"

- name: Create an Auditor
  tower_user:
    first_name: Joe
    last_name: Auditor
    username: joe
    password: "{{ 65535 | random | to_uuid }}"
    email: joe@example.org
    state: present
    auditor: true
  register: result

- assert:
    that:
      - "result is changed"

- name: Delete an Auditor
  tower_user:
    username: joe
    email: joe@example.org
    state: absent
  register: result

- assert:
    that:
      - "result is changed"

- name: Create a Superuser
  tower_user:
    first_name: Joe
    last_name: Super
    username: joe
    password: "{{ 65535 | random | to_uuid }}"
    email: joe@example.org
    state: present
    superuser: true
  register: result

- assert:
    that:
      - "result is changed"

- name: Delete a Superuser
  tower_user:
    username: joe
    email: joe@example.org
    state: absent
  register: result

- assert:
    that:
      - "result is changed"

- name: Test tower SSL parameter
  tower_user:
    first_name: Joe
    last_name: User
    username: joe
    password: "{{ 65535 | random | to_uuid }}"
    email: joe@example.org
    state: present
    tower_verify_ssl: true
    tower_host: http://foo.invalid
  ignore_errors: true
  register: result

- assert:
    that:
      - "'not verify ssl with non-https protocol' in result.exception"