From be6e49dd1f6ed1297dc590ad29f51d5baa1f57e9 Mon Sep 17 00:00:00 2001 From: Matt Martz Date: Tue, 20 Jan 2015 14:05:45 -0600 Subject: [PATCH] Add tests for rax_cdb_database --- test/integration/rackspace.yml | 3 + .../roles/test_rax_cdb_database/meta/main.yml | 3 + .../test_rax_cdb_database/tasks/main.yml | 215 ++++++++++++++++++ 3 files changed, 221 insertions(+) create mode 100644 test/integration/roles/test_rax_cdb_database/meta/main.yml create mode 100644 test/integration/roles/test_rax_cdb_database/tasks/main.yml diff --git a/test/integration/rackspace.yml b/test/integration/rackspace.yml index e572f145e4..37f9b097b9 100644 --- a/test/integration/rackspace.yml +++ b/test/integration/rackspace.yml @@ -37,3 +37,6 @@ - role: test_rax_cdb tags: test_rax_cdb + + - role: test_rax_cdb_database + tags: test_rax_cdb_database diff --git a/test/integration/roles/test_rax_cdb_database/meta/main.yml b/test/integration/roles/test_rax_cdb_database/meta/main.yml new file mode 100644 index 0000000000..a3f85b642e --- /dev/null +++ b/test/integration/roles/test_rax_cdb_database/meta/main.yml @@ -0,0 +1,3 @@ +dependencies: + - prepare_tests + - prepare_rax_tests diff --git a/test/integration/roles/test_rax_cdb_database/tasks/main.yml b/test/integration/roles/test_rax_cdb_database/tasks/main.yml new file mode 100644 index 0000000000..a8f5caa335 --- /dev/null +++ b/test/integration/roles/test_rax_cdb_database/tasks/main.yml @@ -0,0 +1,215 @@ +# ============================================================ +- name: Test rax_cdb_database with no args + rax_cdb_database: + ignore_errors: true + register: rax_cdb_database + +- name: Validate results of rax_cdb_database with no args + assert: + that: + - rax_cdb_database|failed + - rax_cdb_database.msg == 'missing required arguments: name,cdb_id' +# ============================================================ + + + +# ============================================================ +- name: Test rax_cdb_database with name + rax_cdb_database: + name: fail + ignore_errors: true + register: rax_cdb_database + +- name: Validate results of rax_cdb_database with name + assert: + that: + - rax_cdb_database|failed + - rax_cdb_database.msg == 'missing required arguments: cdb_id' +# ============================================================ + + + +# ============================================================ +- name: Test rax_cdb_database with name and cdb_id + rax_cdb_database: + name: fail + cdb_id: '1234' + ignore_errors: true + register: rax_cdb_database + +- name: Validate results of rax_cdb_database with name and cdb_id + assert: + that: + - rax_cdb_database|failed + - rax_cdb_database.msg == 'No credentials supplied!' +# ============================================================ + + + +# ============================================================ +- name: Test rax_cdb_database with name, cdb_id and creds + rax_cdb_database: + username: "{{ rackspace_username }}" + api_key: "{{ rackspace_api_key }}" + name: fail + cdb_id: '1234' + ignore_errors: true + register: rax_cdb_database + +- name: Validate results of rax_cdb_database with name, cdb_id and creds + assert: + that: + - rax_cdb_database|failed + - rax_cdb_database.msg.startswith('None is not a valid region') +# ============================================================ + + + +# ============================================================ +- name: Test rax_cdb_database with name, invalid cdb_id, creds and region + rax_cdb_database: + username: "{{ rackspace_username }}" + api_key: "{{ rackspace_api_key }}" + region: "{{ rackspace_region }}" + name: fail + cdb_id: '1234' + ignore_errors: true + register: rax_cdb_database + +- name: Validate rax_cdb_database name, invalid cdb_id, creds and region + assert: + that: + - rax_cdb_database|failed +# ============================================================ + + + +# ============================================================ +- name: Build Cloud Database for testing + rax_cdb: + username: "{{ rackspace_username }}" + api_key: "{{ rackspace_api_key }}" + region: "{{ rackspace_region }}" + name: "{{ resource_prefix }}-rax_cdb_database" + wait: true + register: rax_cdb + +- name: Validate build + assert: + that: + - rax_cdb|success + - rax_cdb|changed + - rax_cdb.cdb.name == '{{ resource_prefix }}-rax_cdb_database' + - rax_cdb.cdb.status == 'ACTIVE' +# ============================================================ + + + +# ============================================================ +- name: Test rax_cdb_database with name, cdb_id, creds and region + rax_cdb_database: + username: "{{ rackspace_username }}" + api_key: "{{ rackspace_api_key }}" + region: "{{ rackspace_region }}" + name: "{{ resource_prefix }}-1" + cdb_id: "{{ rax_cdb.cdb.id }}" + register: rax_cdb_database + +- name: Validate rax_cdb_database name, cdb_id, creds and region + assert: + that: + - rax_cdb_database|success + - rax_cdb_database|changed + - rax_cdb_database.database.name == "{{ resource_prefix }}-1" + +- name: Delete integration 1 + rax_cdb_database: + username: "{{ rackspace_username }}" + api_key: "{{ rackspace_api_key }}" + region: "{{ rackspace_region }}" + name: "{{ resource_prefix }}-1" + cdb_id: "{{ rax_cdb.cdb.id }}" + state: absent + register: rax_cdb_database + +- name: Validate delete integration 1 + assert: + that: + - rax_cdb_database|success + - rax_cdb_database|changed + - rax_cdb_database.database.name == "{{ resource_prefix }}-1" +# ============================================================ + + + +# ============================================================ +- name: Test rax_cdb_database idempotency 1 + rax_cdb_database: + username: "{{ rackspace_username }}" + api_key: "{{ rackspace_api_key }}" + region: "{{ rackspace_region }}" + name: "{{ resource_prefix }}-2" + cdb_id: "{{ rax_cdb.cdb.id }}" + register: rax_cdb_database + +- name: Validate rax_cdb_database idempotency 1 + assert: + that: + - rax_cdb_database|success + - rax_cdb_database|changed + - rax_cdb_database.database.name == "{{ resource_prefix }}-2" + +- name: Test rax_cdb_database idempotency 2 + rax_cdb_database: + username: "{{ rackspace_username }}" + api_key: "{{ rackspace_api_key }}" + region: "{{ rackspace_region }}" + name: "{{ resource_prefix }}-2" + cdb_id: "{{ rax_cdb.cdb.id }}" + register: rax_cdb_database + +- name: Validate rax_cdb_database idempotency 2 + assert: + that: + - rax_cdb_database|success + - not rax_cdb_database|changed + - rax_cdb_database.database.name == "{{ resource_prefix }}-2" + +- name: Delete integration 2 + rax_cdb_database: + username: "{{ rackspace_username }}" + api_key: "{{ rackspace_api_key }}" + region: "{{ rackspace_region }}" + name: "{{ resource_prefix }}-2" + cdb_id: "{{ rax_cdb.cdb.id }}" + state: absent + register: rax_cdb_database + +- name: Validate delete integration 2 + assert: + that: + - rax_cdb_database|success + - rax_cdb_database|changed + - rax_cdb_database.database.name == "{{ resource_prefix }}-2" +# ============================================================ + + + +# ============================================================ +- name: Delete Cloud Database + rax_cdb: + username: "{{ rackspace_username }}" + api_key: "{{ rackspace_api_key }}" + region: "{{ rackspace_region }}" + name: "{{ resource_prefix }}-rax_cdb_database" + state: absent + wait: true + register: rax_cdb + +- name: Validate Delete + assert: + that: + - rax_cdb|success + - rax_cdb|changed + - rax_cdb.cdb.name == "{{ resource_prefix }}-rax_cdb_database" +# ============================================================