From 48ffe2f3b27683f016482ee47b8eace66c81ce2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Moser?= Date: Mon, 7 Jan 2019 22:23:54 +0100 Subject: tests: vultr: convert legacy tests to targets (#50156) --- test/integration/cloud-config-vultr.ini.template | 12 + .../targets/vultr_account_facts/aliases | 2 + .../targets/vultr_account_facts/tasks/main.yml | 24 + .../targets/vultr_block_storage/aliases | 2 + .../targets/vultr_block_storage/defaults/main.yml | 5 + .../targets/vultr_block_storage/tasks/main.yml | 111 +++++ .../targets/vultr_block_storage_facts/aliases | 2 + .../vultr_block_storage_facts/defaults/main.yml | 5 + .../vultr_block_storage_facts/tasks/main.yml | 33 ++ test/integration/targets/vultr_dns_domain/aliases | 2 + .../targets/vultr_dns_domain/defaults/main.yml | 5 + .../targets/vultr_dns_domain/tasks/main.yml | 99 ++++ .../targets/vultr_dns_domain_facts/aliases | 2 + .../vultr_dns_domain_facts/defaults/main.yml | 4 + .../targets/vultr_dns_domain_facts/tasks/main.yml | 30 ++ test/integration/targets/vultr_dns_record/aliases | 2 + .../targets/vultr_dns_record/defaults/main.yml | 39 ++ .../vultr_dns_record/tasks/create_record.yml | 67 +++ .../targets/vultr_dns_record/tasks/main.yml | 17 + .../targets/vultr_dns_record/tasks/record.yml | 6 + .../vultr_dns_record/tasks/remove_record.yml | 114 +++++ .../vultr_dns_record/tasks/test_fail_multiple.yml | 78 ++++ .../vultr_dns_record/tasks/update_record.yml | 70 +++ .../targets/vultr_firewall_group/aliases | 2 + .../targets/vultr_firewall_group/defaults/main.yml | 5 + .../targets/vultr_firewall_group/tasks/main.yml | 86 ++++ .../targets/vultr_firewall_group_facts/aliases | 2 + .../vultr_firewall_group_facts/defaults/main.yml | 3 + .../vultr_firewall_group_facts/tasks/main.yml | 31 ++ .../targets/vultr_firewall_rule/aliases | 2 + .../targets/vultr_firewall_rule/defaults/main.yml | 5 + .../targets/vultr_firewall_rule/tasks/main.yml | 475 +++++++++++++++++++ test/integration/targets/vultr_network/aliases | 2 + .../targets/vultr_network/defaults/main.yml | 5 + .../targets/vultr_network/tasks/main.yml | 113 +++++ .../targets/vultr_network_facts/aliases | 2 + .../targets/vultr_network_facts/defaults/main.yml | 5 + .../targets/vultr_network_facts/tasks/main.yml | 33 ++ test/integration/targets/vultr_os_facts/aliases | 2 + .../targets/vultr_os_facts/tasks/main.yml | 19 + test/integration/targets/vultr_plan_facts/aliases | 2 + .../targets/vultr_plan_facts/tasks/main.yml | 19 + .../integration/targets/vultr_region_facts/aliases | 2 + .../targets/vultr_region_facts/tasks/main.yml | 19 + test/integration/targets/vultr_server/aliases | 2 + .../targets/vultr_server/defaults/main.yml | 10 + .../targets/vultr_server/tasks/main.yml | 508 +++++++++++++++++++++ .../integration/targets/vultr_server_facts/aliases | 2 + .../targets/vultr_server_facts/defaults/main.yml | 6 + .../targets/vultr_server_facts/tasks/main.yml | 63 +++ test/integration/targets/vultr_ssh_key/aliases | 2 + .../targets/vultr_ssh_key/defaults/main.yml | 7 + .../targets/vultr_ssh_key/tasks/main.yml | 140 ++++++ .../targets/vultr_ssh_key_facts/aliases | 2 + .../targets/vultr_ssh_key_facts/defaults/main.yml | 4 + .../targets/vultr_ssh_key_facts/tasks/main.yml | 34 ++ .../targets/vultr_startup_script/aliases | 2 + .../targets/vultr_startup_script/defaults/main.yml | 7 + .../targets/vultr_startup_script/tasks/main.yml | 140 ++++++ .../targets/vultr_startup_script_facts/aliases | 2 + .../vultr_startup_script_facts/defaults/main.yml | 4 + .../vultr_startup_script_facts/tasks/main.yml | 33 ++ test/integration/targets/vultr_user/aliases | 2 + .../targets/vultr_user/defaults/main.yml | 5 + test/integration/targets/vultr_user/tasks/main.yml | 225 +++++++++ test/integration/targets/vultr_user_facts/aliases | 2 + .../targets/vultr_user_facts/defaults/main.yml | 10 + .../targets/vultr_user_facts/tasks/main.yml | 31 ++ .../roles/vultr_account_facts/tasks/main.yml | 24 - .../roles/vultr_block_storage/defaults/main.yml | 4 - .../roles/vultr_block_storage/tasks/main.yml | 111 ----- .../vultr_block_storage_facts/defaults/main.yml | 3 - .../roles/vultr_block_storage_facts/tasks/main.yml | 33 -- .../roles/vultr_dns_domain/defaults/main.yml | 4 - test/legacy/roles/vultr_dns_domain/tasks/main.yml | 99 ---- .../roles/vultr_dns_domain_facts/defaults/main.yml | 2 - .../roles/vultr_dns_domain_facts/tasks/main.yml | 30 -- .../roles/vultr_dns_record/defaults/main.yml | 38 -- .../roles/vultr_dns_record/tasks/create_record.yml | 67 --- test/legacy/roles/vultr_dns_record/tasks/main.yml | 17 - .../legacy/roles/vultr_dns_record/tasks/record.yml | 6 - .../roles/vultr_dns_record/tasks/remove_record.yml | 114 ----- .../vultr_dns_record/tasks/test_fail_multiple.yml | 78 ---- .../roles/vultr_dns_record/tasks/update_record.yml | 70 --- .../roles/vultr_firewall_group/defaults/main.yml | 4 - .../roles/vultr_firewall_group/tasks/main.yml | 86 ---- .../vultr_firewall_group_facts/defaults/main.yml | 1 - .../vultr_firewall_group_facts/tasks/main.yml | 31 -- .../roles/vultr_firewall_rule/defaults/main.yml | 4 - .../roles/vultr_firewall_rule/tasks/main.yml | 475 ------------------- test/legacy/roles/vultr_network/defaults/main.yml | 4 - test/legacy/roles/vultr_network/tasks/main.yml | 113 ----- .../roles/vultr_network_facts/defaults/main.yml | 3 - .../roles/vultr_network_facts/tasks/main.yml | 33 -- test/legacy/roles/vultr_os_facts/tasks/main.yml | 19 - test/legacy/roles/vultr_plan_facts/tasks/main.yml | 19 - .../legacy/roles/vultr_region_facts/tasks/main.yml | 19 - test/legacy/roles/vultr_server/defaults/main.yml | 9 - test/legacy/roles/vultr_server/tasks/main.yml | 508 --------------------- .../roles/vultr_server_facts/defaults/main.yml | 4 - .../legacy/roles/vultr_server_facts/tasks/main.yml | 63 --- test/legacy/roles/vultr_ssh_key/defaults/main.yml | 6 - test/legacy/roles/vultr_ssh_key/tasks/main.yml | 140 ------ .../roles/vultr_ssh_key_facts/defaults/main.yml | 2 - .../roles/vultr_ssh_key_facts/tasks/main.yml | 34 -- .../roles/vultr_startup_script/defaults/main.yml | 6 - .../roles/vultr_startup_script/tasks/main.yml | 140 ------ .../vultr_startup_script_facts/defaults/main.yml | 3 - .../vultr_startup_script_facts/tasks/main.yml | 33 -- test/legacy/roles/vultr_user/defaults/main.yml | 4 - test/legacy/roles/vultr_user/tasks/main.yml | 225 --------- .../roles/vultr_user_facts/defaults/main.yml | 8 - test/legacy/roles/vultr_user_facts/tasks/main.yml | 31 -- test/legacy/vultr.yml | 29 -- test/runner/lib/cloud/vultr.py | 62 +++ 115 files changed, 2870 insertions(+), 2756 deletions(-) create mode 100644 test/integration/cloud-config-vultr.ini.template create mode 100644 test/integration/targets/vultr_account_facts/aliases create mode 100644 test/integration/targets/vultr_account_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_block_storage/aliases create mode 100644 test/integration/targets/vultr_block_storage/defaults/main.yml create mode 100644 test/integration/targets/vultr_block_storage/tasks/main.yml create mode 100644 test/integration/targets/vultr_block_storage_facts/aliases create mode 100644 test/integration/targets/vultr_block_storage_facts/defaults/main.yml create mode 100644 test/integration/targets/vultr_block_storage_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_dns_domain/aliases create mode 100644 test/integration/targets/vultr_dns_domain/defaults/main.yml create mode 100644 test/integration/targets/vultr_dns_domain/tasks/main.yml create mode 100644 test/integration/targets/vultr_dns_domain_facts/aliases create mode 100644 test/integration/targets/vultr_dns_domain_facts/defaults/main.yml create mode 100644 test/integration/targets/vultr_dns_domain_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_dns_record/aliases create mode 100644 test/integration/targets/vultr_dns_record/defaults/main.yml create mode 100644 test/integration/targets/vultr_dns_record/tasks/create_record.yml create mode 100644 test/integration/targets/vultr_dns_record/tasks/main.yml create mode 100644 test/integration/targets/vultr_dns_record/tasks/record.yml create mode 100644 test/integration/targets/vultr_dns_record/tasks/remove_record.yml create mode 100644 test/integration/targets/vultr_dns_record/tasks/test_fail_multiple.yml create mode 100644 test/integration/targets/vultr_dns_record/tasks/update_record.yml create mode 100644 test/integration/targets/vultr_firewall_group/aliases create mode 100644 test/integration/targets/vultr_firewall_group/defaults/main.yml create mode 100644 test/integration/targets/vultr_firewall_group/tasks/main.yml create mode 100644 test/integration/targets/vultr_firewall_group_facts/aliases create mode 100644 test/integration/targets/vultr_firewall_group_facts/defaults/main.yml create mode 100644 test/integration/targets/vultr_firewall_group_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_firewall_rule/aliases create mode 100644 test/integration/targets/vultr_firewall_rule/defaults/main.yml create mode 100644 test/integration/targets/vultr_firewall_rule/tasks/main.yml create mode 100644 test/integration/targets/vultr_network/aliases create mode 100644 test/integration/targets/vultr_network/defaults/main.yml create mode 100644 test/integration/targets/vultr_network/tasks/main.yml create mode 100644 test/integration/targets/vultr_network_facts/aliases create mode 100644 test/integration/targets/vultr_network_facts/defaults/main.yml create mode 100644 test/integration/targets/vultr_network_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_os_facts/aliases create mode 100644 test/integration/targets/vultr_os_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_plan_facts/aliases create mode 100644 test/integration/targets/vultr_plan_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_region_facts/aliases create mode 100644 test/integration/targets/vultr_region_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_server/aliases create mode 100644 test/integration/targets/vultr_server/defaults/main.yml create mode 100644 test/integration/targets/vultr_server/tasks/main.yml create mode 100644 test/integration/targets/vultr_server_facts/aliases create mode 100644 test/integration/targets/vultr_server_facts/defaults/main.yml create mode 100644 test/integration/targets/vultr_server_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_ssh_key/aliases create mode 100644 test/integration/targets/vultr_ssh_key/defaults/main.yml create mode 100644 test/integration/targets/vultr_ssh_key/tasks/main.yml create mode 100644 test/integration/targets/vultr_ssh_key_facts/aliases create mode 100644 test/integration/targets/vultr_ssh_key_facts/defaults/main.yml create mode 100644 test/integration/targets/vultr_ssh_key_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_startup_script/aliases create mode 100644 test/integration/targets/vultr_startup_script/defaults/main.yml create mode 100644 test/integration/targets/vultr_startup_script/tasks/main.yml create mode 100644 test/integration/targets/vultr_startup_script_facts/aliases create mode 100644 test/integration/targets/vultr_startup_script_facts/defaults/main.yml create mode 100644 test/integration/targets/vultr_startup_script_facts/tasks/main.yml create mode 100644 test/integration/targets/vultr_user/aliases create mode 100644 test/integration/targets/vultr_user/defaults/main.yml create mode 100644 test/integration/targets/vultr_user/tasks/main.yml create mode 100644 test/integration/targets/vultr_user_facts/aliases create mode 100644 test/integration/targets/vultr_user_facts/defaults/main.yml create mode 100644 test/integration/targets/vultr_user_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_account_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_block_storage/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_block_storage/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_block_storage_facts/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_block_storage_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_dns_domain/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_dns_domain/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_dns_domain_facts/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_dns_domain_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_dns_record/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_dns_record/tasks/create_record.yml delete mode 100644 test/legacy/roles/vultr_dns_record/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_dns_record/tasks/record.yml delete mode 100644 test/legacy/roles/vultr_dns_record/tasks/remove_record.yml delete mode 100644 test/legacy/roles/vultr_dns_record/tasks/test_fail_multiple.yml delete mode 100644 test/legacy/roles/vultr_dns_record/tasks/update_record.yml delete mode 100644 test/legacy/roles/vultr_firewall_group/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_firewall_group/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_firewall_group_facts/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_firewall_group_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_firewall_rule/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_firewall_rule/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_network/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_network/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_network_facts/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_network_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_os_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_plan_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_region_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_server/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_server/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_server_facts/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_server_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_ssh_key/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_ssh_key/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_ssh_key_facts/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_ssh_key_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_startup_script/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_startup_script/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_startup_script_facts/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_startup_script_facts/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_user/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_user/tasks/main.yml delete mode 100644 test/legacy/roles/vultr_user_facts/defaults/main.yml delete mode 100644 test/legacy/roles/vultr_user_facts/tasks/main.yml delete mode 100644 test/legacy/vultr.yml create mode 100644 test/runner/lib/cloud/vultr.py (limited to 'test') diff --git a/test/integration/cloud-config-vultr.ini.template b/test/integration/cloud-config-vultr.ini.template new file mode 100644 index 0000000000..48b82108c6 --- /dev/null +++ b/test/integration/cloud-config-vultr.ini.template @@ -0,0 +1,12 @@ +# This is the configuration template for ansible-test Vultr integration tests. +# +# You do not need this template if you are: +# +# 1) Running integration tests without using ansible-test. +# +# If you want to test against the Vultr public API, +# fill in the values below and save this file without the .template extension. +# This will cause ansible-test to use the given configuration. + +[default] +key = @KEY diff --git a/test/integration/targets/vultr_account_facts/aliases b/test/integration/targets/vultr_account_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_account_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_account_facts/tasks/main.yml b/test/integration/targets/vultr_account_facts/tasks/main.yml new file mode 100644 index 0000000000..ffe373fb99 --- /dev/null +++ b/test/integration/targets/vultr_account_facts/tasks/main.yml @@ -0,0 +1,24 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test gather vultr account facts in check mode + vultr_account_facts: + check_mode: yes + +- name: verify test gather vultr account facts in check mode + assert: + that: + - ansible_facts.vultr_account_facts.balance is defined + - ansible_facts.vultr_account_facts.last_payment_amount is defined + - ansible_facts.vultr_account_facts.last_payment_date is defined + - ansible_facts.vultr_account_facts.last_payment_amount is defined + +- name: test gather vultr account fact + vultr_account_facts: +- name: verify test gather vultr account facts + assert: + that: + - ansible_facts.vultr_account_facts.balance is defined + - ansible_facts.vultr_account_facts.last_payment_amount is defined + - ansible_facts.vultr_account_facts.last_payment_date is defined + - ansible_facts.vultr_account_facts.last_payment_amount is defined diff --git a/test/integration/targets/vultr_block_storage/aliases b/test/integration/targets/vultr_block_storage/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_block_storage/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_block_storage/defaults/main.yml b/test/integration/targets/vultr_block_storage/defaults/main.yml new file mode 100644 index 0000000000..17be33cb0f --- /dev/null +++ b/test/integration/targets/vultr_block_storage/defaults/main.yml @@ -0,0 +1,5 @@ +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_block_storage_name: "{{ vultr_resource_prefix }}-volume" +vultr_block_storage_size: 10 +vultr_block_storage_region: New Jersey diff --git a/test/integration/targets/vultr_block_storage/tasks/main.yml b/test/integration/targets/vultr_block_storage/tasks/main.yml new file mode 100644 index 0000000000..3ef16fa775 --- /dev/null +++ b/test/integration/targets/vultr_block_storage/tasks/main.yml @@ -0,0 +1,111 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup + vultr_block_storage: + name: "{{ vultr_block_storage_name }}" + state: absent + register: result +- name: verify setup + assert: + that: + - result is success + +- name: test fail if missing name + vultr_block_storage: + 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_block_storage: + name: "{{ vultr_block_storage_name }}" + register: result + ignore_errors: yes +- name: verify fail if missing params for state=present + assert: + that: + - result is failed + - 'result.msg == "state is present but all of the following are missing: size, region"' + +- name: test create block storage volume in check mode + vultr_block_storage: + name: "{{ vultr_block_storage_name }}" + size: "{{ vultr_block_storage_size }}" + region: "{{ vultr_block_storage_region }}" + register: result + check_mode: yes +- name: verify test create server in check mode + assert: + that: + - result is changed + +- name: test create block storage volume + vultr_block_storage: + name: "{{ vultr_block_storage_name }}" + size: "{{ vultr_block_storage_size }}" + region: "{{ vultr_block_storage_region }}" + register: result + +- name: verify test create block storage volume + assert: + that: + - result is changed + - result.vultr_block_storage.name == "{{ vultr_block_storage_name }}" + - result.vultr_block_storage.region == "{{ vultr_block_storage_region }}" + - result.vultr_block_storage.size == 10 + +- name: test create block storage volume idempotence + vultr_block_storage: + name: "{{ vultr_block_storage_name }}" + size: "{{ vultr_block_storage_size }}" + region: "{{ vultr_block_storage_region }}" + register: result + +- name: verify test block storage volume idempotence + assert: + that: + - result is not changed + - result.vultr_block_storage.name == "{{ vultr_block_storage_name }}" + - result.vultr_block_storage.region == "{{ vultr_block_storage_region }}" + - result.vultr_block_storage.size == 10 + +- name: test destroy block storage volume in check mode + vultr_block_storage: + name: "{{ vultr_block_storage_name }}" + state: absent + register: result + check_mode: yes + +- name: verify test destroy block storage volume in check mode + assert: + that: + - result is changed + - result.vultr_block_storage.name == "{{ vultr_block_storage_name }}" + +- name: test destroy block storage volume + vultr_block_storage: + name: "{{ vultr_block_storage_name }}" + state: absent + register: result + +- name: verify test destroy an existing block storage volume + assert: + that: + - result is changed + - result.vultr_block_storage.name == "{{ vultr_block_storage_name }}" + +- name: test destroy an existing block storage volume idempotence + vultr_block_storage: + name: "{{ vultr_block_storage_name }}" + state: absent + register: result + +- name: verify test destroy an existing block storage volume idempotence + assert: + that: + - result is not changed diff --git a/test/integration/targets/vultr_block_storage_facts/aliases b/test/integration/targets/vultr_block_storage_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_block_storage_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_block_storage_facts/defaults/main.yml b/test/integration/targets/vultr_block_storage_facts/defaults/main.yml new file mode 100644 index 0000000000..17be33cb0f --- /dev/null +++ b/test/integration/targets/vultr_block_storage_facts/defaults/main.yml @@ -0,0 +1,5 @@ +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_block_storage_name: "{{ vultr_resource_prefix }}-volume" +vultr_block_storage_size: 10 +vultr_block_storage_region: New Jersey diff --git a/test/integration/targets/vultr_block_storage_facts/tasks/main.yml b/test/integration/targets/vultr_block_storage_facts/tasks/main.yml new file mode 100644 index 0000000000..40fc0e1d53 --- /dev/null +++ b/test/integration/targets/vultr_block_storage_facts/tasks/main.yml @@ -0,0 +1,33 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test gather vultr block storage volume facts - empty resource + vultr_block_storage_facts: + +- name: Create the block storage volume + vultr_block_storage: + name: '{{ vultr_block_storage_name }}' + size: '{{ vultr_block_storage_size }}' + region: '{{ vultr_block_storage_region }}' + +- name: test gather vultr block storage volume facts in check mode + vultr_block_storage_facts: + check_mode: yes + +- name: verify test gather vultr block storage volume facts in check mode + assert: + that: + - ansible_facts.vultr_block_storage_facts|selectattr('name','equalto','{{ vultr_block_storage_name }}') | list | count == 1 + +- name: test gather vultr block storage volume facts + vultr_block_storage_facts: + +- name: verify test gather vultr block storage volume facts + assert: + that: + - ansible_facts.vultr_block_storage_facts|selectattr('name','equalto','{{ vultr_block_storage_name }}') | list | count == 1 + +- name: Delete the block storage volume + vultr_block_storage: + name: '{{ vultr_block_storage_name }}' + state: absent diff --git a/test/integration/targets/vultr_dns_domain/aliases b/test/integration/targets/vultr_dns_domain/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_dns_domain/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_dns_domain/defaults/main.yml b/test/integration/targets/vultr_dns_domain/defaults/main.yml new file mode 100644 index 0000000000..45cbf7287c --- /dev/null +++ b/test/integration/targets/vultr_dns_domain/defaults/main.yml @@ -0,0 +1,5 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_dns_domain_name: "{{ vultr_resource_prefix }}-example-ansible.com" diff --git a/test/integration/targets/vultr_dns_domain/tasks/main.yml b/test/integration/targets/vultr_dns_domain/tasks/main.yml new file mode 100644 index 0000000000..706783978a --- /dev/null +++ b/test/integration/targets/vultr_dns_domain/tasks/main.yml @@ -0,0 +1,99 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup + vultr_dns_domain: + name: "{{ vultr_dns_domain_name }}" + state: absent + register: result +- name: verify setup + assert: + that: + - result is success + +- name: test fail if missing name + vultr_dns_domain: + 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_dns_domain: + name: "{{ vultr_dns_domain_name }}" + register: result + ignore_errors: yes +- name: verify fail if missing params for state=present + assert: + that: + - result is failed + - 'result.msg == "state is present but all of the following are missing: server_ip"' + +- name: test create dns domain in check mode + vultr_dns_domain: + name: "{{ vultr_dns_domain_name }}" + server_ip: 10.10.10.10 + register: result + check_mode: yes +- name: verify test create dns domain in check mode + assert: + that: + - result is changed + +- name: test create dns domain + vultr_dns_domain: + name: "{{ vultr_dns_domain_name }}" + server_ip: 10.10.10.10 + register: result +- name: verify test create dns domain + assert: + that: + - result is changed + - result.vultr_dns_domain.name == '{{ vultr_dns_domain_name }}' + +- name: test create dns domain idempotence + vultr_dns_domain: + name: "{{ vultr_dns_domain_name }}" + server_ip: 10.10.10.10 + register: result +- name: verify test create dns domain idempotence + assert: + that: + - result is not changed + - result.vultr_dns_domain.name == '{{ vultr_dns_domain_name }}' + +- name: test absent dns domain in check mode + vultr_dns_domain: + name: "{{ vultr_dns_domain_name }}" + state: absent + register: result + check_mode: yes +- name: verify test absent dns domain in check mode + assert: + that: + - result is changed + - result.vultr_dns_domain.name == '{{ vultr_dns_domain_name }}' + +- name: test absent dns domain + vultr_dns_domain: + name: "{{ vultr_dns_domain_name }}" + state: absent + register: result +- name: verify test absent dns domain + assert: + that: + - result is changed + - result.vultr_dns_domain.name == '{{ vultr_dns_domain_name }}' + +- name: test absent dns domain idempotence + vultr_dns_domain: + name: "{{ vultr_dns_domain_name }}" + state: absent + register: result +- name: verify test absent dns domain idempotence + assert: + that: + - result is not changed diff --git a/test/integration/targets/vultr_dns_domain_facts/aliases b/test/integration/targets/vultr_dns_domain_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_dns_domain_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_dns_domain_facts/defaults/main.yml b/test/integration/targets/vultr_dns_domain_facts/defaults/main.yml new file mode 100644 index 0000000000..a452ee128d --- /dev/null +++ b/test/integration/targets/vultr_dns_domain_facts/defaults/main.yml @@ -0,0 +1,4 @@ +--- +vultr_resource_prefix: "vultr-test-prefix" +dns_domain_name: "{{ vultr_resource_prefix }}-example-ansible.com" +dns_domain_server_ip: 104.24.16.59 diff --git a/test/integration/targets/vultr_dns_domain_facts/tasks/main.yml b/test/integration/targets/vultr_dns_domain_facts/tasks/main.yml new file mode 100644 index 0000000000..31d13dfe4d --- /dev/null +++ b/test/integration/targets/vultr_dns_domain_facts/tasks/main.yml @@ -0,0 +1,30 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: Create the record + vultr_dns_domain: + name: '{{ dns_domain_name }}' + server_ip: '{{ dns_domain_server_ip }}' + +- name: test gather vultr dns domain facts in check mode + vultr_dns_domain_facts: + check_mode: yes + +- name: verify test gather vultr dns domain facts in check mode + assert: + that: + - ansible_facts.vultr_dns_domain_facts|selectattr('domain','equalto','{{ dns_domain_name }}') | list | count == 1 + +- name: test gather vultr dns domain facts + vultr_dns_domain_facts: + +- name: verify test gather vultr dns domain facts + assert: + that: + - ansible_facts.vultr_dns_domain_facts|selectattr('domain','equalto','{{ dns_domain_name }}') | list | count == 1 + +- name: Delete the record + vultr_dns_domain: + name: '{{ dns_domain_name }}' + server_ip: '{{ dns_domain_server_ip }}' + state: absent diff --git a/test/integration/targets/vultr_dns_record/aliases b/test/integration/targets/vultr_dns_record/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_dns_record/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_dns_record/defaults/main.yml b/test/integration/targets/vultr_dns_record/defaults/main.yml new file mode 100644 index 0000000000..fb52cfd955 --- /dev/null +++ b/test/integration/targets/vultr_dns_record/defaults/main.yml @@ -0,0 +1,39 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_dns_domain_name: "{{ vultr_resource_prefix }}-example-ansible.com" +vultr_dns_record_items: +# Single A record +- name: test-www + data: 10.10.10.10 + ttl: 400 + update_data: 10.10.10.11 + update_ttl: 200 + +# Multiple A records +- name: test-www-multiple + data: 10.10.11.10 + update_data: 10.10.11.11 + multiple: true + update_ttl: 600 + +# CNAME +- name: test-cname + data: www.ansible.com + update_data: www.ansible.ch + record_type: CNAME + +# Single Multiple MX record +- data: mx1.example-ansible.com + priority: 10 + update_priority: 20 + record_type: MX + +# Multiple MX records +- data: mx2.example-ansible.com + priority: 10 + update_data: mx1.example-ansible.com + update_priority: 20 + record_type: MX + multiple: true diff --git a/test/integration/targets/vultr_dns_record/tasks/create_record.yml b/test/integration/targets/vultr_dns_record/tasks/create_record.yml new file mode 100644 index 0000000000..5f33eb1405 --- /dev/null +++ b/test/integration/targets/vultr_dns_record/tasks/create_record.yml @@ -0,0 +1,67 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test setup dns record + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + record_type: "{{ item.record_type | default(omit) }}" + state: absent + register: result +- name: verify test setup dns record + assert: + that: + - result is successful + +- name: test create a dns record in check mode + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.data }}" + ttl: "{{ item.ttl | default(omit) }}" + record_type: "{{ item.record_type | default(omit) }}" + priority: "{{ item.priority | default(omit) }}" + check_mode: yes + register: result +- name: verify test create a dns record in check mode + assert: + that: + - result is changed + +- name: test create a dns record + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.data }}" + ttl: "{{ item.ttl | default(omit) }}" + record_type: "{{ item.record_type | default(omit) }}" + priority: "{{ item.priority | default(omit) }}" + register: result +- name: verify test create a dns record + assert: + that: + - result is changed + - result.vultr_dns_record.data == "{{ item.data }}" + - result.vultr_dns_record.name == "{{ item.name | default("") }}" + - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" + - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} + - result.vultr_dns_record.priority == {{ item.priority | default(0) }} + +- name: test create a dns record idempotence + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.data }}" + ttl: "{{ item.ttl | default(omit) }}" + record_type: "{{ item.record_type | default(omit) }}" + priority: "{{ item.priority | default(omit) }}" + register: result +- name: verify test create a dns record idempotence + assert: + that: + - result is not changed + - result.vultr_dns_record.data == "{{ item.data }}" + - result.vultr_dns_record.name == "{{ item.name | default("") }}" + - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" + - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} + - result.vultr_dns_record.priority == {{ item.priority | default(0) }} diff --git a/test/integration/targets/vultr_dns_record/tasks/main.yml b/test/integration/targets/vultr_dns_record/tasks/main.yml new file mode 100644 index 0000000000..19419efcb5 --- /dev/null +++ b/test/integration/targets/vultr_dns_record/tasks/main.yml @@ -0,0 +1,17 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup dns domain + vultr_dns_domain: + name: "{{ vultr_dns_domain_name }}" + server_ip: 10.10.10.10 + register: result +- name: verify setup dns domain + assert: + that: + - result is successful + +- include_tasks: test_fail_multiple.yml + +- include_tasks: record.yml + with_items: "{{ vultr_dns_record_items }}" diff --git a/test/integration/targets/vultr_dns_record/tasks/record.yml b/test/integration/targets/vultr_dns_record/tasks/record.yml new file mode 100644 index 0000000000..c8c3926dc0 --- /dev/null +++ b/test/integration/targets/vultr_dns_record/tasks/record.yml @@ -0,0 +1,6 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- include_tasks: create_record.yml +- include_tasks: update_record.yml +- include_tasks: remove_record.yml diff --git a/test/integration/targets/vultr_dns_record/tasks/remove_record.yml b/test/integration/targets/vultr_dns_record/tasks/remove_record.yml new file mode 100644 index 0000000000..e776a492e5 --- /dev/null +++ b/test/integration/targets/vultr_dns_record/tasks/remove_record.yml @@ -0,0 +1,114 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test remove a dns record in check mode + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.update_data | default(item.data) }}" + record_type: "{{ item.record_type | default(omit) }}" + multiple: "{{ item.multiple | default(omit) }}" + state: absent + check_mode: yes + register: result +- name: verify test remove a dns record in check mode + assert: + that: + - result is changed + - result.vultr_dns_record.data == "{{ item.update_data | default(item.data) }}" + - result.vultr_dns_record.name == "{{ item.name | default("") }}" + - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" + - result.vultr_dns_record.ttl == {{ item.update_ttl | default(300) }} + - result.vultr_dns_record.priority == {{ item.update_priority | default(item.priority | default(0)) }} + +- name: test remove second dns record in check mode + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.data | default(item.data) }}" + record_type: "{{ item.record_type | default(omit) }}" + multiple: "{{ item.multiple | default(omit) }}" + state: absent + check_mode: yes + register: result + when: item.multiple is defined and item.multiple == true +- name: verify test remove a dns record in check mode + assert: + that: + - result is changed + - result.vultr_dns_record.data == "{{ item.data | default(item.data) }}" + - result.vultr_dns_record.name == "{{ item.name | default("") }}" + - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" + - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} + - result.vultr_dns_record.priority == {{ item.priority | default(0) }} + when: item.multiple is defined and item.multiple == true + +- name: test remove a dns record + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.update_data | default(item.data) }}" + record_type: "{{ item.record_type | default(omit) }}" + multiple: "{{ item.multiple | default(omit) }}" + state: absent + register: result +- name: verify test remove a dns record + assert: + that: + - result is changed + - result.vultr_dns_record.data == "{{ item.update_data | default(item.data) }}" + - result.vultr_dns_record.name == "{{ item.name | default("") }}" + - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" + - result.vultr_dns_record.ttl == {{ item.update_ttl | default(300) }} + - result.vultr_dns_record.priority == {{ item.update_priority | default(item.priority | default(0)) }} + +- name: test remove second dns record + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.data }}" + record_type: "{{ item.record_type | default(omit) }}" + multiple: "{{ item.multiple | default(omit) }}" + state: absent + register: result + when: item.multiple is defined and item.multiple == true +- name: verify test remove a dns record + assert: + that: + - result is changed + - result.vultr_dns_record.data == "{{ item.data }}" + - result.vultr_dns_record.name == "{{ item.name | default("") }}" + - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" + - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} + - result.vultr_dns_record.priority == {{ item.priority | default(0) }} + when: item.multiple is defined and item.multiple == true + +- name: test remove a dns record idempotence + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.update_data | default(item.data) }}" + record_type: "{{ item.record_type | default(omit) }}" + multiple: "{{ item.multiple | default(omit) }}" + state: absent + register: result +- name: verify test remove a dns record idempotence + assert: + that: + - result is not changed + +- name: test remove second dns record idempotence + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.data }}" + record_type: "{{ item.record_type | default(omit) }}" + multiple: "{{ item.multiple | default(omit) }}" + state: absent + register: result + when: item.multiple is defined and item.multiple == true +- name: verify test remove a dns record idempotence + assert: + that: + - result is not changed + when: item.multiple is defined and item.multiple == true diff --git a/test/integration/targets/vultr_dns_record/tasks/test_fail_multiple.yml b/test/integration/targets/vultr_dns_record/tasks/test_fail_multiple.yml new file mode 100644 index 0000000000..a41d9db57e --- /dev/null +++ b/test/integration/targets/vultr_dns_record/tasks/test_fail_multiple.yml @@ -0,0 +1,78 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup first dns record + vultr_dns_record: + name: test-multiple + domain: "{{ vultr_dns_domain_name }}" + data: 1.2.3.4 + multiple: yes + register: result +- name: verify setup a dns record + assert: + that: + - result is successful + +- name: setup second dns record + vultr_dns_record: + name: test-multiple + domain: "{{ vultr_dns_domain_name }}" + data: 1.2.3.5 + multiple: yes + register: result +- name: verify setup second dns record + assert: + that: + - result is successful + +- name: test-multiple fail multiple identical records found + vultr_dns_record: + name: test-multiple + domain: "{{ vultr_dns_domain_name }}" + state: absent + register: result + ignore_errors: yes +- name: verify test fail multiple identical records found + assert: + that: + - result is failed + +- name: test-multiple fail absent multiple identical records but not data + vultr_dns_record: + name: test-multiple + domain: "{{ vultr_dns_domain_name }}" + state: absent + multiple: yes + register: result + ignore_errors: yes +- name: verify test-multiple success absent multiple identical records found + assert: + that: + - result is failed + - "result.msg == 'multiple is True but all of the following are missing: data'" + +- name: test-multiple success absent multiple identical records second found + vultr_dns_record: + name: test-multiple + domain: "{{ vultr_dns_domain_name }}" + data: 1.2.3.5 + state: absent + multiple: yes + register: result +- name: verify test-multiple success absent multiple identical records second found + assert: + that: + - result is changed + +- name: test-multiple success absent multiple identical records first found + vultr_dns_record: + name: test-multiple + domain: "{{ vultr_dns_domain_name }}" + data: 1.2.3.4 + state: absent + multiple: yes + register: result +- name: verify test-multiple success absent multiple identical records firstfound + assert: + that: + - result is changed diff --git a/test/integration/targets/vultr_dns_record/tasks/update_record.yml b/test/integration/targets/vultr_dns_record/tasks/update_record.yml new file mode 100644 index 0000000000..204ebda492 --- /dev/null +++ b/test/integration/targets/vultr_dns_record/tasks/update_record.yml @@ -0,0 +1,70 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test update or add another dns record in check mode + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.update_data | default(item.data) }}" + ttl: "{{ item.update_ttl | default(omit) }}" + record_type: "{{ item.record_type | default(omit) }}" + priority: "{{ item.update_priority | default(omit) }}" + multiple: "{{ item.multiple | default(omit) }}" + check_mode: yes + register: result +- name: verify test updatein check mode + assert: + that: + - result is changed + - result.vultr_dns_record.data == "{{ item.data }}" + - result.vultr_dns_record.name == "{{ item.name | default("") }}" + - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" + - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} + - result.vultr_dns_record.priority == {{ item.priority | default(0) }} + when: item.multiple is undefined or item.multiple == false +- name: verify test add another dns record in check mode + assert: + that: + - result is changed + - not result.vultr_dns_record + when: item.multiple is defined and item.multiple == true + +- name: test update or add another dns record + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.update_data | default(item.data) }}" + ttl: "{{ item.update_ttl | default(omit) }}" + record_type: "{{ item.record_type | default(omit) }}" + priority: "{{ item.update_priority | default(omit) }}" + multiple: "{{ item.multiple | default(omit) }}" + register: result +- name: verify test update a dns record + assert: + that: + - result is changed + - result.vultr_dns_record.data == "{{ item.update_data | default(item.data) }}" + - result.vultr_dns_record.name == "{{ item.name | default("") }}" + - result.vultr_dns_record.ttl == {{ item.update_ttl | default(300) }} + - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" + - result.vultr_dns_record.priority == {{ item.update_priority | default(0) }} + +- name: test update or add another dns record idempotence + vultr_dns_record: + name: "{{ item.name | default(omit) }}" + domain: "{{ vultr_dns_domain_name }}" + data: "{{ item.update_data | default(item.data) }}" + ttl: "{{ item.update_ttl | default(omit) }}" + record_type: "{{ item.record_type | default(omit) }}" + priority: "{{ item.update_priority | default(omit) }}" + multiple: "{{ item.multiple | default(omit) }}" + register: result +- name: verify test update a dns record idempotence + assert: + that: + - result is not changed + - result.vultr_dns_record.data == "{{ item.update_data | default(item.data) }}" + - result.vultr_dns_record.name == "{{ item.name | default("") }}" + - result.vultr_dns_record.ttl == {{ item.update_ttl | default(300) }} + - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" + - result.vultr_dns_record.priority == {{ item.update_priority | default(0) }} diff --git a/test/integration/targets/vultr_firewall_group/aliases b/test/integration/targets/vultr_firewall_group/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_firewall_group/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_firewall_group/defaults/main.yml b/test/integration/targets/vultr_firewall_group/defaults/main.yml new file mode 100644 index 0000000000..7057b46678 --- /dev/null +++ b/test/integration/targets/vultr_firewall_group/defaults/main.yml @@ -0,0 +1,5 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_firewall_group_name: "{{ vultr_resource_prefix }}_firewall-group" diff --git a/test/integration/targets/vultr_firewall_group/tasks/main.yml b/test/integration/targets/vultr_firewall_group/tasks/main.yml new file mode 100644 index 0000000000..577457c2d5 --- /dev/null +++ b/test/integration/targets/vultr_firewall_group/tasks/main.yml @@ -0,0 +1,86 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup + vultr_firewall_group: + name: "{{ vultr_firewall_group_name }}" + state: absent + register: result +- name: verify setup + assert: + that: + - result is success + +- name: test fail if missing name + vultr_firewall_group: + 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 create firewall group in check mode + vultr_firewall_group: + name: "{{ vultr_firewall_group_name }}" + register: result + check_mode: yes +- name: verify test create firewall group in check mode + assert: + that: + - result is changed + +- name: test create firewall group + vultr_firewall_group: + name: "{{ vultr_firewall_group_name }}" + register: result +- name: verify test create firewall group + assert: + that: + - result is changed + - result.vultr_firewall_group.name == '{{ vultr_firewall_group_name }}' + +- name: test create firewall group idempotence + vultr_firewall_group: + name: "{{ vultr_firewall_group_name }}" + + register: result +- name: verify test create firewall group idempotence + assert: + that: + - result is not changed + - result.vultr_firewall_group.name == '{{ vultr_firewall_group_name }}' + +- name: test absent firewall group in check mode + vultr_firewall_group: + name: "{{ vultr_firewall_group_name }}" + state: absent + register: result + check_mode: yes +- name: verify test absent firewall group in check mode + assert: + that: + - result is changed + - result.vultr_firewall_group.name == '{{ vultr_firewall_group_name }}' + +- name: test absent firewall group + vultr_firewall_group: + name: "{{ vultr_firewall_group_name }}" + state: absent + register: result +- name: verify test absent firewall group + assert: + that: + - result is changed + - result.vultr_firewall_group.name == '{{ vultr_firewall_group_name }}' + +- name: test absent firewall group idempotence + vultr_firewall_group: + name: "{{ vultr_firewall_group_name }}" + state: absent + register: result +- name: verify test absent firewall group idempotence + assert: + that: + - result is not changed diff --git a/test/integration/targets/vultr_firewall_group_facts/aliases b/test/integration/targets/vultr_firewall_group_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_firewall_group_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_firewall_group_facts/defaults/main.yml b/test/integration/targets/vultr_firewall_group_facts/defaults/main.yml new file mode 100644 index 0000000000..e545fe42e1 --- /dev/null +++ b/test/integration/targets/vultr_firewall_group_facts/defaults/main.yml @@ -0,0 +1,3 @@ +--- +vultr_resource_prefix: "vultr-test-prefix" +firewall_group_name: "{{ vultr_resource_prefix }}_firewall-group" diff --git a/test/integration/targets/vultr_firewall_group_facts/tasks/main.yml b/test/integration/targets/vultr_firewall_group_facts/tasks/main.yml new file mode 100644 index 0000000000..4d7f1ced0a --- /dev/null +++ b/test/integration/targets/vultr_firewall_group_facts/tasks/main.yml @@ -0,0 +1,31 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test gather vultr firewall group facts - empty resources + vultr_firewall_group_facts: + +- name: Create the firewall group + vultr_firewall_group: + name: '{{ firewall_group_name }}' + +- name: test gather vultr firewall group facts in check mode + vultr_firewall_group_facts: + check_mode: yes + +- name: verify test gather vultr firewall group facts in check mode + assert: + that: + - ansible_facts.vultr_firewall_group_facts|selectattr('description','equalto','{{ firewall_group_name }}') | list | count == 1 + +- name: test gather vultr firewall group facts + vultr_firewall_group_facts: + +- name: verify test gather vultr firewall group facts + assert: + that: + - ansible_facts.vultr_firewall_group_facts|selectattr('description','equalto','{{ firewall_group_name }}') | list | count == 1 + +- name: Delete the firewall group + vultr_firewall_group: + name: '{{ firewall_group_name }}' + state: absent diff --git a/test/integration/targets/vultr_firewall_rule/aliases b/test/integration/targets/vultr_firewall_rule/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_firewall_rule/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_firewall_rule/defaults/main.yml b/test/integration/targets/vultr_firewall_rule/defaults/main.yml new file mode 100644 index 0000000000..7057b46678 --- /dev/null +++ b/test/integration/targets/vultr_firewall_rule/defaults/main.yml @@ -0,0 +1,5 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_firewall_group_name: "{{ vultr_resource_prefix }}_firewall-group" diff --git a/test/integration/targets/vultr_firewall_rule/tasks/main.yml b/test/integration/targets/vultr_firewall_rule/tasks/main.yml new file mode 100644 index 0000000000..44097434b3 --- /dev/null +++ b/test/integration/targets/vultr_firewall_rule/tasks/main.yml @@ -0,0 +1,475 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup firewall group + vultr_firewall_group: + name: "{{ vultr_firewall_group_name }}" + register: result +- name: verify setup firewall group + assert: + that: + - result is success + +- name: setup firewall rule tcp + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + state: absent + register: result +- name: verify setup firewal rule + assert: + that: + - result is success + +- name: setup firewall rule udp + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + state: absent + register: result +- name: verify setup firewal rule udp + assert: + that: + - result is success + +- name: setup firewall rule udp v6 + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + ip_version: v6 + state: absent + register: result +- name: verify setup firewal rule udp v6 + assert: + that: + - result is success + +- name: setup firewall rule port range + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + start_port: 8000 + end_port: 8080 + protocol: tcp + cidr: 10.100.12.0/24 + state: absent + register: result + tags: tmp +- name: verify setup firewal rule port range + assert: + that: + - result is success + +- name: setup firewall rule icmp + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + protocol: icmp + state: absent + register: result +- name: verify setup firewal rule + assert: + that: + - result is success + +- name: test fail if missing group + vultr_firewall_rule: + register: result + ignore_errors: yes +- name: verify test fail if missing group + assert: + that: + - result is failed + - 'result.msg == "missing required arguments: group"' + +- name: test create firewall rule tcp in check mode + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + register: result + check_mode: true +- name: verify test create firewall rule tcp in check mode + assert: + that: + - result is changed + +- name: test create firewall rule tcp + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + register: result +- name: verify test create firewall rule tcp + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "tcp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "0.0.0.0/0" + +- name: test create firewall rule tcp idempotence + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + register: result +- name: verify test create firewall rule tcp idempotence + assert: + that: + - result is not changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "tcp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "0.0.0.0/0" + +- name: test create firewall rule udp in check mode + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + register: result + check_mode: true +- name: verify test create firewall rule udp in check mode + assert: + that: + - result is changed + +- name: test create firewall rule udp + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + register: result +- name: verify test create firewall rule udp + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "udp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "0.0.0.0/0" + +- name: test create firewall rule udp idempotence + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + register: result +- name: verify test create firewall rule udp idempotence + assert: + that: + - result is not changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "udp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "0.0.0.0/0" + +- name: test create firewall rule udp v6 in check mode + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + ip_version: v6 + register: result + check_mode: true +- name: verify test create firewall rule udp v6 in check mode + assert: + that: + - result is changed + +- name: test create firewall rule udp v6 + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + ip_version: v6 + register: result +- name: verify test create firewall rule udp v6 + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "udp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "::/0" + +- name: test create firewall rule udp v6 idempotence + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + ip_version: v6 + register: result +- name: verify test create firewall rule udp v6 idempotence + assert: + that: + - result is not changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "udp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "::/0" + +- name: test create firewall rule port range in check mode + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + start_port: 8000 + end_port: 8080 + protocol: tcp + cidr: 10.100.12.0/24 + register: result + check_mode: true +- name: verify test create firewall rule port range in check mode + assert: + that: + - result is changed + +- name: test create firewall rule port range + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + start_port: 8000 + end_port: 8080 + protocol: tcp + cidr: 10.100.12.0/24 + register: result +- name: verify test create firewall rule port range + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "tcp" + - result.vultr_firewall_rule.start_port == 8000 + - result.vultr_firewall_rule.end_port == 8080 + - result.vultr_firewall_rule.cidr == "10.100.12.0/24" + +- name: test create firewall rule port range idempotence + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + start_port: 8000 + end_port: 8080 + protocol: tcp + cidr: 10.100.12.0/24 + register: result +- name: test create firewall rule port range idempotence + assert: + that: + - result is not changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "tcp" + - result.vultr_firewall_rule.start_port == 8000 + - result.vultr_firewall_rule.end_port == 8080 + - result.vultr_firewall_rule.cidr == "10.100.12.0/24" + +- name: test create firewall rule icmp in check mode + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + protocol: icmp + register: result + check_mode: true +- name: test create firewall rule icmp in check mode + assert: + that: + - result is changed + +- name: test create firewall rule icmp + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + protocol: icmp + register: result +- name: test create firewall rule icmp + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "icmp" + +- name: test create firewall rule icmp idempotence + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + protocol: icmp + register: result +- name: test create firewall rule icmp idempotence + assert: + that: + - result is not changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "icmp" + +- name: test remove firewall rule icmp in check mode + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + protocol: icmp + state: absent + register: result + check_mode: true +- name: test remove firewall rule icmp in check mode + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "icmp" + +- name: test remove firewall rule icmp + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + protocol: icmp + state: absent + register: result +- name: test remove firewall rule icmp + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "icmp" + +- name: test remove firewall rule icmp idempotence + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + protocol: icmp + state: absent + register: result +- name: test remove firewall rule icmp idempotence + assert: + that: + - result is not changed + +- name: test remove firewall rule tcp in check mode + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + state: absent + register: result + check_mode: true +- name: verify test remove firewall rule tcp in check mode + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "tcp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "0.0.0.0/0" + +- name: test remove firewall rule tcp + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + state: absent + register: result +- name: verify test remove firewall rule tcp + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "tcp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "0.0.0.0/0" + +- name: test remove firewall rule tcp idempotence + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + state: absent + register: result +- name: verify test remove firewall rule tcp idempotence + assert: + that: + - result is not changed + +- name: test remove firewall rule udp v6 in check mode + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + ip_version: v6 + state: absent + register: result + check_mode: true +- name: verify test remove firewall rule udp v6 in check mode + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "udp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "::/0" + +- name: test remove firewall rule udp v6 + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + ip_version: v6 + state: absent + register: result +- name: verify test remove firewall rule udp v6 + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "udp" + - result.vultr_firewall_rule.start_port == 53 + - result.vultr_firewall_rule.cidr == "::/0" + +- name: test remove firewall rule udp v6 idempotence + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + port: 53 + protocol: udp + ip_version: v6 + state: absent + register: result +- name: verify test remove firewall rule udp v6 idempotence + assert: + that: + - result is not changed + +- name: test remove firewall rule port range in check mode + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + start_port: 8000 + end_port: 8080 + protocol: tcp + cidr: 10.100.12.0/24 + state: absent + register: result + check_mode: true +- name: verify test remove firewall rule port range in check mode + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "tcp" + - result.vultr_firewall_rule.start_port == 8000 + - result.vultr_firewall_rule.end_port == 8080 + - result.vultr_firewall_rule.cidr == "10.100.12.0/24" + +- name: test remove firewall rule port range + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + start_port: 8000 + end_port: 8080 + protocol: tcp + cidr: 10.100.12.0/24 + state: absent + register: result +- name: verify test remove firewall rule port range + assert: + that: + - result is changed + - result.vultr_firewall_rule.action == "accept" + - result.vultr_firewall_rule.protocol == "tcp" + - result.vultr_firewall_rule.start_port == 8000 + - result.vultr_firewall_rule.end_port == 8080 + - result.vultr_firewall_rule.cidr == "10.100.12.0/24" + +- name: test remove firewall rule port range idempotence + vultr_firewall_rule: + group: "{{ vultr_firewall_group_name }}" + start_port: 8000 + end_port: 8080 + protocol: tcp + cidr: 10.100.12.0/24 + state: absent + register: result +- name: verify test remove firewall rule port range idempotence + assert: + that: + - result is not changed diff --git a/test/integration/targets/vultr_network/aliases b/test/integration/targets/vultr_network/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_network/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_network/defaults/main.yml b/test/integration/targets/vultr_network/defaults/main.yml new file mode 100644 index 0000000000..a3d9e59264 --- /dev/null +++ b/test/integration/targets/vultr_network/defaults/main.yml @@ -0,0 +1,5 @@ +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_network_name: "{{ vultr_resource_prefix }}_network" +vultr_network_cidr: 192.168.42.0/24 +vultr_network_region: New Jersey diff --git a/test/integration/targets/vultr_network/tasks/main.yml b/test/integration/targets/vultr_network/tasks/main.yml new file mode 100644 index 0000000000..7a7b0b1b28 --- /dev/null +++ b/test/integration/targets/vultr_network/tasks/main.yml @@ -0,0 +1,113 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup + vultr_network: + name: "{{ vultr_network_name }}" + state: absent + register: result +- name: verify setup + assert: + that: + - result is success + +- name: test fail if missing name + vultr_network: + 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_network: + name: "{{ vultr_network_name }}" + register: result + ignore_errors: yes +- name: verify fail if missing params for state=present + assert: + that: + - result is failed + - 'result.msg == "state is present but all of the following are missing: cidr, region"' + +- name: test create network in check mode + vultr_network: + name: "{{ vultr_network_name }}" + cidr: "{{ vultr_network_cidr }}" + region: "{{ vultr_network_region }}" + register: result + check_mode: yes +- name: verify test create server in check mode + assert: + that: + - result is changed + +- name: test create network + vultr_network: + name: "{{ vultr_network_name }}" + cidr: "{{ vultr_network_cidr }}" + region: "{{ vultr_network_region }}" + register: result + +- name: verify test create network + assert: + that: + - result is changed + - result.vultr_network.name == "{{ vultr_network_name }}" + - result.vultr_network.region == "{{ vultr_network_region }}" + - result.vultr_network.v4_subnet == "{{ vultr_network_cidr.split('/')[0] }}" + - result.vultr_network.v4_subnet_mask == 24 + +- name: test create network idempotence + vultr_network: + name: "{{ vultr_network_name }}" + cidr: "{{ vultr_network_cidr }}" + region: "{{ vultr_network_region }}" + register: result + +- name: verify test network idempotence + assert: + that: + - result is not changed + - result.vultr_network.name == "{{ vultr_network_name }}" + - result.vultr_network.region == "{{ vultr_network_region }}" + - result.vultr_network.v4_subnet == "{{ vultr_network_cidr.split('/')[0] }}" + - result.vultr_network.v4_subnet_mask == 24 + +- name: test destroy network in check mode + vultr_network: + name: "{{ vultr_network_name }}" + state: absent + register: result + check_mode: yes + +- name: verify test destroy network in check mode + assert: + that: + - result is changed + - result.vultr_network.name == "{{ vultr_network_name }}" + +- name: test destroy network volume + vultr_network: + name: "{{ vultr_network_name }}" + state: absent + register: result + +- name: verify test destroy an existing network + assert: + that: + - result is changed + - result.vultr_network.name == "{{ vultr_network_name }}" + +- name: test destroy an existing network idempotence + vultr_network: + name: "{{ vultr_network_name }}" + state: absent + register: result + +- name: verify test destroy an existing network idempotence + assert: + that: + - result is not changed diff --git a/test/integration/targets/vultr_network_facts/aliases b/test/integration/targets/vultr_network_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_network_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_network_facts/defaults/main.yml b/test/integration/targets/vultr_network_facts/defaults/main.yml new file mode 100644 index 0000000000..28e3e705b3 --- /dev/null +++ b/test/integration/targets/vultr_network_facts/defaults/main.yml @@ -0,0 +1,5 @@ +--- +vultr_resource_prefix: "vultr_test_prefix" +vultr_network_name: "{{ vultr_resource_prefix }}_network" +vultr_network_cidr: 192.168.42.0/24 +vultr_network_region: New Jersey diff --git a/test/integration/targets/vultr_network_facts/tasks/main.yml b/test/integration/targets/vultr_network_facts/tasks/main.yml new file mode 100644 index 0000000000..3f05e75179 --- /dev/null +++ b/test/integration/targets/vultr_network_facts/tasks/main.yml @@ -0,0 +1,33 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test gather vultr network facts - empty resources + vultr_network_facts: + +- name: Create the network + vultr_network: + name: '{{ vultr_network_name }}' + cidr: '{{ vultr_network_cidr }}' + region: '{{ vultr_network_region }}' + +- name: test gather vultr network facts in check mode + vultr_network_facts: + check_mode: yes + +- name: verify test gather vultr network facts in check mode + assert: + that: + - ansible_facts.vultr_network_facts|selectattr('name','equalto','{{ vultr_network_name }}') | list | count == 1 + +- name: test gather vultr network facts + vultr_network_facts: + +- name: verify test gather vultr network facts + assert: + that: + - ansible_facts.vultr_network_facts|selectattr('name','equalto','{{ vultr_network_name }}') | list | count == 1 + +- name: Delete the script + vultr_network: + name: '{{ vultr_network_name }}' + state: absent diff --git a/test/integration/targets/vultr_os_facts/aliases b/test/integration/targets/vultr_os_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_os_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_os_facts/tasks/main.yml b/test/integration/targets/vultr_os_facts/tasks/main.yml new file mode 100644 index 0000000000..ca920aab00 --- /dev/null +++ b/test/integration/targets/vultr_os_facts/tasks/main.yml @@ -0,0 +1,19 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test gather vultr os facts in check mode + vultr_os_facts: + check_mode: yes + +- name: verify test gather vultr os facts in check mode + assert: + that: + - ansible_facts.vultr_os_facts|selectattr('name','equalto', 'CentOS 7 x64') | list | count == 1 + +- name: test gather vultr os fact + vultr_os_facts: + +- name: verify test gather vultr os facts + assert: + that: + - ansible_facts.vultr_os_facts|selectattr('name','equalto', 'CentOS 7 x64') | list | count == 1 diff --git a/test/integration/targets/vultr_plan_facts/aliases b/test/integration/targets/vultr_plan_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_plan_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_plan_facts/tasks/main.yml b/test/integration/targets/vultr_plan_facts/tasks/main.yml new file mode 100644 index 0000000000..8efe5b738a --- /dev/null +++ b/test/integration/targets/vultr_plan_facts/tasks/main.yml @@ -0,0 +1,19 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test gather vultr plan facts in check mode + vultr_plan_facts: + check_mode: yes + +- name: verify test gather vultr plan facts in check mode + assert: + that: + - ansible_facts.vultr_plan_facts|selectattr('name','equalto','16384 MB RAM,110 GB SSD,20.00 TB BW') | list | count == 1 + +- name: test gather vultr plan fact + vultr_plan_facts: + +- name: verify test gather vultr plan facts + assert: + that: + - ansible_facts.vultr_plan_facts|selectattr('name','equalto','16384 MB RAM,110 GB SSD,20.00 TB BW') | list | count == 1 diff --git a/test/integration/targets/vultr_region_facts/aliases b/test/integration/targets/vultr_region_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_region_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_region_facts/tasks/main.yml b/test/integration/targets/vultr_region_facts/tasks/main.yml new file mode 100644 index 0000000000..df6490c820 --- /dev/null +++ b/test/integration/targets/vultr_region_facts/tasks/main.yml @@ -0,0 +1,19 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test gather vultr region facts in check mode + vultr_region_facts: + check_mode: yes + +- name: verify test gather vultr region facts in check mode + assert: + that: + - ansible_facts.vultr_region_facts|selectattr('name','equalto','Atlanta') | list | count == 1 + +- name: test gather vultr region facts + vultr_region_facts: + +- name: verify test gather vultr region facts + assert: + that: + - ansible_facts.vultr_region_facts|selectattr('name','equalto','Atlanta') | list | count == 1 diff --git a/test/integration/targets/vultr_server/aliases b/test/integration/targets/vultr_server/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_server/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_server/defaults/main.yml b/test/integration/targets/vultr_server/defaults/main.yml new file mode 100644 index 0000000000..31775566c1 --- /dev/null +++ b/test/integration/targets/vultr_server/defaults/main.yml @@ -0,0 +1,10 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_server_name: "{{ vultr_resource_prefix }}_vm" +vultr_server_ssh_keys: +- name: key1 + key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAyWYItY+3w5b8PdGRoz0oY5mufqydW96naE+VM3JSvJFAUS08rAjQQpQ03ymoALeHQy6JVZbcgecxn6p0pAOINQdqufn4udPtOPCtMjNiPGpkSM9ah/6X5+kvyWMNrvlf+Ld4OOoszP5sAkgQzIbrFQAm41XknBUha0zkewZwfrVhain4pnDjV7wCcChId/Q/Gbi4xMtXkisznWcAJcueBs3EEZDKhJ5q0VeWSJEhYJDLFN1sOxF0AIUnMrOhfKQ/LjgREXPB6uCl899INUTXRNNjRpeMXyJ2wMMmOAbua2qEd1r13Bu1n+6A823Hzb33fyMXuqWnJwBJ4DCvMlGuEsfuOK+xk7DaBfLHbcM6fsPk0/4psTE6YLgC41remr6+u5ZWsY/faMtSnNPie8Z8Ov0DIYGdhbJjUXk1HomxRV9+ZfZ2Ob8iCwlaAQAyEUM6fs3Kxt8pBD8dx1HOkhsfBWPvuDr5y+kqE7H8/MuPDTc0QgH2pjUMpmw/XBwNDHshVEjrZvtICOjOLUJxcowLO1ivNYwPwowQxfisMy56LfYdjsOslBiqsrkAqvNGm1zu8wKHeqVN9w5l3yUELpvubfm9NKIvYcl6yWF36T0c5vE+g0DU/Jy4XpTj0hZG9QV2mRQcLJnd2pxQtJT7cPFtrn/+tgRxzjEtbDXummDV4sE= mail@renemoser.net" +- name: key2 + key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoQ9S7V+CufAgwoehnf2TqsJ9LTsu8pUA3FgpS2mdVwcMcTs++8P5sQcXHLtDmNLpWN4k7NQgxaY1oXy5e25x/4VhXaJXWEt3luSw+Phv/PB2+aGLvqCUirsLTAD2r7ieMhd/pcVf/HlhNUQgnO1mupdbDyqZoGD/uCcJiYav8i/V7nJWJouHA8yq31XS2yqXp9m3VC7UZZHzUsVJA9Us5YqF0hKYeaGruIHR2bwoDF9ZFMss5t6/pzxMljU/ccYwvvRDdI7WX4o4+zLuZ6RWvsU6LGbbb0pQdB72tlV41fSefwFsk4JRdKbyV3Xjf25pV4IXOTcqhy+4JTB/jXxrF torwalds@github.com" diff --git a/test/integration/targets/vultr_server/tasks/main.yml b/test/integration/targets/vultr_server/tasks/main.yml new file mode 100644 index 0000000000..d3269c78bc --- /dev/null +++ b/test/integration/targets/vultr_server/tasks/main.yml @@ -0,0 +1,508 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup + vultr_server: + name: "{{ vultr_server_name }}" + state: absent + register: result +- name: verify setup + assert: + that: + - result is success + +# Servers can only be destroyed 5 min after creation +- name: wait for 5 min + local_action: wait_for + when: result is changed + +- name: test fail if missing name + vultr_server: + 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_server: + name: "{{ vultr_server_name }}" + register: result + ignore_errors: yes +- name: verify fail if missing params for state=present + assert: + that: + - result is failed + - 'result.msg == "missing required arguments: os, plan, region"' + +- name: setup create ssh keys + vultr_ssh_key: + name: "{{ item.name }}" + ssh_key: "{{ item.key }}" + loop: "{{ vultr_server_ssh_keys }}" + +- name: test create server in check mode + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 1024 MB RAM,25 GB SSD,1.00 TB BW + ssh_keys: + - key1 + - key2 + region: Amsterdam + state: started + register: result + check_mode: yes +- name: verify test create server in check mode + assert: + that: + - result is changed + +- name: test create server + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 1024 MB RAM,25 GB SSD,1.00 TB BW + ssh_keys: + - key1 + - key2 + region: Amsterdam + state: started + register: result +- name: verify test create server + assert: + that: + - result is changed + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.power_status == 'running' + +- name: test create server idempotence + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 1024 MB RAM,25 GB SSD,1.00 TB BW + ssh_keys: + - key1 + - key2 + region: Amsterdam + state: started + register: result +- name: verify test create server idempotence + assert: + that: + - result is not changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + +- name: test stop an existing server in check mode + vultr_server: + name: "{{ vultr_server_name }}" + state: stopped + register: result + check_mode: yes +- name: verify test stop server in check mode + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +- name: test stop an existing server + vultr_server: + name: "{{ vultr_server_name }}" + state: stopped + register: result +- name: verify test stop an existing server + assert: + that: + - result is changed + - result.vultr_server.power_status == 'stopped' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +- name: test stop an existing server idempotence + vultr_server: + name: "{{ vultr_server_name }}" + state: stopped + register: result +- name: verify test stop an existing server idempotence + assert: + that: + - result is not changed + - result.vultr_server.power_status == 'stopped' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +- name: test start an existing server in check mode + vultr_server: + name: "{{ vultr_server_name }}" + state: started + register: result + check_mode: yes +- name: verify test start an existing server in check mode + assert: + that: + - result is changed + - result.vultr_server.power_status == 'stopped' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +- name: test start an existing server + vultr_server: + name: "{{ vultr_server_name }}" + state: started + register: result +- name: verify test start an existing server + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +- name: test start an existing server idempotence + vultr_server: + name: "{{ vultr_server_name }}" + state: started + register: result +- name: verify test start an existing server idempotence + assert: + that: + - result is not changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +- name: test update plan for server in check mode without force + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 2048 MB RAM,40 GB SSD,2.00 TB BW + region: Amsterdam + register: result + check_mode: yes +- name: verify test update plan for server in check mode without force + assert: + that: + - result is not changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + +- name: test update plan for server without force + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 2048 MB RAM,40 GB SSD,2.00 TB BW + region: Amsterdam + register: result +- name: verify test update plan for server without force + assert: + that: + - result is not changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + +- name: setup firewall group + vultr_firewall_group: + name: test_firewall_group + register: result +- name: verify test create firewall group + assert: + that: + - result is success + +- name: test fail with unknown firewall group + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + region: Amsterdam + firewall_group: does not exist + tag: test_tag + register: result + ignore_errors: yes + check_mode: yes +- name: verify test fail with unknown firewall group + assert: + that: + - result is failed + - result.msg.startswith('Could not find') + +- name: test update tag, firewall group for server in check mode without force + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + region: Amsterdam + firewall_group: test_firewall_group + tag: test_tag + register: result + check_mode: yes +- name: verify test update tag, firewall group for server in check mode without force + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.tag == '' + - result.vultr_server.firewall_group != 'test_firewall_group' + +- name: test update tag, firewall group for server without force + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + region: Amsterdam + firewall_group: test_firewall_group + tag: test_tag + register: result +- name: verify test update tag, firewall group for server without force + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.tag == 'test_tag' + - result.vultr_server.firewall_group == 'test_firewall_group' + +- name: test update tag, firewall group for server without force idempotence + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + region: Amsterdam + firewall_group: test_firewall_group + tag: test_tag + register: result +- name: verify test update tag, firewall group for server without force idempotence + assert: + that: + - result is not changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.tag == 'test_tag' + - result.vultr_server.firewall_group == 'test_firewall_group' + +- name: test update server in check mode with force + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 2048 MB RAM,40 GB SSD,2.00 TB BW + auto_backup_enabled: yes + region: Amsterdam + force: yes + register: result + check_mode: yes +- name: verify test update server in check mode with force + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.auto_backup_enabled == false + +- name: test update server with force + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 2048 MB RAM,40 GB SSD,2.00 TB BW + auto_backup_enabled: yes + region: Amsterdam + force: yes + register: result +- name: verify test update server with force + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.auto_backup_enabled == true + +- name: test update server idempotence with force + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 2048 MB RAM,40 GB SSD,2.00 TB BW + auto_backup_enabled: true + region: Amsterdam + force: true + register: result +- name: verify test update server idempotence with force + assert: + that: + - result is not changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.auto_backup_enabled == true + +- name: test update server to stopped in check mode + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 2048 MB RAM,40 GB SSD,2.00 TB BW + ipv6_enabled: true + region: Amsterdam + state: stopped + register: result + check_mode: yes +- name: verify test update server to stopped in check mode + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.v6_main_ip == '' + +- name: test update server to stopped + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 2048 MB RAM,40 GB SSD,2.00 TB BW + ipv6_enabled: true + region: Amsterdam + state: stopped + register: result +- name: verify test update server to stopped + assert: + that: + - result is changed + - result.vultr_server.power_status == 'stopped' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.v6_main_ip != '' + +- name: test update server to stopped idempotence + vultr_server: + name: "{{ vultr_server_name }}" + os: CentOS 6 x64 + plan: 2048 MB RAM,40 GB SSD,2.00 TB BW + region: Amsterdam + state: stopped + register: result +- name: verify test update server to stopped idempotence + assert: + that: + - result is not changed + - result.vultr_server.power_status == 'stopped' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' + - result.vultr_server.region == 'Amsterdam' + - result.vultr_server.v6_main_ip != '' + +- name: test restart an existing server in check mode + vultr_server: + name: "{{ vultr_server_name }}" + state: restarted + register: result + check_mode: yes +- name: verify test restart an existing server in check mode + assert: + that: + - result is changed + - result.vultr_server.power_status == 'stopped' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +- name: test restart an existing server + vultr_server: + name: "{{ vultr_server_name }}" + state: restarted + register: result +- name: verify test restart an existing server + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +- name: test absent server in check mode + vultr_server: + name: "{{ vultr_server_name }}" + state: absent + register: result + check_mode: yes +- name: verify test absent server in check mode + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +# Servers can only be destroyed 5 min after creation +- name: wait for 5 min + local_action: wait_for + +- name: test absent server + vultr_server: + name: "{{ vultr_server_name }}" + state: absent + register: result +- name: verify test absent server + assert: + that: + - result is changed + - result.vultr_server.power_status == 'running' + - result.vultr_server.name == '{{ vultr_server_name }}' + - result.vultr_server.os == 'CentOS 6 x64' + - result.vultr_server.region == 'Amsterdam' + +- name: test absent server idempotence + vultr_server: + name: "{{ vultr_server_name }}" + state: absent + register: result +- name: verify test absent server idempotence + assert: + that: + - result is not changed + +- name: cleanup ssh keys + vultr_ssh_key: + name: "{{ item.name }}" + ssh_key: "{{ item.key }}" + state: absent + loop: "{{ vultr_server_ssh_keys }}" diff --git a/test/integration/targets/vultr_server_facts/aliases b/test/integration/targets/vultr_server_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_server_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_server_facts/defaults/main.yml b/test/integration/targets/vultr_server_facts/defaults/main.yml new file mode 100644 index 0000000000..37134a1f38 --- /dev/null +++ b/test/integration/targets/vultr_server_facts/defaults/main.yml @@ -0,0 +1,6 @@ +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_server_name: "{{ vultr_resource_prefix }}_vm" +vultr_server_os: CentOS 7 x64 +vultr_server_plan: 1024 MB RAM,25 GB SSD,1.00 TB BW +vultr_server_region: Amsterdam diff --git a/test/integration/targets/vultr_server_facts/tasks/main.yml b/test/integration/targets/vultr_server_facts/tasks/main.yml new file mode 100644 index 0000000000..95af65e7ee --- /dev/null +++ b/test/integration/targets/vultr_server_facts/tasks/main.yml @@ -0,0 +1,63 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup ensure VM is absent + vultr_server: + name: "{{ vultr_server_name }}" + state: absent + register: result + +# Servers can only be destroyed 5 min after creation +- name: wait for 5 min until VM is absent + local_action: wait_for + when: result is changed + +- name: test gather vultr server facts - empty resources + vultr_server_facts: +- name: verify test gather vultr server facts - empty resources + assert: + that: + - ansible_facts.vultr_server_facts | count == 0 + +- name: setup firewall group + vultr_firewall_group: + name: test_vultr_server_facts + +- name: setup create the server + vultr_server: + name: '{{ vultr_server_name }}' + os: '{{ vultr_server_os }}' + plan: '{{ vultr_server_plan }}' + region: '{{ vultr_server_region }}' + firewall_group: test_vultr_server_facts + +- name: test gather vultr server facts in check mode + vultr_server_facts: + check_mode: yes + +- name: verify test gather vultr server facts in check mode + assert: + that: + - ansible_facts.vultr_server_facts|selectattr('name','equalto','{{ vultr_server_name }}') | list | count == 1 + +- name: test gather vultr server facts + vultr_server_facts: + +- name: verify test gather vultr server facts + assert: + that: + - ansible_facts.vultr_server_facts|selectattr('name','equalto','{{ vultr_server_name }}') | list | count == 1 + +- name: Pause for 5 min before deleting the VM + pause: + minutes: 5 + +- name: cleanup the server + vultr_server: + name: '{{ vultr_server_name }}' + state: absent + +- name: cleanup firewall group + vultr_firewall_group: + name: test_vultr_server_facts + state: absent diff --git a/test/integration/targets/vultr_ssh_key/aliases b/test/integration/targets/vultr_ssh_key/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_ssh_key/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_ssh_key/defaults/main.yml b/test/integration/targets/vultr_ssh_key/defaults/main.yml new file mode 100644 index 0000000000..53cce56767 --- /dev/null +++ b/test/integration/targets/vultr_ssh_key/defaults/main.yml @@ -0,0 +1,7 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_ssh_key_name: "{{ vultr_resource_prefix }}_ansible-ssh-key" +vultr_ssh_key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAyWYItY+3w5b8PdGRoz0oY5mufqydW96naE+VM3JSvJFAUS08rAjQQpQ03ymoALeHQy6JVZbcgecxn6p0pAOINQdqufn4udPtOPCtMjNiPGpkSM9ah/6X5+kvyWMNrvlf+Ld4OOoszP5sAkgQzIbrFQAm41XknBUha0zkewZwfrVhain4pnDjV7wCcChId/Q/Gbi4xMtXkisznWcAJcueBs3EEZDKhJ5q0VeWSJEhYJDLFN1sOxF0AIUnMrOhfKQ/LjgREXPB6uCl899INUTXRNNjRpeMXyJ2wMMmOAbua2qEd1r13Bu1n+6A823Hzb33fyMXuqWnJwBJ4DCvMlGuEsfuOK+xk7DaBfLHbcM6fsPk0/4psTE6YLgC41remr6+u5ZWsY/faMtSnNPie8Z8Ov0DIYGdhbJjUXk1HomxRV9+ZfZ2Ob8iCwlaAQAyEUM6fs3Kxt8pBD8dx1HOkhsfBWPvuDr5y+kqE7H8/MuPDTc0QgH2pjUMpmw/XBwNDHshVEjrZvtICOjOLUJxcowLO1ivNYwPwowQxfisMy56LfYdjsOslBiqsrkAqvNGm1zu8wKHeqVN9w5l3yUELpvubfm9NKIvYcl6yWF36T0c5vE+g0DU/Jy4XpTj0hZG9QV2mRQcLJnd2pxQtJT7cPFtrn/+tgRxzjEtbDXummDV4sE= ansible@example.com" +vultr_ssh_key2: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoQ9S7V+CufAgwoehnf2TqsJ9LTsu8pUA3FgpS2mdVwcMcTs++8P5sQcXHLtDmNLpWN4k7NQgxaY1oXy5e25x/4VhXaJXWEt3luSw+Phv/PB2+aGLvqCUirsLTAD2r7ieMhd/pcVf/HlhNUQgnO1mupdbDyqZoGD/uCcJiYav8i/V7nJWJouHA8yq31XS2yqXp9m3VC7UZZHzUsVJA9Us5YqF0hKYeaGruIHR2bwoDF9ZFMss5t6/pzxMljU/ccYwvvRDdI7WX4o4+zLuZ6RWvsU6LGbbb0pQdB72tlV41fSefwFsk4JRdKbyV3Xjf25pV4IXOTcqhy+4JTB/jXxrF torwalds@github.com" diff --git a/test/integration/targets/vultr_ssh_key/tasks/main.yml b/test/integration/targets/vultr_ssh_key/tasks/main.yml new file mode 100644 index 0000000000..ce46970e08 --- /dev/null +++ b/test/integration/targets/vultr_ssh_key/tasks/main.yml @@ -0,0 +1,140 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + state: absent + register: result +- name: verify setup + assert: + that: + - result is success + +- name: test fail if missing name + vultr_ssh_key: + 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_ssh_key: + name: "{{ vultr_ssh_key_name }}" + register: result + ignore_errors: yes +- name: verify fail if missing params for state=present + assert: + that: + - result is failed + - 'result.msg == "state is present but all of the following are missing: ssh_key"' + +- name: test create ssh key in check mode + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + ssh_key: "{{ vultr_ssh_key }}" + register: result + check_mode: yes +- name: verify test create ssh key in check mode + assert: + that: + - result is changed + +- name: test create ssh key + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + ssh_key: "{{ vultr_ssh_key }}" + register: result +- name: verify test create ssh key + assert: + that: + - result is changed + - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' + - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key }}' + +- name: test create ssh key idempotence + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + ssh_key: "{{ vultr_ssh_key }}" + register: result +- name: verify test create ssh key idempotence + assert: + that: + - result is not changed + - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' + - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key }}' + +- name: test update ssh key in check mode + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + ssh_key: "{{ vultr_ssh_key2 }}" + register: result + check_mode: yes +- name: verify test update ssh key in check mode + assert: + that: + - result is changed + - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' + - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key }}' + +- name: test update ssh key + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + ssh_key: "{{ vultr_ssh_key2 }}" + register: result +- name: verify test update ssh key + assert: + that: + - result is changed + - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' + - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key2 }}' + +- name: test update ssh key idempotence + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + ssh_key: "{{ vultr_ssh_key2 }}" + register: result +- name: verify test update ssh key idempotence + assert: + that: + - result is not changed + - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' + - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key2 }}' + +- name: test absent ssh key in check mode + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + state: absent + register: result + check_mode: yes +- name: verify test absent ssh key in check mode + assert: + that: + - result is changed + - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' + - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key2 }}' + +- name: test absent ssh key + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + state: absent + register: result +- name: verify test absent ssh key + assert: + that: + - result is changed + - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' + - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key2 }}' + +- name: test absent ssh key idempotence + vultr_ssh_key: + name: "{{ vultr_ssh_key_name }}" + state: absent + register: result +- name: verify test absent ssh key idempotence + assert: + that: + - result is not changed diff --git a/test/integration/targets/vultr_ssh_key_facts/aliases b/test/integration/targets/vultr_ssh_key_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_ssh_key_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_ssh_key_facts/defaults/main.yml b/test/integration/targets/vultr_ssh_key_facts/defaults/main.yml new file mode 100644 index 0000000000..00db51ad70 --- /dev/null +++ b/test/integration/targets/vultr_ssh_key_facts/defaults/main.yml @@ -0,0 +1,4 @@ +--- +vultr_resource_prefix: "vultr_test_prefix" +ssh_key_name: "{{ vultr_resource_prefix }}-sshkey" +ssh_key_content: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+ZFQv3MyjtL1BMpSA0o0gIkzLVVC711rthT29hBNeORdNowQ7FSvVWUdAbTq00U7Xzak1ANIYLJyn+0r7olsdG4XEiUR0dqgC99kbT/QhY5mLe5lpl7JUjW9ctn00hNmt+TswpatCKWPNwdeAJT2ERynZaqPobENgvIq7jfOFWQIVew7qrewtqwerqwrewUr2Cdq7Nb7U0XFXh3x1p0v0+MbL4tiJwPlMAGvFTKIMt+EaA+AsRIxiOo9CMk5ZuOl9pT8h5vNuEOcvS0qx4v44EAD2VOsCVCcrPNMcpuSzZP8dRTGU9wRREAWXngD0Zq9YJMH38VTxHiskoBw1NnPz ansibletest@sshkey diff --git a/test/integration/targets/vultr_ssh_key_facts/tasks/main.yml b/test/integration/targets/vultr_ssh_key_facts/tasks/main.yml new file mode 100644 index 0000000000..426228d0ea --- /dev/null +++ b/test/integration/targets/vultr_ssh_key_facts/tasks/main.yml @@ -0,0 +1,34 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test gather vultr ssh key fact - empty resources + vultr_ssh_key_facts: + +- name: Upload an ssh key + vultr_ssh_key: + name: '{{ ssh_key_name }}' + ssh_key: '{{ ssh_key_content }}' + +- name: test gather vultr ssh key facts in check mode + vultr_ssh_key_facts: + check_mode: yes + +- name: verify test gather vultr ssh key facts in check mode + assert: + that: + - ansible_facts.vultr_ssh_key_facts|selectattr('name','equalto','{{ ssh_key_name }}') | list | count == 1 + - ansible_facts.vultr_ssh_key_facts|selectattr('ssh_key','equalto','{{ ssh_key_content }}') | list | count == 1 + +- name: test gather vultr ssh key fact + vultr_ssh_key_facts: + +- name: verify test gather vultr ssh key facts + assert: + that: + - ansible_facts.vultr_ssh_key_facts|selectattr('name','equalto','{{ ssh_key_name }}') | list | count == 1 + - ansible_facts.vultr_ssh_key_facts|selectattr('ssh_key','equalto','{{ ssh_key_content }}') | list | count == 1 + +- name: Destroy the ssh key + vultr_ssh_key: + name: ansibletest-sshkey + state: absent diff --git a/test/integration/targets/vultr_startup_script/aliases b/test/integration/targets/vultr_startup_script/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_startup_script/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_startup_script/defaults/main.yml b/test/integration/targets/vultr_startup_script/defaults/main.yml new file mode 100644 index 0000000000..38b68a6953 --- /dev/null +++ b/test/integration/targets/vultr_startup_script/defaults/main.yml @@ -0,0 +1,7 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_startup_script_name: "{{ vultr_resource_prefix }}_script" +vultr_startup_script: "#!/bin/bash\necho Hello World > /root/hello" +vultr_startup_script2: "#!/bin/bash\necho Hello to my World > /root/hello" diff --git a/test/integration/targets/vultr_startup_script/tasks/main.yml b/test/integration/targets/vultr_startup_script/tasks/main.yml new file mode 100644 index 0000000000..09929beb26 --- /dev/null +++ b/test/integration/targets/vultr_startup_script/tasks/main.yml @@ -0,0 +1,140 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: setup + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + state: absent + register: result +- name: verify setup + assert: + that: + - result is success + +- name: test fail if missing name + vultr_startup_script: + 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_startup_script: + name: "{{ vultr_startup_script_name }}" + register: result + ignore_errors: yes +- name: verify fail if missing params for state=present + assert: + that: + - result is failed + - 'result.msg == "state is present but all of the following are missing: script"' + +- name: test create startup script in check mode + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + script: "{{ vultr_startup_script }}" + register: result + check_mode: yes +- name: verify test create startup script in check mode + assert: + that: + - result is changed + +- name: test create startup script + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + script: "{{ vultr_startup_script }}" + register: result +- name: verify test create startup script + assert: + that: + - result is changed + - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' + - result.vultr_startup_script.script == '{{ vultr_startup_script }}' + +- name: test create startup script idempotence + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + script: "{{ vultr_startup_script }}" + register: result +- name: verify test create startup script idempotence + assert: + that: + - result is not changed + - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' + - result.vultr_startup_script.script == '{{ vultr_startup_script }}' + +- name: test update startup script in check mode + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + script: "{{ vultr_startup_script2 }}" + register: result + check_mode: yes +- name: verify test update startup script in check mode + assert: + that: + - result is changed + - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' + - result.vultr_startup_script.script == '{{ vultr_startup_script }}' + +- name: test update startup script + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + script: "{{ vultr_startup_script2 }}" + register: result +- name: verify test update startup script + assert: + that: + - result is changed + - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' + - result.vultr_startup_script.script == '{{ vultr_startup_script2 }}' + +- name: test update startup script idempotence + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + script: "{{ vultr_startup_script2 }}" + register: result +- name: verify test update startup script idempotence + assert: + that: + - result is not changed + - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' + - result.vultr_startup_script.script == '{{ vultr_startup_script2 }}' + +- name: test absent startup script in check mode + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + state: absent + register: result + check_mode: yes +- name: verify test absent startup script in check mode + assert: + that: + - result is changed + - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' + - result.vultr_startup_script.script == '{{ vultr_startup_script2 }}' + +- name: test absent startup script + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + state: absent + register: result +- name: verify test absent startup script + assert: + that: + - result is changed + - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' + - result.vultr_startup_script.script == '{{ vultr_startup_script2 }}' + +- name: test absent startup script idempotence + vultr_startup_script: + name: "{{ vultr_startup_script_name }}" + state: absent + register: result +- name: verify test absent startup script idempotence + assert: + that: + - result is not changed diff --git a/test/integration/targets/vultr_startup_script_facts/aliases b/test/integration/targets/vultr_startup_script_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_startup_script_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_startup_script_facts/defaults/main.yml b/test/integration/targets/vultr_startup_script_facts/defaults/main.yml new file mode 100644 index 0000000000..017cff1a36 --- /dev/null +++ b/test/integration/targets/vultr_startup_script_facts/defaults/main.yml @@ -0,0 +1,4 @@ +vultr_resource_prefix: "vultr_test_prefix" +startup_script_name: "{{ vultr_resource_prefix }}_script" +startup_script_type: boot +startup_script_content: "#!/bin/bash\necho Hello World > /root/hello" diff --git a/test/integration/targets/vultr_startup_script_facts/tasks/main.yml b/test/integration/targets/vultr_startup_script_facts/tasks/main.yml new file mode 100644 index 0000000000..1db43bc831 --- /dev/null +++ b/test/integration/targets/vultr_startup_script_facts/tasks/main.yml @@ -0,0 +1,33 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: test gather vultr startup script facts - empty resources + vultr_startup_script_facts: + +- name: Create the script + vultr_startup_script: + name: '{{ startup_script_name }}' + script_type: '{{ startup_script_type }}' + script: '{{ startup_script_content }}' + +- name: test gather vultr startup script facts in check mode + vultr_startup_script_facts: + check_mode: yes + +- name: verify test gather vultr startup script facts in check mode + assert: + that: + - ansible_facts.vultr_startup_script_facts|selectattr('name','equalto','{{ startup_script_name }}') | list | count == 1 + +- name: test gather vultr startup script facts + vultr_startup_script_facts: + +- name: verify test gather vultr startup script facts + assert: + that: + - ansible_facts.vultr_startup_script_facts|selectattr('name','equalto','{{ startup_script_name }}') | list | count == 1 + +- name: Delete the script + vultr_startup_script: + name: '{{ startup_script_name }}' + state: absent diff --git a/test/integration/targets/vultr_user/aliases b/test/integration/targets/vultr_user/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_user/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_user/defaults/main.yml b/test/integration/targets/vultr_user/defaults/main.yml new file mode 100644 index 0000000000..9050a68f77 --- /dev/null +++ b/test/integration/targets/vultr_user/defaults/main.yml @@ -0,0 +1,5 @@ +# Copyright (c) 2018, René Moser +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +vultr_resource_prefix: "vultr-test-prefix" +vultr_user_name: "{{ vultr_resource_prefix }}_user" diff --git a/test/integration/targets/vultr_user/tasks/main.yml b/test/integration/targets/vultr_user/tasks/main.yml new file mode 100644 index 0000000000..8c3684c111 --- /dev/null +++ b/test/integration/targets/vultr_user/tasks/main.yml @@ -0,0 +1,225 @@ +--- +# Copyright (c) 2018, René Moser +# 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 diff --git a/test/integration/targets/vultr_user_facts/aliases b/test/integration/targets/vultr_user_facts/aliases new file mode 100644 index 0000000000..2c3fa42cbc --- /dev/null +++ b/test/integration/targets/vultr_user_facts/aliases @@ -0,0 +1,2 @@ +cloud/vultr +unsupported diff --git a/test/integration/targets/vultr_user_facts/defaults/main.yml b/test/integration/targets/vultr_user_facts/defaults/main.yml new file mode 100644 index 0000000000..6901081331 --- /dev/null +++ b/test/integration/targets/vultr_user_facts/defaults/main.yml @@ -0,0 +1,10 @@ +--- +vultr_resource_prefix: "vultr-test-prefix" +user_name: "{{ vultr_resource_prefix }}_user" +user_email: mytestuser@example.com +user_password: aP4ssw0rd! +user_acls: + - upgrade + - dns + - manage_users + - subscriptions diff --git a/test/integration/targets/vultr_user_facts/tasks/main.yml b/test/integration/targets/vultr_user_facts/tasks/main.yml new file mode 100644 index 0000000000..f70622214a --- /dev/null +++ b/test/integration/targets/vultr_user_facts/tasks/main.yml @@ -0,0 +1,31 @@ +# Copyright (c) 2018, Yanis Guenane +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) +--- +- name: Create the user + vultr_user: + name: '{{ user_name }}' + email: '{{ user_email }}' + password: '{{ user_password }}' + acls: '{{ user_acls }}' + +- name: test gather vultr user facts in check mode + vultr_user_facts: + check_mode: yes + +- name: verify test gather vultr user facts in check mode + assert: + that: + - ansible_facts.vultr_user_facts|selectattr('name','equalto','{{ user_name }}') | list | count == 1 + +- name: test gather vultr user facts + vultr_user_facts: + +- name: verify test gather vultr user facts + assert: + that: + - ansible_facts.vultr_user_facts|selectattr('name','equalto','{{ user_name }}') | list | count == 1 + +- name: Delete the user + vultr_user: + name: '{{ user_name }}' + state: absent diff --git a/test/legacy/roles/vultr_account_facts/tasks/main.yml b/test/legacy/roles/vultr_account_facts/tasks/main.yml deleted file mode 100644 index ffe373fb99..0000000000 --- a/test/legacy/roles/vultr_account_facts/tasks/main.yml +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test gather vultr account facts in check mode - vultr_account_facts: - check_mode: yes - -- name: verify test gather vultr account facts in check mode - assert: - that: - - ansible_facts.vultr_account_facts.balance is defined - - ansible_facts.vultr_account_facts.last_payment_amount is defined - - ansible_facts.vultr_account_facts.last_payment_date is defined - - ansible_facts.vultr_account_facts.last_payment_amount is defined - -- name: test gather vultr account fact - vultr_account_facts: -- name: verify test gather vultr account facts - assert: - that: - - ansible_facts.vultr_account_facts.balance is defined - - ansible_facts.vultr_account_facts.last_payment_amount is defined - - ansible_facts.vultr_account_facts.last_payment_date is defined - - ansible_facts.vultr_account_facts.last_payment_amount is defined diff --git a/test/legacy/roles/vultr_block_storage/defaults/main.yml b/test/legacy/roles/vultr_block_storage/defaults/main.yml deleted file mode 100644 index 1eab91c4d1..0000000000 --- a/test/legacy/roles/vultr_block_storage/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -vultr_block_storage_name: ansible-test-vm1 -vultr_block_storage_size: 10 -vultr_block_storage_region: New Jersey diff --git a/test/legacy/roles/vultr_block_storage/tasks/main.yml b/test/legacy/roles/vultr_block_storage/tasks/main.yml deleted file mode 100644 index 3ef16fa775..0000000000 --- a/test/legacy/roles/vultr_block_storage/tasks/main.yml +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup - vultr_block_storage: - name: "{{ vultr_block_storage_name }}" - state: absent - register: result -- name: verify setup - assert: - that: - - result is success - -- name: test fail if missing name - vultr_block_storage: - 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_block_storage: - name: "{{ vultr_block_storage_name }}" - register: result - ignore_errors: yes -- name: verify fail if missing params for state=present - assert: - that: - - result is failed - - 'result.msg == "state is present but all of the following are missing: size, region"' - -- name: test create block storage volume in check mode - vultr_block_storage: - name: "{{ vultr_block_storage_name }}" - size: "{{ vultr_block_storage_size }}" - region: "{{ vultr_block_storage_region }}" - register: result - check_mode: yes -- name: verify test create server in check mode - assert: - that: - - result is changed - -- name: test create block storage volume - vultr_block_storage: - name: "{{ vultr_block_storage_name }}" - size: "{{ vultr_block_storage_size }}" - region: "{{ vultr_block_storage_region }}" - register: result - -- name: verify test create block storage volume - assert: - that: - - result is changed - - result.vultr_block_storage.name == "{{ vultr_block_storage_name }}" - - result.vultr_block_storage.region == "{{ vultr_block_storage_region }}" - - result.vultr_block_storage.size == 10 - -- name: test create block storage volume idempotence - vultr_block_storage: - name: "{{ vultr_block_storage_name }}" - size: "{{ vultr_block_storage_size }}" - region: "{{ vultr_block_storage_region }}" - register: result - -- name: verify test block storage volume idempotence - assert: - that: - - result is not changed - - result.vultr_block_storage.name == "{{ vultr_block_storage_name }}" - - result.vultr_block_storage.region == "{{ vultr_block_storage_region }}" - - result.vultr_block_storage.size == 10 - -- name: test destroy block storage volume in check mode - vultr_block_storage: - name: "{{ vultr_block_storage_name }}" - state: absent - register: result - check_mode: yes - -- name: verify test destroy block storage volume in check mode - assert: - that: - - result is changed - - result.vultr_block_storage.name == "{{ vultr_block_storage_name }}" - -- name: test destroy block storage volume - vultr_block_storage: - name: "{{ vultr_block_storage_name }}" - state: absent - register: result - -- name: verify test destroy an existing block storage volume - assert: - that: - - result is changed - - result.vultr_block_storage.name == "{{ vultr_block_storage_name }}" - -- name: test destroy an existing block storage volume idempotence - vultr_block_storage: - name: "{{ vultr_block_storage_name }}" - state: absent - register: result - -- name: verify test destroy an existing block storage volume idempotence - assert: - that: - - result is not changed diff --git a/test/legacy/roles/vultr_block_storage_facts/defaults/main.yml b/test/legacy/roles/vultr_block_storage_facts/defaults/main.yml deleted file mode 100644 index b49589ac6f..0000000000 --- a/test/legacy/roles/vultr_block_storage_facts/defaults/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -vultr_block_storage_name: ansibletest-volume -vultr_block_storage_size: 10 -vultr_block_storage_region: New Jersey diff --git a/test/legacy/roles/vultr_block_storage_facts/tasks/main.yml b/test/legacy/roles/vultr_block_storage_facts/tasks/main.yml deleted file mode 100644 index 40fc0e1d53..0000000000 --- a/test/legacy/roles/vultr_block_storage_facts/tasks/main.yml +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test gather vultr block storage volume facts - empty resource - vultr_block_storage_facts: - -- name: Create the block storage volume - vultr_block_storage: - name: '{{ vultr_block_storage_name }}' - size: '{{ vultr_block_storage_size }}' - region: '{{ vultr_block_storage_region }}' - -- name: test gather vultr block storage volume facts in check mode - vultr_block_storage_facts: - check_mode: yes - -- name: verify test gather vultr block storage volume facts in check mode - assert: - that: - - ansible_facts.vultr_block_storage_facts|selectattr('name','equalto','{{ vultr_block_storage_name }}') | list | count == 1 - -- name: test gather vultr block storage volume facts - vultr_block_storage_facts: - -- name: verify test gather vultr block storage volume facts - assert: - that: - - ansible_facts.vultr_block_storage_facts|selectattr('name','equalto','{{ vultr_block_storage_name }}') | list | count == 1 - -- name: Delete the block storage volume - vultr_block_storage: - name: '{{ vultr_block_storage_name }}' - state: absent diff --git a/test/legacy/roles/vultr_dns_domain/defaults/main.yml b/test/legacy/roles/vultr_dns_domain/defaults/main.yml deleted file mode 100644 index 745af80b0d..0000000000 --- a/test/legacy/roles/vultr_dns_domain/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -vultr_dns_domain_name: example-ansible.com diff --git a/test/legacy/roles/vultr_dns_domain/tasks/main.yml b/test/legacy/roles/vultr_dns_domain/tasks/main.yml deleted file mode 100644 index 706783978a..0000000000 --- a/test/legacy/roles/vultr_dns_domain/tasks/main.yml +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup - vultr_dns_domain: - name: "{{ vultr_dns_domain_name }}" - state: absent - register: result -- name: verify setup - assert: - that: - - result is success - -- name: test fail if missing name - vultr_dns_domain: - 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_dns_domain: - name: "{{ vultr_dns_domain_name }}" - register: result - ignore_errors: yes -- name: verify fail if missing params for state=present - assert: - that: - - result is failed - - 'result.msg == "state is present but all of the following are missing: server_ip"' - -- name: test create dns domain in check mode - vultr_dns_domain: - name: "{{ vultr_dns_domain_name }}" - server_ip: 10.10.10.10 - register: result - check_mode: yes -- name: verify test create dns domain in check mode - assert: - that: - - result is changed - -- name: test create dns domain - vultr_dns_domain: - name: "{{ vultr_dns_domain_name }}" - server_ip: 10.10.10.10 - register: result -- name: verify test create dns domain - assert: - that: - - result is changed - - result.vultr_dns_domain.name == '{{ vultr_dns_domain_name }}' - -- name: test create dns domain idempotence - vultr_dns_domain: - name: "{{ vultr_dns_domain_name }}" - server_ip: 10.10.10.10 - register: result -- name: verify test create dns domain idempotence - assert: - that: - - result is not changed - - result.vultr_dns_domain.name == '{{ vultr_dns_domain_name }}' - -- name: test absent dns domain in check mode - vultr_dns_domain: - name: "{{ vultr_dns_domain_name }}" - state: absent - register: result - check_mode: yes -- name: verify test absent dns domain in check mode - assert: - that: - - result is changed - - result.vultr_dns_domain.name == '{{ vultr_dns_domain_name }}' - -- name: test absent dns domain - vultr_dns_domain: - name: "{{ vultr_dns_domain_name }}" - state: absent - register: result -- name: verify test absent dns domain - assert: - that: - - result is changed - - result.vultr_dns_domain.name == '{{ vultr_dns_domain_name }}' - -- name: test absent dns domain idempotence - vultr_dns_domain: - name: "{{ vultr_dns_domain_name }}" - state: absent - register: result -- name: verify test absent dns domain idempotence - assert: - that: - - result is not changed diff --git a/test/legacy/roles/vultr_dns_domain_facts/defaults/main.yml b/test/legacy/roles/vultr_dns_domain_facts/defaults/main.yml deleted file mode 100644 index ade6f34217..0000000000 --- a/test/legacy/roles/vultr_dns_domain_facts/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dns_domain_name: ansibletest.com -dns_domain_server_ip: 104.24.16.59 diff --git a/test/legacy/roles/vultr_dns_domain_facts/tasks/main.yml b/test/legacy/roles/vultr_dns_domain_facts/tasks/main.yml deleted file mode 100644 index 31d13dfe4d..0000000000 --- a/test/legacy/roles/vultr_dns_domain_facts/tasks/main.yml +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: Create the record - vultr_dns_domain: - name: '{{ dns_domain_name }}' - server_ip: '{{ dns_domain_server_ip }}' - -- name: test gather vultr dns domain facts in check mode - vultr_dns_domain_facts: - check_mode: yes - -- name: verify test gather vultr dns domain facts in check mode - assert: - that: - - ansible_facts.vultr_dns_domain_facts|selectattr('domain','equalto','{{ dns_domain_name }}') | list | count == 1 - -- name: test gather vultr dns domain facts - vultr_dns_domain_facts: - -- name: verify test gather vultr dns domain facts - assert: - that: - - ansible_facts.vultr_dns_domain_facts|selectattr('domain','equalto','{{ dns_domain_name }}') | list | count == 1 - -- name: Delete the record - vultr_dns_domain: - name: '{{ dns_domain_name }}' - server_ip: '{{ dns_domain_server_ip }}' - state: absent diff --git a/test/legacy/roles/vultr_dns_record/defaults/main.yml b/test/legacy/roles/vultr_dns_record/defaults/main.yml deleted file mode 100644 index 5dd89f8199..0000000000 --- a/test/legacy/roles/vultr_dns_record/defaults/main.yml +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -vultr_dns_domain_name: example-ansible.com -vultr_dns_record_items: -# Single A record -- name: test-www - data: 10.10.10.10 - ttl: 400 - update_data: 10.10.10.11 - update_ttl: 200 - -# Multiple A records -- name: test-www-multiple - data: 10.10.11.10 - update_data: 10.10.11.11 - multiple: true - update_ttl: 600 - -# CNAME -- name: test-cname - data: www.ansible.com - update_data: www.ansible.ch - record_type: CNAME - -# Single Multiple MX record -- data: mx1.example-ansible.com - priority: 10 - update_priority: 20 - record_type: MX - -# Multiple MX records -- data: mx2.example-ansible.com - priority: 10 - update_data: mx1.example-ansible.com - update_priority: 20 - record_type: MX - multiple: true diff --git a/test/legacy/roles/vultr_dns_record/tasks/create_record.yml b/test/legacy/roles/vultr_dns_record/tasks/create_record.yml deleted file mode 100644 index 5f33eb1405..0000000000 --- a/test/legacy/roles/vultr_dns_record/tasks/create_record.yml +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test setup dns record - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - record_type: "{{ item.record_type | default(omit) }}" - state: absent - register: result -- name: verify test setup dns record - assert: - that: - - result is successful - -- name: test create a dns record in check mode - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.data }}" - ttl: "{{ item.ttl | default(omit) }}" - record_type: "{{ item.record_type | default(omit) }}" - priority: "{{ item.priority | default(omit) }}" - check_mode: yes - register: result -- name: verify test create a dns record in check mode - assert: - that: - - result is changed - -- name: test create a dns record - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.data }}" - ttl: "{{ item.ttl | default(omit) }}" - record_type: "{{ item.record_type | default(omit) }}" - priority: "{{ item.priority | default(omit) }}" - register: result -- name: verify test create a dns record - assert: - that: - - result is changed - - result.vultr_dns_record.data == "{{ item.data }}" - - result.vultr_dns_record.name == "{{ item.name | default("") }}" - - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" - - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} - - result.vultr_dns_record.priority == {{ item.priority | default(0) }} - -- name: test create a dns record idempotence - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.data }}" - ttl: "{{ item.ttl | default(omit) }}" - record_type: "{{ item.record_type | default(omit) }}" - priority: "{{ item.priority | default(omit) }}" - register: result -- name: verify test create a dns record idempotence - assert: - that: - - result is not changed - - result.vultr_dns_record.data == "{{ item.data }}" - - result.vultr_dns_record.name == "{{ item.name | default("") }}" - - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" - - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} - - result.vultr_dns_record.priority == {{ item.priority | default(0) }} diff --git a/test/legacy/roles/vultr_dns_record/tasks/main.yml b/test/legacy/roles/vultr_dns_record/tasks/main.yml deleted file mode 100644 index 19419efcb5..0000000000 --- a/test/legacy/roles/vultr_dns_record/tasks/main.yml +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup dns domain - vultr_dns_domain: - name: "{{ vultr_dns_domain_name }}" - server_ip: 10.10.10.10 - register: result -- name: verify setup dns domain - assert: - that: - - result is successful - -- include_tasks: test_fail_multiple.yml - -- include_tasks: record.yml - with_items: "{{ vultr_dns_record_items }}" diff --git a/test/legacy/roles/vultr_dns_record/tasks/record.yml b/test/legacy/roles/vultr_dns_record/tasks/record.yml deleted file mode 100644 index c8c3926dc0..0000000000 --- a/test/legacy/roles/vultr_dns_record/tasks/record.yml +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- include_tasks: create_record.yml -- include_tasks: update_record.yml -- include_tasks: remove_record.yml diff --git a/test/legacy/roles/vultr_dns_record/tasks/remove_record.yml b/test/legacy/roles/vultr_dns_record/tasks/remove_record.yml deleted file mode 100644 index e776a492e5..0000000000 --- a/test/legacy/roles/vultr_dns_record/tasks/remove_record.yml +++ /dev/null @@ -1,114 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test remove a dns record in check mode - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.update_data | default(item.data) }}" - record_type: "{{ item.record_type | default(omit) }}" - multiple: "{{ item.multiple | default(omit) }}" - state: absent - check_mode: yes - register: result -- name: verify test remove a dns record in check mode - assert: - that: - - result is changed - - result.vultr_dns_record.data == "{{ item.update_data | default(item.data) }}" - - result.vultr_dns_record.name == "{{ item.name | default("") }}" - - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" - - result.vultr_dns_record.ttl == {{ item.update_ttl | default(300) }} - - result.vultr_dns_record.priority == {{ item.update_priority | default(item.priority | default(0)) }} - -- name: test remove second dns record in check mode - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.data | default(item.data) }}" - record_type: "{{ item.record_type | default(omit) }}" - multiple: "{{ item.multiple | default(omit) }}" - state: absent - check_mode: yes - register: result - when: item.multiple is defined and item.multiple == true -- name: verify test remove a dns record in check mode - assert: - that: - - result is changed - - result.vultr_dns_record.data == "{{ item.data | default(item.data) }}" - - result.vultr_dns_record.name == "{{ item.name | default("") }}" - - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" - - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} - - result.vultr_dns_record.priority == {{ item.priority | default(0) }} - when: item.multiple is defined and item.multiple == true - -- name: test remove a dns record - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.update_data | default(item.data) }}" - record_type: "{{ item.record_type | default(omit) }}" - multiple: "{{ item.multiple | default(omit) }}" - state: absent - register: result -- name: verify test remove a dns record - assert: - that: - - result is changed - - result.vultr_dns_record.data == "{{ item.update_data | default(item.data) }}" - - result.vultr_dns_record.name == "{{ item.name | default("") }}" - - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" - - result.vultr_dns_record.ttl == {{ item.update_ttl | default(300) }} - - result.vultr_dns_record.priority == {{ item.update_priority | default(item.priority | default(0)) }} - -- name: test remove second dns record - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.data }}" - record_type: "{{ item.record_type | default(omit) }}" - multiple: "{{ item.multiple | default(omit) }}" - state: absent - register: result - when: item.multiple is defined and item.multiple == true -- name: verify test remove a dns record - assert: - that: - - result is changed - - result.vultr_dns_record.data == "{{ item.data }}" - - result.vultr_dns_record.name == "{{ item.name | default("") }}" - - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" - - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} - - result.vultr_dns_record.priority == {{ item.priority | default(0) }} - when: item.multiple is defined and item.multiple == true - -- name: test remove a dns record idempotence - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.update_data | default(item.data) }}" - record_type: "{{ item.record_type | default(omit) }}" - multiple: "{{ item.multiple | default(omit) }}" - state: absent - register: result -- name: verify test remove a dns record idempotence - assert: - that: - - result is not changed - -- name: test remove second dns record idempotence - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.data }}" - record_type: "{{ item.record_type | default(omit) }}" - multiple: "{{ item.multiple | default(omit) }}" - state: absent - register: result - when: item.multiple is defined and item.multiple == true -- name: verify test remove a dns record idempotence - assert: - that: - - result is not changed - when: item.multiple is defined and item.multiple == true diff --git a/test/legacy/roles/vultr_dns_record/tasks/test_fail_multiple.yml b/test/legacy/roles/vultr_dns_record/tasks/test_fail_multiple.yml deleted file mode 100644 index a41d9db57e..0000000000 --- a/test/legacy/roles/vultr_dns_record/tasks/test_fail_multiple.yml +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup first dns record - vultr_dns_record: - name: test-multiple - domain: "{{ vultr_dns_domain_name }}" - data: 1.2.3.4 - multiple: yes - register: result -- name: verify setup a dns record - assert: - that: - - result is successful - -- name: setup second dns record - vultr_dns_record: - name: test-multiple - domain: "{{ vultr_dns_domain_name }}" - data: 1.2.3.5 - multiple: yes - register: result -- name: verify setup second dns record - assert: - that: - - result is successful - -- name: test-multiple fail multiple identical records found - vultr_dns_record: - name: test-multiple - domain: "{{ vultr_dns_domain_name }}" - state: absent - register: result - ignore_errors: yes -- name: verify test fail multiple identical records found - assert: - that: - - result is failed - -- name: test-multiple fail absent multiple identical records but not data - vultr_dns_record: - name: test-multiple - domain: "{{ vultr_dns_domain_name }}" - state: absent - multiple: yes - register: result - ignore_errors: yes -- name: verify test-multiple success absent multiple identical records found - assert: - that: - - result is failed - - "result.msg == 'multiple is True but all of the following are missing: data'" - -- name: test-multiple success absent multiple identical records second found - vultr_dns_record: - name: test-multiple - domain: "{{ vultr_dns_domain_name }}" - data: 1.2.3.5 - state: absent - multiple: yes - register: result -- name: verify test-multiple success absent multiple identical records second found - assert: - that: - - result is changed - -- name: test-multiple success absent multiple identical records first found - vultr_dns_record: - name: test-multiple - domain: "{{ vultr_dns_domain_name }}" - data: 1.2.3.4 - state: absent - multiple: yes - register: result -- name: verify test-multiple success absent multiple identical records firstfound - assert: - that: - - result is changed diff --git a/test/legacy/roles/vultr_dns_record/tasks/update_record.yml b/test/legacy/roles/vultr_dns_record/tasks/update_record.yml deleted file mode 100644 index 204ebda492..0000000000 --- a/test/legacy/roles/vultr_dns_record/tasks/update_record.yml +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test update or add another dns record in check mode - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.update_data | default(item.data) }}" - ttl: "{{ item.update_ttl | default(omit) }}" - record_type: "{{ item.record_type | default(omit) }}" - priority: "{{ item.update_priority | default(omit) }}" - multiple: "{{ item.multiple | default(omit) }}" - check_mode: yes - register: result -- name: verify test updatein check mode - assert: - that: - - result is changed - - result.vultr_dns_record.data == "{{ item.data }}" - - result.vultr_dns_record.name == "{{ item.name | default("") }}" - - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" - - result.vultr_dns_record.ttl == {{ item.ttl | default(300) }} - - result.vultr_dns_record.priority == {{ item.priority | default(0) }} - when: item.multiple is undefined or item.multiple == false -- name: verify test add another dns record in check mode - assert: - that: - - result is changed - - not result.vultr_dns_record - when: item.multiple is defined and item.multiple == true - -- name: test update or add another dns record - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.update_data | default(item.data) }}" - ttl: "{{ item.update_ttl | default(omit) }}" - record_type: "{{ item.record_type | default(omit) }}" - priority: "{{ item.update_priority | default(omit) }}" - multiple: "{{ item.multiple | default(omit) }}" - register: result -- name: verify test update a dns record - assert: - that: - - result is changed - - result.vultr_dns_record.data == "{{ item.update_data | default(item.data) }}" - - result.vultr_dns_record.name == "{{ item.name | default("") }}" - - result.vultr_dns_record.ttl == {{ item.update_ttl | default(300) }} - - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" - - result.vultr_dns_record.priority == {{ item.update_priority | default(0) }} - -- name: test update or add another dns record idempotence - vultr_dns_record: - name: "{{ item.name | default(omit) }}" - domain: "{{ vultr_dns_domain_name }}" - data: "{{ item.update_data | default(item.data) }}" - ttl: "{{ item.update_ttl | default(omit) }}" - record_type: "{{ item.record_type | default(omit) }}" - priority: "{{ item.update_priority | default(omit) }}" - multiple: "{{ item.multiple | default(omit) }}" - register: result -- name: verify test update a dns record idempotence - assert: - that: - - result is not changed - - result.vultr_dns_record.data == "{{ item.update_data | default(item.data) }}" - - result.vultr_dns_record.name == "{{ item.name | default("") }}" - - result.vultr_dns_record.ttl == {{ item.update_ttl | default(300) }} - - result.vultr_dns_record.record_type == "{{ item.record_type | default('A') }}" - - result.vultr_dns_record.priority == {{ item.update_priority | default(0) }} diff --git a/test/legacy/roles/vultr_firewall_group/defaults/main.yml b/test/legacy/roles/vultr_firewall_group/defaults/main.yml deleted file mode 100644 index 7d7ac1dbeb..0000000000 --- a/test/legacy/roles/vultr_firewall_group/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -vultr_firewall_group_name: ansible-firewall-group diff --git a/test/legacy/roles/vultr_firewall_group/tasks/main.yml b/test/legacy/roles/vultr_firewall_group/tasks/main.yml deleted file mode 100644 index 577457c2d5..0000000000 --- a/test/legacy/roles/vultr_firewall_group/tasks/main.yml +++ /dev/null @@ -1,86 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup - vultr_firewall_group: - name: "{{ vultr_firewall_group_name }}" - state: absent - register: result -- name: verify setup - assert: - that: - - result is success - -- name: test fail if missing name - vultr_firewall_group: - 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 create firewall group in check mode - vultr_firewall_group: - name: "{{ vultr_firewall_group_name }}" - register: result - check_mode: yes -- name: verify test create firewall group in check mode - assert: - that: - - result is changed - -- name: test create firewall group - vultr_firewall_group: - name: "{{ vultr_firewall_group_name }}" - register: result -- name: verify test create firewall group - assert: - that: - - result is changed - - result.vultr_firewall_group.name == '{{ vultr_firewall_group_name }}' - -- name: test create firewall group idempotence - vultr_firewall_group: - name: "{{ vultr_firewall_group_name }}" - - register: result -- name: verify test create firewall group idempotence - assert: - that: - - result is not changed - - result.vultr_firewall_group.name == '{{ vultr_firewall_group_name }}' - -- name: test absent firewall group in check mode - vultr_firewall_group: - name: "{{ vultr_firewall_group_name }}" - state: absent - register: result - check_mode: yes -- name: verify test absent firewall group in check mode - assert: - that: - - result is changed - - result.vultr_firewall_group.name == '{{ vultr_firewall_group_name }}' - -- name: test absent firewall group - vultr_firewall_group: - name: "{{ vultr_firewall_group_name }}" - state: absent - register: result -- name: verify test absent firewall group - assert: - that: - - result is changed - - result.vultr_firewall_group.name == '{{ vultr_firewall_group_name }}' - -- name: test absent firewall group idempotence - vultr_firewall_group: - name: "{{ vultr_firewall_group_name }}" - state: absent - register: result -- name: verify test absent firewall group idempotence - assert: - that: - - result is not changed diff --git a/test/legacy/roles/vultr_firewall_group_facts/defaults/main.yml b/test/legacy/roles/vultr_firewall_group_facts/defaults/main.yml deleted file mode 100644 index 18d55d2853..0000000000 --- a/test/legacy/roles/vultr_firewall_group_facts/defaults/main.yml +++ /dev/null @@ -1 +0,0 @@ -firewall_group_name: mytestfirewallgroup diff --git a/test/legacy/roles/vultr_firewall_group_facts/tasks/main.yml b/test/legacy/roles/vultr_firewall_group_facts/tasks/main.yml deleted file mode 100644 index 4d7f1ced0a..0000000000 --- a/test/legacy/roles/vultr_firewall_group_facts/tasks/main.yml +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test gather vultr firewall group facts - empty resources - vultr_firewall_group_facts: - -- name: Create the firewall group - vultr_firewall_group: - name: '{{ firewall_group_name }}' - -- name: test gather vultr firewall group facts in check mode - vultr_firewall_group_facts: - check_mode: yes - -- name: verify test gather vultr firewall group facts in check mode - assert: - that: - - ansible_facts.vultr_firewall_group_facts|selectattr('description','equalto','{{ firewall_group_name }}') | list | count == 1 - -- name: test gather vultr firewall group facts - vultr_firewall_group_facts: - -- name: verify test gather vultr firewall group facts - assert: - that: - - ansible_facts.vultr_firewall_group_facts|selectattr('description','equalto','{{ firewall_group_name }}') | list | count == 1 - -- name: Delete the firewall group - vultr_firewall_group: - name: '{{ firewall_group_name }}' - state: absent diff --git a/test/legacy/roles/vultr_firewall_rule/defaults/main.yml b/test/legacy/roles/vultr_firewall_rule/defaults/main.yml deleted file mode 100644 index 7d7ac1dbeb..0000000000 --- a/test/legacy/roles/vultr_firewall_rule/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -vultr_firewall_group_name: ansible-firewall-group diff --git a/test/legacy/roles/vultr_firewall_rule/tasks/main.yml b/test/legacy/roles/vultr_firewall_rule/tasks/main.yml deleted file mode 100644 index 44097434b3..0000000000 --- a/test/legacy/roles/vultr_firewall_rule/tasks/main.yml +++ /dev/null @@ -1,475 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup firewall group - vultr_firewall_group: - name: "{{ vultr_firewall_group_name }}" - register: result -- name: verify setup firewall group - assert: - that: - - result is success - -- name: setup firewall rule tcp - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - state: absent - register: result -- name: verify setup firewal rule - assert: - that: - - result is success - -- name: setup firewall rule udp - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - state: absent - register: result -- name: verify setup firewal rule udp - assert: - that: - - result is success - -- name: setup firewall rule udp v6 - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - ip_version: v6 - state: absent - register: result -- name: verify setup firewal rule udp v6 - assert: - that: - - result is success - -- name: setup firewall rule port range - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - start_port: 8000 - end_port: 8080 - protocol: tcp - cidr: 10.100.12.0/24 - state: absent - register: result - tags: tmp -- name: verify setup firewal rule port range - assert: - that: - - result is success - -- name: setup firewall rule icmp - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - protocol: icmp - state: absent - register: result -- name: verify setup firewal rule - assert: - that: - - result is success - -- name: test fail if missing group - vultr_firewall_rule: - register: result - ignore_errors: yes -- name: verify test fail if missing group - assert: - that: - - result is failed - - 'result.msg == "missing required arguments: group"' - -- name: test create firewall rule tcp in check mode - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - register: result - check_mode: true -- name: verify test create firewall rule tcp in check mode - assert: - that: - - result is changed - -- name: test create firewall rule tcp - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - register: result -- name: verify test create firewall rule tcp - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "tcp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "0.0.0.0/0" - -- name: test create firewall rule tcp idempotence - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - register: result -- name: verify test create firewall rule tcp idempotence - assert: - that: - - result is not changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "tcp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "0.0.0.0/0" - -- name: test create firewall rule udp in check mode - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - register: result - check_mode: true -- name: verify test create firewall rule udp in check mode - assert: - that: - - result is changed - -- name: test create firewall rule udp - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - register: result -- name: verify test create firewall rule udp - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "udp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "0.0.0.0/0" - -- name: test create firewall rule udp idempotence - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - register: result -- name: verify test create firewall rule udp idempotence - assert: - that: - - result is not changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "udp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "0.0.0.0/0" - -- name: test create firewall rule udp v6 in check mode - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - ip_version: v6 - register: result - check_mode: true -- name: verify test create firewall rule udp v6 in check mode - assert: - that: - - result is changed - -- name: test create firewall rule udp v6 - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - ip_version: v6 - register: result -- name: verify test create firewall rule udp v6 - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "udp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "::/0" - -- name: test create firewall rule udp v6 idempotence - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - ip_version: v6 - register: result -- name: verify test create firewall rule udp v6 idempotence - assert: - that: - - result is not changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "udp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "::/0" - -- name: test create firewall rule port range in check mode - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - start_port: 8000 - end_port: 8080 - protocol: tcp - cidr: 10.100.12.0/24 - register: result - check_mode: true -- name: verify test create firewall rule port range in check mode - assert: - that: - - result is changed - -- name: test create firewall rule port range - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - start_port: 8000 - end_port: 8080 - protocol: tcp - cidr: 10.100.12.0/24 - register: result -- name: verify test create firewall rule port range - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "tcp" - - result.vultr_firewall_rule.start_port == 8000 - - result.vultr_firewall_rule.end_port == 8080 - - result.vultr_firewall_rule.cidr == "10.100.12.0/24" - -- name: test create firewall rule port range idempotence - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - start_port: 8000 - end_port: 8080 - protocol: tcp - cidr: 10.100.12.0/24 - register: result -- name: test create firewall rule port range idempotence - assert: - that: - - result is not changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "tcp" - - result.vultr_firewall_rule.start_port == 8000 - - result.vultr_firewall_rule.end_port == 8080 - - result.vultr_firewall_rule.cidr == "10.100.12.0/24" - -- name: test create firewall rule icmp in check mode - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - protocol: icmp - register: result - check_mode: true -- name: test create firewall rule icmp in check mode - assert: - that: - - result is changed - -- name: test create firewall rule icmp - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - protocol: icmp - register: result -- name: test create firewall rule icmp - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "icmp" - -- name: test create firewall rule icmp idempotence - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - protocol: icmp - register: result -- name: test create firewall rule icmp idempotence - assert: - that: - - result is not changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "icmp" - -- name: test remove firewall rule icmp in check mode - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - protocol: icmp - state: absent - register: result - check_mode: true -- name: test remove firewall rule icmp in check mode - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "icmp" - -- name: test remove firewall rule icmp - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - protocol: icmp - state: absent - register: result -- name: test remove firewall rule icmp - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "icmp" - -- name: test remove firewall rule icmp idempotence - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - protocol: icmp - state: absent - register: result -- name: test remove firewall rule icmp idempotence - assert: - that: - - result is not changed - -- name: test remove firewall rule tcp in check mode - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - state: absent - register: result - check_mode: true -- name: verify test remove firewall rule tcp in check mode - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "tcp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "0.0.0.0/0" - -- name: test remove firewall rule tcp - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - state: absent - register: result -- name: verify test remove firewall rule tcp - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "tcp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "0.0.0.0/0" - -- name: test remove firewall rule tcp idempotence - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - state: absent - register: result -- name: verify test remove firewall rule tcp idempotence - assert: - that: - - result is not changed - -- name: test remove firewall rule udp v6 in check mode - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - ip_version: v6 - state: absent - register: result - check_mode: true -- name: verify test remove firewall rule udp v6 in check mode - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "udp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "::/0" - -- name: test remove firewall rule udp v6 - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - ip_version: v6 - state: absent - register: result -- name: verify test remove firewall rule udp v6 - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "udp" - - result.vultr_firewall_rule.start_port == 53 - - result.vultr_firewall_rule.cidr == "::/0" - -- name: test remove firewall rule udp v6 idempotence - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - port: 53 - protocol: udp - ip_version: v6 - state: absent - register: result -- name: verify test remove firewall rule udp v6 idempotence - assert: - that: - - result is not changed - -- name: test remove firewall rule port range in check mode - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - start_port: 8000 - end_port: 8080 - protocol: tcp - cidr: 10.100.12.0/24 - state: absent - register: result - check_mode: true -- name: verify test remove firewall rule port range in check mode - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "tcp" - - result.vultr_firewall_rule.start_port == 8000 - - result.vultr_firewall_rule.end_port == 8080 - - result.vultr_firewall_rule.cidr == "10.100.12.0/24" - -- name: test remove firewall rule port range - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - start_port: 8000 - end_port: 8080 - protocol: tcp - cidr: 10.100.12.0/24 - state: absent - register: result -- name: verify test remove firewall rule port range - assert: - that: - - result is changed - - result.vultr_firewall_rule.action == "accept" - - result.vultr_firewall_rule.protocol == "tcp" - - result.vultr_firewall_rule.start_port == 8000 - - result.vultr_firewall_rule.end_port == 8080 - - result.vultr_firewall_rule.cidr == "10.100.12.0/24" - -- name: test remove firewall rule port range idempotence - vultr_firewall_rule: - group: "{{ vultr_firewall_group_name }}" - start_port: 8000 - end_port: 8080 - protocol: tcp - cidr: 10.100.12.0/24 - state: absent - register: result -- name: verify test remove firewall rule port range idempotence - assert: - that: - - result is not changed diff --git a/test/legacy/roles/vultr_network/defaults/main.yml b/test/legacy/roles/vultr_network/defaults/main.yml deleted file mode 100644 index be72f7e2f1..0000000000 --- a/test/legacy/roles/vultr_network/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -vultr_network_name: ansible-test-network -vultr_network_cidr: 192.168.42.0/24 -vultr_network_region: New Jersey diff --git a/test/legacy/roles/vultr_network/tasks/main.yml b/test/legacy/roles/vultr_network/tasks/main.yml deleted file mode 100644 index 7a7b0b1b28..0000000000 --- a/test/legacy/roles/vultr_network/tasks/main.yml +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup - vultr_network: - name: "{{ vultr_network_name }}" - state: absent - register: result -- name: verify setup - assert: - that: - - result is success - -- name: test fail if missing name - vultr_network: - 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_network: - name: "{{ vultr_network_name }}" - register: result - ignore_errors: yes -- name: verify fail if missing params for state=present - assert: - that: - - result is failed - - 'result.msg == "state is present but all of the following are missing: cidr, region"' - -- name: test create network in check mode - vultr_network: - name: "{{ vultr_network_name }}" - cidr: "{{ vultr_network_cidr }}" - region: "{{ vultr_network_region }}" - register: result - check_mode: yes -- name: verify test create server in check mode - assert: - that: - - result is changed - -- name: test create network - vultr_network: - name: "{{ vultr_network_name }}" - cidr: "{{ vultr_network_cidr }}" - region: "{{ vultr_network_region }}" - register: result - -- name: verify test create network - assert: - that: - - result is changed - - result.vultr_network.name == "{{ vultr_network_name }}" - - result.vultr_network.region == "{{ vultr_network_region }}" - - result.vultr_network.v4_subnet == "{{ vultr_network_cidr.split('/')[0] }}" - - result.vultr_network.v4_subnet_mask == 24 - -- name: test create network idempotence - vultr_network: - name: "{{ vultr_network_name }}" - cidr: "{{ vultr_network_cidr }}" - region: "{{ vultr_network_region }}" - register: result - -- name: verify test network idempotence - assert: - that: - - result is not changed - - result.vultr_network.name == "{{ vultr_network_name }}" - - result.vultr_network.region == "{{ vultr_network_region }}" - - result.vultr_network.v4_subnet == "{{ vultr_network_cidr.split('/')[0] }}" - - result.vultr_network.v4_subnet_mask == 24 - -- name: test destroy network in check mode - vultr_network: - name: "{{ vultr_network_name }}" - state: absent - register: result - check_mode: yes - -- name: verify test destroy network in check mode - assert: - that: - - result is changed - - result.vultr_network.name == "{{ vultr_network_name }}" - -- name: test destroy network volume - vultr_network: - name: "{{ vultr_network_name }}" - state: absent - register: result - -- name: verify test destroy an existing network - assert: - that: - - result is changed - - result.vultr_network.name == "{{ vultr_network_name }}" - -- name: test destroy an existing network idempotence - vultr_network: - name: "{{ vultr_network_name }}" - state: absent - register: result - -- name: verify test destroy an existing network idempotence - assert: - that: - - result is not changed diff --git a/test/legacy/roles/vultr_network_facts/defaults/main.yml b/test/legacy/roles/vultr_network_facts/defaults/main.yml deleted file mode 100644 index 28c2ecbdb3..0000000000 --- a/test/legacy/roles/vultr_network_facts/defaults/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -vultr_network_name: mytestnetwork -vultr_network_cidr: 192.168.42.0/24 -vultr_network_region: New Jersey diff --git a/test/legacy/roles/vultr_network_facts/tasks/main.yml b/test/legacy/roles/vultr_network_facts/tasks/main.yml deleted file mode 100644 index 3f05e75179..0000000000 --- a/test/legacy/roles/vultr_network_facts/tasks/main.yml +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test gather vultr network facts - empty resources - vultr_network_facts: - -- name: Create the network - vultr_network: - name: '{{ vultr_network_name }}' - cidr: '{{ vultr_network_cidr }}' - region: '{{ vultr_network_region }}' - -- name: test gather vultr network facts in check mode - vultr_network_facts: - check_mode: yes - -- name: verify test gather vultr network facts in check mode - assert: - that: - - ansible_facts.vultr_network_facts|selectattr('name','equalto','{{ vultr_network_name }}') | list | count == 1 - -- name: test gather vultr network facts - vultr_network_facts: - -- name: verify test gather vultr network facts - assert: - that: - - ansible_facts.vultr_network_facts|selectattr('name','equalto','{{ vultr_network_name }}') | list | count == 1 - -- name: Delete the script - vultr_network: - name: '{{ vultr_network_name }}' - state: absent diff --git a/test/legacy/roles/vultr_os_facts/tasks/main.yml b/test/legacy/roles/vultr_os_facts/tasks/main.yml deleted file mode 100644 index ca920aab00..0000000000 --- a/test/legacy/roles/vultr_os_facts/tasks/main.yml +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test gather vultr os facts in check mode - vultr_os_facts: - check_mode: yes - -- name: verify test gather vultr os facts in check mode - assert: - that: - - ansible_facts.vultr_os_facts|selectattr('name','equalto', 'CentOS 7 x64') | list | count == 1 - -- name: test gather vultr os fact - vultr_os_facts: - -- name: verify test gather vultr os facts - assert: - that: - - ansible_facts.vultr_os_facts|selectattr('name','equalto', 'CentOS 7 x64') | list | count == 1 diff --git a/test/legacy/roles/vultr_plan_facts/tasks/main.yml b/test/legacy/roles/vultr_plan_facts/tasks/main.yml deleted file mode 100644 index 8efe5b738a..0000000000 --- a/test/legacy/roles/vultr_plan_facts/tasks/main.yml +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test gather vultr plan facts in check mode - vultr_plan_facts: - check_mode: yes - -- name: verify test gather vultr plan facts in check mode - assert: - that: - - ansible_facts.vultr_plan_facts|selectattr('name','equalto','16384 MB RAM,110 GB SSD,20.00 TB BW') | list | count == 1 - -- name: test gather vultr plan fact - vultr_plan_facts: - -- name: verify test gather vultr plan facts - assert: - that: - - ansible_facts.vultr_plan_facts|selectattr('name','equalto','16384 MB RAM,110 GB SSD,20.00 TB BW') | list | count == 1 diff --git a/test/legacy/roles/vultr_region_facts/tasks/main.yml b/test/legacy/roles/vultr_region_facts/tasks/main.yml deleted file mode 100644 index df6490c820..0000000000 --- a/test/legacy/roles/vultr_region_facts/tasks/main.yml +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test gather vultr region facts in check mode - vultr_region_facts: - check_mode: yes - -- name: verify test gather vultr region facts in check mode - assert: - that: - - ansible_facts.vultr_region_facts|selectattr('name','equalto','Atlanta') | list | count == 1 - -- name: test gather vultr region facts - vultr_region_facts: - -- name: verify test gather vultr region facts - assert: - that: - - ansible_facts.vultr_region_facts|selectattr('name','equalto','Atlanta') | list | count == 1 diff --git a/test/legacy/roles/vultr_server/defaults/main.yml b/test/legacy/roles/vultr_server/defaults/main.yml deleted file mode 100644 index dfe5b73bd3..0000000000 --- a/test/legacy/roles/vultr_server/defaults/main.yml +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -vultr_server_name: ansible-test-vm1 -vultr_server_ssh_keys: -- name: key1 - key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAyWYItY+3w5b8PdGRoz0oY5mufqydW96naE+VM3JSvJFAUS08rAjQQpQ03ymoALeHQy6JVZbcgecxn6p0pAOINQdqufn4udPtOPCtMjNiPGpkSM9ah/6X5+kvyWMNrvlf+Ld4OOoszP5sAkgQzIbrFQAm41XknBUha0zkewZwfrVhain4pnDjV7wCcChId/Q/Gbi4xMtXkisznWcAJcueBs3EEZDKhJ5q0VeWSJEhYJDLFN1sOxF0AIUnMrOhfKQ/LjgREXPB6uCl899INUTXRNNjRpeMXyJ2wMMmOAbua2qEd1r13Bu1n+6A823Hzb33fyMXuqWnJwBJ4DCvMlGuEsfuOK+xk7DaBfLHbcM6fsPk0/4psTE6YLgC41remr6+u5ZWsY/faMtSnNPie8Z8Ov0DIYGdhbJjUXk1HomxRV9+ZfZ2Ob8iCwlaAQAyEUM6fs3Kxt8pBD8dx1HOkhsfBWPvuDr5y+kqE7H8/MuPDTc0QgH2pjUMpmw/XBwNDHshVEjrZvtICOjOLUJxcowLO1ivNYwPwowQxfisMy56LfYdjsOslBiqsrkAqvNGm1zu8wKHeqVN9w5l3yUELpvubfm9NKIvYcl6yWF36T0c5vE+g0DU/Jy4XpTj0hZG9QV2mRQcLJnd2pxQtJT7cPFtrn/+tgRxzjEtbDXummDV4sE= mail@renemoser.net" -- name: key2 - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoQ9S7V+CufAgwoehnf2TqsJ9LTsu8pUA3FgpS2mdVwcMcTs++8P5sQcXHLtDmNLpWN4k7NQgxaY1oXy5e25x/4VhXaJXWEt3luSw+Phv/PB2+aGLvqCUirsLTAD2r7ieMhd/pcVf/HlhNUQgnO1mupdbDyqZoGD/uCcJiYav8i/V7nJWJouHA8yq31XS2yqXp9m3VC7UZZHzUsVJA9Us5YqF0hKYeaGruIHR2bwoDF9ZFMss5t6/pzxMljU/ccYwvvRDdI7WX4o4+zLuZ6RWvsU6LGbbb0pQdB72tlV41fSefwFsk4JRdKbyV3Xjf25pV4IXOTcqhy+4JTB/jXxrF torwalds@github.com" diff --git a/test/legacy/roles/vultr_server/tasks/main.yml b/test/legacy/roles/vultr_server/tasks/main.yml deleted file mode 100644 index d3269c78bc..0000000000 --- a/test/legacy/roles/vultr_server/tasks/main.yml +++ /dev/null @@ -1,508 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup - vultr_server: - name: "{{ vultr_server_name }}" - state: absent - register: result -- name: verify setup - assert: - that: - - result is success - -# Servers can only be destroyed 5 min after creation -- name: wait for 5 min - local_action: wait_for - when: result is changed - -- name: test fail if missing name - vultr_server: - 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_server: - name: "{{ vultr_server_name }}" - register: result - ignore_errors: yes -- name: verify fail if missing params for state=present - assert: - that: - - result is failed - - 'result.msg == "missing required arguments: os, plan, region"' - -- name: setup create ssh keys - vultr_ssh_key: - name: "{{ item.name }}" - ssh_key: "{{ item.key }}" - loop: "{{ vultr_server_ssh_keys }}" - -- name: test create server in check mode - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 1024 MB RAM,25 GB SSD,1.00 TB BW - ssh_keys: - - key1 - - key2 - region: Amsterdam - state: started - register: result - check_mode: yes -- name: verify test create server in check mode - assert: - that: - - result is changed - -- name: test create server - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 1024 MB RAM,25 GB SSD,1.00 TB BW - ssh_keys: - - key1 - - key2 - region: Amsterdam - state: started - register: result -- name: verify test create server - assert: - that: - - result is changed - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.power_status == 'running' - -- name: test create server idempotence - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 1024 MB RAM,25 GB SSD,1.00 TB BW - ssh_keys: - - key1 - - key2 - region: Amsterdam - state: started - register: result -- name: verify test create server idempotence - assert: - that: - - result is not changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - -- name: test stop an existing server in check mode - vultr_server: - name: "{{ vultr_server_name }}" - state: stopped - register: result - check_mode: yes -- name: verify test stop server in check mode - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -- name: test stop an existing server - vultr_server: - name: "{{ vultr_server_name }}" - state: stopped - register: result -- name: verify test stop an existing server - assert: - that: - - result is changed - - result.vultr_server.power_status == 'stopped' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -- name: test stop an existing server idempotence - vultr_server: - name: "{{ vultr_server_name }}" - state: stopped - register: result -- name: verify test stop an existing server idempotence - assert: - that: - - result is not changed - - result.vultr_server.power_status == 'stopped' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -- name: test start an existing server in check mode - vultr_server: - name: "{{ vultr_server_name }}" - state: started - register: result - check_mode: yes -- name: verify test start an existing server in check mode - assert: - that: - - result is changed - - result.vultr_server.power_status == 'stopped' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -- name: test start an existing server - vultr_server: - name: "{{ vultr_server_name }}" - state: started - register: result -- name: verify test start an existing server - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -- name: test start an existing server idempotence - vultr_server: - name: "{{ vultr_server_name }}" - state: started - register: result -- name: verify test start an existing server idempotence - assert: - that: - - result is not changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -- name: test update plan for server in check mode without force - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 2048 MB RAM,40 GB SSD,2.00 TB BW - region: Amsterdam - register: result - check_mode: yes -- name: verify test update plan for server in check mode without force - assert: - that: - - result is not changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - -- name: test update plan for server without force - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 2048 MB RAM,40 GB SSD,2.00 TB BW - region: Amsterdam - register: result -- name: verify test update plan for server without force - assert: - that: - - result is not changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - -- name: setup firewall group - vultr_firewall_group: - name: test_firewall_group - register: result -- name: verify test create firewall group - assert: - that: - - result is success - -- name: test fail with unknown firewall group - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - region: Amsterdam - firewall_group: does not exist - tag: test_tag - register: result - ignore_errors: yes - check_mode: yes -- name: verify test fail with unknown firewall group - assert: - that: - - result is failed - - result.msg.startswith('Could not find') - -- name: test update tag, firewall group for server in check mode without force - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - region: Amsterdam - firewall_group: test_firewall_group - tag: test_tag - register: result - check_mode: yes -- name: verify test update tag, firewall group for server in check mode without force - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.tag == '' - - result.vultr_server.firewall_group != 'test_firewall_group' - -- name: test update tag, firewall group for server without force - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - region: Amsterdam - firewall_group: test_firewall_group - tag: test_tag - register: result -- name: verify test update tag, firewall group for server without force - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.tag == 'test_tag' - - result.vultr_server.firewall_group == 'test_firewall_group' - -- name: test update tag, firewall group for server without force idempotence - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - region: Amsterdam - firewall_group: test_firewall_group - tag: test_tag - register: result -- name: verify test update tag, firewall group for server without force idempotence - assert: - that: - - result is not changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.tag == 'test_tag' - - result.vultr_server.firewall_group == 'test_firewall_group' - -- name: test update server in check mode with force - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 2048 MB RAM,40 GB SSD,2.00 TB BW - auto_backup_enabled: yes - region: Amsterdam - force: yes - register: result - check_mode: yes -- name: verify test update server in check mode with force - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '1024 MB RAM,25 GB SSD,1.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.auto_backup_enabled == false - -- name: test update server with force - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 2048 MB RAM,40 GB SSD,2.00 TB BW - auto_backup_enabled: yes - region: Amsterdam - force: yes - register: result -- name: verify test update server with force - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.auto_backup_enabled == true - -- name: test update server idempotence with force - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 2048 MB RAM,40 GB SSD,2.00 TB BW - auto_backup_enabled: true - region: Amsterdam - force: true - register: result -- name: verify test update server idempotence with force - assert: - that: - - result is not changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.auto_backup_enabled == true - -- name: test update server to stopped in check mode - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 2048 MB RAM,40 GB SSD,2.00 TB BW - ipv6_enabled: true - region: Amsterdam - state: stopped - register: result - check_mode: yes -- name: verify test update server to stopped in check mode - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.v6_main_ip == '' - -- name: test update server to stopped - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 2048 MB RAM,40 GB SSD,2.00 TB BW - ipv6_enabled: true - region: Amsterdam - state: stopped - register: result -- name: verify test update server to stopped - assert: - that: - - result is changed - - result.vultr_server.power_status == 'stopped' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.v6_main_ip != '' - -- name: test update server to stopped idempotence - vultr_server: - name: "{{ vultr_server_name }}" - os: CentOS 6 x64 - plan: 2048 MB RAM,40 GB SSD,2.00 TB BW - region: Amsterdam - state: stopped - register: result -- name: verify test update server to stopped idempotence - assert: - that: - - result is not changed - - result.vultr_server.power_status == 'stopped' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.plan == '2048 MB RAM,40 GB SSD,2.00 TB BW' - - result.vultr_server.region == 'Amsterdam' - - result.vultr_server.v6_main_ip != '' - -- name: test restart an existing server in check mode - vultr_server: - name: "{{ vultr_server_name }}" - state: restarted - register: result - check_mode: yes -- name: verify test restart an existing server in check mode - assert: - that: - - result is changed - - result.vultr_server.power_status == 'stopped' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -- name: test restart an existing server - vultr_server: - name: "{{ vultr_server_name }}" - state: restarted - register: result -- name: verify test restart an existing server - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -- name: test absent server in check mode - vultr_server: - name: "{{ vultr_server_name }}" - state: absent - register: result - check_mode: yes -- name: verify test absent server in check mode - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -# Servers can only be destroyed 5 min after creation -- name: wait for 5 min - local_action: wait_for - -- name: test absent server - vultr_server: - name: "{{ vultr_server_name }}" - state: absent - register: result -- name: verify test absent server - assert: - that: - - result is changed - - result.vultr_server.power_status == 'running' - - result.vultr_server.name == '{{ vultr_server_name }}' - - result.vultr_server.os == 'CentOS 6 x64' - - result.vultr_server.region == 'Amsterdam' - -- name: test absent server idempotence - vultr_server: - name: "{{ vultr_server_name }}" - state: absent - register: result -- name: verify test absent server idempotence - assert: - that: - - result is not changed - -- name: cleanup ssh keys - vultr_ssh_key: - name: "{{ item.name }}" - ssh_key: "{{ item.key }}" - state: absent - loop: "{{ vultr_server_ssh_keys }}" diff --git a/test/legacy/roles/vultr_server_facts/defaults/main.yml b/test/legacy/roles/vultr_server_facts/defaults/main.yml deleted file mode 100644 index fe63707fcd..0000000000 --- a/test/legacy/roles/vultr_server_facts/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -vultr_server_name: ansibletest -vultr_server_os: CentOS 7 x64 -vultr_server_plan: 1024 MB RAM,25 GB SSD,1.00 TB BW -vultr_server_region: Amsterdam diff --git a/test/legacy/roles/vultr_server_facts/tasks/main.yml b/test/legacy/roles/vultr_server_facts/tasks/main.yml deleted file mode 100644 index 95af65e7ee..0000000000 --- a/test/legacy/roles/vultr_server_facts/tasks/main.yml +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup ensure VM is absent - vultr_server: - name: "{{ vultr_server_name }}" - state: absent - register: result - -# Servers can only be destroyed 5 min after creation -- name: wait for 5 min until VM is absent - local_action: wait_for - when: result is changed - -- name: test gather vultr server facts - empty resources - vultr_server_facts: -- name: verify test gather vultr server facts - empty resources - assert: - that: - - ansible_facts.vultr_server_facts | count == 0 - -- name: setup firewall group - vultr_firewall_group: - name: test_vultr_server_facts - -- name: setup create the server - vultr_server: - name: '{{ vultr_server_name }}' - os: '{{ vultr_server_os }}' - plan: '{{ vultr_server_plan }}' - region: '{{ vultr_server_region }}' - firewall_group: test_vultr_server_facts - -- name: test gather vultr server facts in check mode - vultr_server_facts: - check_mode: yes - -- name: verify test gather vultr server facts in check mode - assert: - that: - - ansible_facts.vultr_server_facts|selectattr('name','equalto','{{ vultr_server_name }}') | list | count == 1 - -- name: test gather vultr server facts - vultr_server_facts: - -- name: verify test gather vultr server facts - assert: - that: - - ansible_facts.vultr_server_facts|selectattr('name','equalto','{{ vultr_server_name }}') | list | count == 1 - -- name: Pause for 5 min before deleting the VM - pause: - minutes: 5 - -- name: cleanup the server - vultr_server: - name: '{{ vultr_server_name }}' - state: absent - -- name: cleanup firewall group - vultr_firewall_group: - name: test_vultr_server_facts - state: absent diff --git a/test/legacy/roles/vultr_ssh_key/defaults/main.yml b/test/legacy/roles/vultr_ssh_key/defaults/main.yml deleted file mode 100644 index 7ded5b6b17..0000000000 --- a/test/legacy/roles/vultr_ssh_key/defaults/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -vultr_ssh_key_name: ansible-ssh-key -vultr_ssh_key: "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEAyWYItY+3w5b8PdGRoz0oY5mufqydW96naE+VM3JSvJFAUS08rAjQQpQ03ymoALeHQy6JVZbcgecxn6p0pAOINQdqufn4udPtOPCtMjNiPGpkSM9ah/6X5+kvyWMNrvlf+Ld4OOoszP5sAkgQzIbrFQAm41XknBUha0zkewZwfrVhain4pnDjV7wCcChId/Q/Gbi4xMtXkisznWcAJcueBs3EEZDKhJ5q0VeWSJEhYJDLFN1sOxF0AIUnMrOhfKQ/LjgREXPB6uCl899INUTXRNNjRpeMXyJ2wMMmOAbua2qEd1r13Bu1n+6A823Hzb33fyMXuqWnJwBJ4DCvMlGuEsfuOK+xk7DaBfLHbcM6fsPk0/4psTE6YLgC41remr6+u5ZWsY/faMtSnNPie8Z8Ov0DIYGdhbJjUXk1HomxRV9+ZfZ2Ob8iCwlaAQAyEUM6fs3Kxt8pBD8dx1HOkhsfBWPvuDr5y+kqE7H8/MuPDTc0QgH2pjUMpmw/XBwNDHshVEjrZvtICOjOLUJxcowLO1ivNYwPwowQxfisMy56LfYdjsOslBiqsrkAqvNGm1zu8wKHeqVN9w5l3yUELpvubfm9NKIvYcl6yWF36T0c5vE+g0DU/Jy4XpTj0hZG9QV2mRQcLJnd2pxQtJT7cPFtrn/+tgRxzjEtbDXummDV4sE= ansible@example.com" -vultr_ssh_key2: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCoQ9S7V+CufAgwoehnf2TqsJ9LTsu8pUA3FgpS2mdVwcMcTs++8P5sQcXHLtDmNLpWN4k7NQgxaY1oXy5e25x/4VhXaJXWEt3luSw+Phv/PB2+aGLvqCUirsLTAD2r7ieMhd/pcVf/HlhNUQgnO1mupdbDyqZoGD/uCcJiYav8i/V7nJWJouHA8yq31XS2yqXp9m3VC7UZZHzUsVJA9Us5YqF0hKYeaGruIHR2bwoDF9ZFMss5t6/pzxMljU/ccYwvvRDdI7WX4o4+zLuZ6RWvsU6LGbbb0pQdB72tlV41fSefwFsk4JRdKbyV3Xjf25pV4IXOTcqhy+4JTB/jXxrF torwalds@github.com" diff --git a/test/legacy/roles/vultr_ssh_key/tasks/main.yml b/test/legacy/roles/vultr_ssh_key/tasks/main.yml deleted file mode 100644 index ce46970e08..0000000000 --- a/test/legacy/roles/vultr_ssh_key/tasks/main.yml +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - state: absent - register: result -- name: verify setup - assert: - that: - - result is success - -- name: test fail if missing name - vultr_ssh_key: - 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_ssh_key: - name: "{{ vultr_ssh_key_name }}" - register: result - ignore_errors: yes -- name: verify fail if missing params for state=present - assert: - that: - - result is failed - - 'result.msg == "state is present but all of the following are missing: ssh_key"' - -- name: test create ssh key in check mode - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - ssh_key: "{{ vultr_ssh_key }}" - register: result - check_mode: yes -- name: verify test create ssh key in check mode - assert: - that: - - result is changed - -- name: test create ssh key - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - ssh_key: "{{ vultr_ssh_key }}" - register: result -- name: verify test create ssh key - assert: - that: - - result is changed - - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' - - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key }}' - -- name: test create ssh key idempotence - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - ssh_key: "{{ vultr_ssh_key }}" - register: result -- name: verify test create ssh key idempotence - assert: - that: - - result is not changed - - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' - - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key }}' - -- name: test update ssh key in check mode - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - ssh_key: "{{ vultr_ssh_key2 }}" - register: result - check_mode: yes -- name: verify test update ssh key in check mode - assert: - that: - - result is changed - - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' - - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key }}' - -- name: test update ssh key - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - ssh_key: "{{ vultr_ssh_key2 }}" - register: result -- name: verify test update ssh key - assert: - that: - - result is changed - - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' - - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key2 }}' - -- name: test update ssh key idempotence - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - ssh_key: "{{ vultr_ssh_key2 }}" - register: result -- name: verify test update ssh key idempotence - assert: - that: - - result is not changed - - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' - - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key2 }}' - -- name: test absent ssh key in check mode - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - state: absent - register: result - check_mode: yes -- name: verify test absent ssh key in check mode - assert: - that: - - result is changed - - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' - - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key2 }}' - -- name: test absent ssh key - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - state: absent - register: result -- name: verify test absent ssh key - assert: - that: - - result is changed - - result.vultr_ssh_key.name == '{{ vultr_ssh_key_name }}' - - result.vultr_ssh_key.ssh_key == '{{ vultr_ssh_key2 }}' - -- name: test absent ssh key idempotence - vultr_ssh_key: - name: "{{ vultr_ssh_key_name }}" - state: absent - register: result -- name: verify test absent ssh key idempotence - assert: - that: - - result is not changed diff --git a/test/legacy/roles/vultr_ssh_key_facts/defaults/main.yml b/test/legacy/roles/vultr_ssh_key_facts/defaults/main.yml deleted file mode 100644 index bb4ecce18b..0000000000 --- a/test/legacy/roles/vultr_ssh_key_facts/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -ssh_key_name: ansibletest-sshkey -ssh_key_content: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+ZFQv3MyjtL1BMpSA0o0gIkzLVVC711rthT29hBNeORdNowQ7FSvVWUdAbTq00U7Xzak1ANIYLJyn+0r7olsdG4XEiUR0dqgC99kbT/QhY5mLe5lpl7JUjW9ctn00hNmt+TswpatCKWPNwdeAJT2ERynZaqPobENgvIq7jfOFWQIVew7qrewtqwerqwrewUr2Cdq7Nb7U0XFXh3x1p0v0+MbL4tiJwPlMAGvFTKIMt+EaA+AsRIxiOo9CMk5ZuOl9pT8h5vNuEOcvS0qx4v44EAD2VOsCVCcrPNMcpuSzZP8dRTGU9wRREAWXngD0Zq9YJMH38VTxHiskoBw1NnPz ansibletest@sshkey diff --git a/test/legacy/roles/vultr_ssh_key_facts/tasks/main.yml b/test/legacy/roles/vultr_ssh_key_facts/tasks/main.yml deleted file mode 100644 index 426228d0ea..0000000000 --- a/test/legacy/roles/vultr_ssh_key_facts/tasks/main.yml +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test gather vultr ssh key fact - empty resources - vultr_ssh_key_facts: - -- name: Upload an ssh key - vultr_ssh_key: - name: '{{ ssh_key_name }}' - ssh_key: '{{ ssh_key_content }}' - -- name: test gather vultr ssh key facts in check mode - vultr_ssh_key_facts: - check_mode: yes - -- name: verify test gather vultr ssh key facts in check mode - assert: - that: - - ansible_facts.vultr_ssh_key_facts|selectattr('name','equalto','{{ ssh_key_name }}') | list | count == 1 - - ansible_facts.vultr_ssh_key_facts|selectattr('ssh_key','equalto','{{ ssh_key_content }}') | list | count == 1 - -- name: test gather vultr ssh key fact - vultr_ssh_key_facts: - -- name: verify test gather vultr ssh key facts - assert: - that: - - ansible_facts.vultr_ssh_key_facts|selectattr('name','equalto','{{ ssh_key_name }}') | list | count == 1 - - ansible_facts.vultr_ssh_key_facts|selectattr('ssh_key','equalto','{{ ssh_key_content }}') | list | count == 1 - -- name: Destroy the ssh key - vultr_ssh_key: - name: ansibletest-sshkey - state: absent diff --git a/test/legacy/roles/vultr_startup_script/defaults/main.yml b/test/legacy/roles/vultr_startup_script/defaults/main.yml deleted file mode 100644 index f13f403236..0000000000 --- a/test/legacy/roles/vultr_startup_script/defaults/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -vultr_startup_script_name: ansible_test_script -vultr_startup_script: "#!/bin/bash\necho Hello World > /root/hello" -vultr_startup_script2: "#!/bin/bash\necho Hello to my World > /root/hello" diff --git a/test/legacy/roles/vultr_startup_script/tasks/main.yml b/test/legacy/roles/vultr_startup_script/tasks/main.yml deleted file mode 100644 index 09929beb26..0000000000 --- a/test/legacy/roles/vultr_startup_script/tasks/main.yml +++ /dev/null @@ -1,140 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: setup - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - state: absent - register: result -- name: verify setup - assert: - that: - - result is success - -- name: test fail if missing name - vultr_startup_script: - 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_startup_script: - name: "{{ vultr_startup_script_name }}" - register: result - ignore_errors: yes -- name: verify fail if missing params for state=present - assert: - that: - - result is failed - - 'result.msg == "state is present but all of the following are missing: script"' - -- name: test create startup script in check mode - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - script: "{{ vultr_startup_script }}" - register: result - check_mode: yes -- name: verify test create startup script in check mode - assert: - that: - - result is changed - -- name: test create startup script - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - script: "{{ vultr_startup_script }}" - register: result -- name: verify test create startup script - assert: - that: - - result is changed - - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' - - result.vultr_startup_script.script == '{{ vultr_startup_script }}' - -- name: test create startup script idempotence - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - script: "{{ vultr_startup_script }}" - register: result -- name: verify test create startup script idempotence - assert: - that: - - result is not changed - - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' - - result.vultr_startup_script.script == '{{ vultr_startup_script }}' - -- name: test update startup script in check mode - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - script: "{{ vultr_startup_script2 }}" - register: result - check_mode: yes -- name: verify test update startup script in check mode - assert: - that: - - result is changed - - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' - - result.vultr_startup_script.script == '{{ vultr_startup_script }}' - -- name: test update startup script - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - script: "{{ vultr_startup_script2 }}" - register: result -- name: verify test update startup script - assert: - that: - - result is changed - - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' - - result.vultr_startup_script.script == '{{ vultr_startup_script2 }}' - -- name: test update startup script idempotence - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - script: "{{ vultr_startup_script2 }}" - register: result -- name: verify test update startup script idempotence - assert: - that: - - result is not changed - - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' - - result.vultr_startup_script.script == '{{ vultr_startup_script2 }}' - -- name: test absent startup script in check mode - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - state: absent - register: result - check_mode: yes -- name: verify test absent startup script in check mode - assert: - that: - - result is changed - - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' - - result.vultr_startup_script.script == '{{ vultr_startup_script2 }}' - -- name: test absent startup script - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - state: absent - register: result -- name: verify test absent startup script - assert: - that: - - result is changed - - result.vultr_startup_script.name == '{{ vultr_startup_script_name }}' - - result.vultr_startup_script.script == '{{ vultr_startup_script2 }}' - -- name: test absent startup script idempotence - vultr_startup_script: - name: "{{ vultr_startup_script_name }}" - state: absent - register: result -- name: verify test absent startup script idempotence - assert: - that: - - result is not changed diff --git a/test/legacy/roles/vultr_startup_script_facts/defaults/main.yml b/test/legacy/roles/vultr_startup_script_facts/defaults/main.yml deleted file mode 100644 index d3346b2a49..0000000000 --- a/test/legacy/roles/vultr_startup_script_facts/defaults/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -startup_script_name: myteststartupscript -startup_script_type: boot -startup_script_content: "#!/bin/bash\necho Hello World > /root/hello" diff --git a/test/legacy/roles/vultr_startup_script_facts/tasks/main.yml b/test/legacy/roles/vultr_startup_script_facts/tasks/main.yml deleted file mode 100644 index 1db43bc831..0000000000 --- a/test/legacy/roles/vultr_startup_script_facts/tasks/main.yml +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: test gather vultr startup script facts - empty resources - vultr_startup_script_facts: - -- name: Create the script - vultr_startup_script: - name: '{{ startup_script_name }}' - script_type: '{{ startup_script_type }}' - script: '{{ startup_script_content }}' - -- name: test gather vultr startup script facts in check mode - vultr_startup_script_facts: - check_mode: yes - -- name: verify test gather vultr startup script facts in check mode - assert: - that: - - ansible_facts.vultr_startup_script_facts|selectattr('name','equalto','{{ startup_script_name }}') | list | count == 1 - -- name: test gather vultr startup script facts - vultr_startup_script_facts: - -- name: verify test gather vultr startup script facts - assert: - that: - - ansible_facts.vultr_startup_script_facts|selectattr('name','equalto','{{ startup_script_name }}') | list | count == 1 - -- name: Delete the script - vultr_startup_script: - name: '{{ startup_script_name }}' - state: absent diff --git a/test/legacy/roles/vultr_user/defaults/main.yml b/test/legacy/roles/vultr_user/defaults/main.yml deleted file mode 100644 index 22e3698f21..0000000000 --- a/test/legacy/roles/vultr_user/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -vultr_user_name: john diff --git a/test/legacy/roles/vultr_user/tasks/main.yml b/test/legacy/roles/vultr_user/tasks/main.yml deleted file mode 100644 index 8c3684c111..0000000000 --- a/test/legacy/roles/vultr_user/tasks/main.yml +++ /dev/null @@ -1,225 +0,0 @@ ---- -# Copyright (c) 2018, René Moser -# 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 diff --git a/test/legacy/roles/vultr_user_facts/defaults/main.yml b/test/legacy/roles/vultr_user_facts/defaults/main.yml deleted file mode 100644 index 4127d161a2..0000000000 --- a/test/legacy/roles/vultr_user_facts/defaults/main.yml +++ /dev/null @@ -1,8 +0,0 @@ -user_name: mytestuser -user_email: mytestuser@example.com -user_password: aP4ssw0rd! -user_acls: - - upgrade - - dns - - manage_users - - subscriptions diff --git a/test/legacy/roles/vultr_user_facts/tasks/main.yml b/test/legacy/roles/vultr_user_facts/tasks/main.yml deleted file mode 100644 index f70622214a..0000000000 --- a/test/legacy/roles/vultr_user_facts/tasks/main.yml +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2018, Yanis Guenane -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- name: Create the user - vultr_user: - name: '{{ user_name }}' - email: '{{ user_email }}' - password: '{{ user_password }}' - acls: '{{ user_acls }}' - -- name: test gather vultr user facts in check mode - vultr_user_facts: - check_mode: yes - -- name: verify test gather vultr user facts in check mode - assert: - that: - - ansible_facts.vultr_user_facts|selectattr('name','equalto','{{ user_name }}') | list | count == 1 - -- name: test gather vultr user facts - vultr_user_facts: - -- name: verify test gather vultr user facts - assert: - that: - - ansible_facts.vultr_user_facts|selectattr('name','equalto','{{ user_name }}') | list | count == 1 - -- name: Delete the user - vultr_user: - name: '{{ user_name }}' - state: absent diff --git a/test/legacy/vultr.yml b/test/legacy/vultr.yml deleted file mode 100644 index 9223915c83..0000000000 --- a/test/legacy/vultr.yml +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) 2018, René Moser -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) ---- -- hosts: localhost - gather_facts: no - connection: local - roles: - - { role: vultr_account_facts, tags: test_vultr_account_facts } - - { role: vultr_block_storage, tags: test_vultr_block_storage } - - { role: vultr_block_storage_facts, tags: test_vultr_block_storage_facts } - - { role: vultr_dns_domain, tags: test_vultr_dns_domain } - - { role: vultr_dns_domain_facts, tags: test_vultr_dns_domain_facts } - - { role: vultr_dns_record, tags: test_vultr_dns_record } - - { role: vultr_firewall_group, tags: test_vultr_firewall_group } - - { role: vultr_firewall_group_facts, tags: test_vultr_firewall_group_facts } - - { role: vultr_firewall_rule, tags: test_vultr_firewall_rule } - - { role: vultr_network, tags: test_vultr_network } - - { role: vultr_network_facts, tags: test_vultr_network_facts } - - { role: vultr_os_facts, tags: test_vultr_os_facts } - - { role: vultr_plan_facts, tags: test_vultr_plan_facts } - - { role: vultr_region_facts, tags: test_vultr_region_facts } - - { role: vultr_server, tags: test_vultr_server } - - { role: vultr_server_facts, tags: test_vultr_server_facts } - - { role: vultr_ssh_key, tags: test_vultr_ssh_key } - - { role: vultr_ssh_key_facts, tags: test_vultr_ssh_key_facts } - - { role: vultr_startup_script, tags: test_vultr_startup_script } - - { role: vultr_startup_script_facts, tags: test_vultr_startup_script_facts } - - { role: vultr_user, tags: test_vultr_user } - - { role: vultr_user_facts, tags: test_vultr_user_facts } diff --git a/test/runner/lib/cloud/vultr.py b/test/runner/lib/cloud/vultr.py new file mode 100644 index 0000000000..eedc19555c --- /dev/null +++ b/test/runner/lib/cloud/vultr.py @@ -0,0 +1,62 @@ +"""Vultr plugin for integration tests.""" +from __future__ import absolute_import, print_function + +import os + +from lib.cloud import ( + CloudProvider, + CloudEnvironment +) + +from lib.util import ConfigParser + + +class VultrCloudProvider(CloudProvider): + """Checks if a configuration file has been passed or fixtures are going to be used for testing""" + + def __init__(self, args): + """ + :type args: TestConfig + """ + super(VultrCloudProvider, self).__init__(args, config_extension='.ini') + + def filter(self, targets, exclude): + """Filter out the cloud tests when the necessary config and resources are not available. + :type targets: tuple[TestTarget] + :type exclude: list[str] + """ + if os.path.isfile(self.config_static_path): + return + + super(VultrCloudProvider, self).filter(targets, exclude) + + def setup(self): + super(VultrCloudProvider, self).setup() + + if os.path.isfile(self.config_static_path): + self.config_path = self.config_static_path + self.managed = False + return True + return False + + +class VultrCloudEnvironment(CloudEnvironment): + """ + Updates integration test environment after delegation. Will setup the config file as parameter. + """ + + def configure_environment(self, env, cmd): + """ + :type env: dict[str, str] + :type cmd: list[str] + """ + parser = ConfigParser() + parser.read(self.config_path) + + changes = dict( + VULTR_API_KEY=parser.get('default', 'key'), + ) + env.update(changes) + + cmd.append('-e') + cmd.append('vultr_resource_prefix=%s' % self.resource_prefix) -- cgit v1.2.1