You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/vultr_user/tasks/main.yml

226 lines
6.0 KiB
YAML

---
# Copyright (c) 2018, René Moser <mail@renemoser.net>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
- name: setup
vultr_user:
name: "{{ vultr_user_name }}"
state: absent
register: result
- name: verify setup
assert:
that:
- result is success
- name: test fail if missing name
vultr_user:
register: result
ignore_errors: yes
- name: verify test fail if missing name
assert:
that:
- result is failed
- 'result.msg == "missing required arguments: name"'
- name: test fail if missing params for state=present
vultr_user:
name: "{{ vultr_user_name }}"
register: result
ignore_errors: yes
- name: verify fail if missing params for state=present
assert:
that:
- result is failed
- 'result.msg.startswith("state is present but all of the following are missing")'
- name: test fail param not in choices
vultr_user:
name: "{{ vultr_user_name }}"
email: john.doe@example.com
password: s3cr3t
acls:
- bad
- dns
- manage_users
register: result
ignore_errors: yes
- name: verify test fail if missing name
assert:
that:
- result is failed
- 'result.msg.startswith("value of acls must be one or more of")'
- name: test create user in check mode
vultr_user:
name: "{{ vultr_user_name }}"
email: john.doe@example.com
password: s3cr3t
acls:
- upgrade
- dns
- manage_users
register: result
check_mode: yes
- name: verify test create user in check mode
assert:
that:
- result is changed
- name: test create user
vultr_user:
name: "{{ vultr_user_name }}"
email: john.doe@example.com
password: s3cr3t
acls:
- upgrade
- dns
- manage_users
register: result
- name: verify test create user
assert:
that:
- result is changed
- result.vultr_user.name == '{{ vultr_user_name }}'
- result.vultr_user.email == 'john.doe@example.com'
- result.vultr_user.api_enabled == true
- "'upgrade' in result.vultr_user.acls"
- "'manage_users' in result.vultr_user.acls"
- "'dns' in result.vultr_user.acls"
- result.vultr_user.api_key is defined
- name: test create user idempotence
vultr_user:
name: "{{ vultr_user_name }}"
email: john.doe@example.com
password: s3cr3t
acls:
- upgrade
- dns
- manage_users
register: result
- name: verify test create user idempotence
assert:
that:
- result is not changed
- result.vultr_user.name == '{{ vultr_user_name }}'
- result.vultr_user.email == 'john.doe@example.com'
- result.vultr_user.api_enabled == true
- "'upgrade' in result.vultr_user.acls"
- "'manage_users' in result.vultr_user.acls"
- "'dns' in result.vultr_user.acls"
- result.vultr_user.api_key is not defined
- name: test update user in check mode
vultr_user:
name: "{{ vultr_user_name }}"
email: jimmy@example.com
password: s3cr3t
api_enabled: false
acls:
- manage_users
- upgrade
- support
register: result
check_mode: yes
- name: verify test update user in check mode
assert:
that:
- result is changed
- result.vultr_user.name == '{{ vultr_user_name }}'
- result.vultr_user.email == 'john.doe@example.com'
- "'upgrade' in result.vultr_user.acls"
- "'manage_users' in result.vultr_user.acls"
- "'dns' in result.vultr_user.acls"
- result.vultr_user.api_enabled == true
- result.vultr_user.api_key is not defined
- name: test update user
vultr_user:
name: "{{ vultr_user_name }}"
email: jimmy@example.com
password: s3cr3t
api_enabled: false
acls:
- manage_users
- upgrade
- support
register: result
- name: verify test update user
assert:
that:
- result is changed
- result.vultr_user.name == '{{ vultr_user_name }}'
- result.vultr_user.email == 'jimmy@example.com'
- "'upgrade' in result.vultr_user.acls"
- "'manage_users' in result.vultr_user.acls"
- "'support' in result.vultr_user.acls"
- result.vultr_user.api_enabled == false
- result.vultr_user.api_key is not defined
- name: test update user idempotence
vultr_user:
name: "{{ vultr_user_name }}"
email: jimmy@example.com
password: s3cr3t
api_enabled: false
acls:
- manage_users
- upgrade
- support
register: result
- name: verify test update user idempotence
assert:
that:
- result is not changed
- result.vultr_user.name == '{{ vultr_user_name }}'
- result.vultr_user.email == 'jimmy@example.com'
- "'upgrade' in result.vultr_user.acls"
- "'manage_users' in result.vultr_user.acls"
- "'support' in result.vultr_user.acls"
- result.vultr_user.api_enabled == false
- result.vultr_user.api_key is not defined
- name: test absent user in check mode
vultr_user:
name: "{{ vultr_user_name }}"
state: absent
register: result
check_mode: yes
- name: verify test absent user in check mode
assert:
that:
- result is changed
- result.vultr_user.name == '{{ vultr_user_name }}'
- result.vultr_user.email == 'jimmy@example.com'
- "'upgrade' in result.vultr_user.acls"
- "'manage_users' in result.vultr_user.acls"
- "'support' in result.vultr_user.acls"
- result.vultr_user.api_enabled == false
- result.vultr_user.api_key is not defined
- name: test absent user
vultr_user:
name: "{{ vultr_user_name }}"
state: absent
register: result
- name: verify test absent user
assert:
that:
- result is changed
- result.vultr_user.name == '{{ vultr_user_name }}'
- result.vultr_user.email == 'jimmy@example.com'
- "'upgrade' in result.vultr_user.acls"
- "'manage_users' in result.vultr_user.acls"
- "'support' in result.vultr_user.acls"
- result.vultr_user.api_enabled == false
- result.vultr_user.api_key is not defined
- name: test absent user idempotence
vultr_user:
name: "{{ vultr_user_name }}"
state: absent
register: result
- name: verify test absent user idempotence
assert:
that:
- result is not changed