1# Test code for the ACI modules 2# Copyright: (c) 2017, Dag Wieers (@dagwieers) <dag@wieers.com> 3 4# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) 5 6 7# CLEAN ENVIRONMENT 8- name: Remove tenant 9 aci_rest: &tenant_absent 10 host: '{{ aci_hostname }}' 11 username: '{{ aci_username }}' 12 password: '{{ aci_password }}' 13 validate_certs: '{{ aci_validate_certs | default(false) }}' 14 use_ssl: '{{ aci_use_ssl | default(true) }}' 15 use_proxy: '{{ aci_use_proxy | default(true) }}' 16 output_level: '{{ aci_output_level | default("info") }}' 17 path: /api/mo/uni/tn-[ansible_test].json 18 method: delete 19 20# ADD TENANT 21- name: Add tenant (normal mode) 22 aci_rest: &tenant_present 23 host: '{{ aci_hostname }}' 24 username: '{{ aci_username }}' 25 password: '{{ aci_password }}' 26 validate_certs: '{{ aci_validate_certs | default(false) }}' 27 use_ssl: '{{ aci_use_ssl | default(true) }}' 28 use_proxy: '{{ aci_use_proxy | default(true) }}' 29 output_level: '{{ aci_output_level | default("info") }}' 30 path: /api/mo/uni.json 31 method: post 32 content: | 33 fvTenant: 34 attributes: 35 name: ansible_test 36 register: nm_add_tenant 37 38- name: Add tenant again (normal mode) 39 aci_rest: *tenant_present 40 register: nm_add_tenant_again 41 42- name: Verify add_tenant 43 assert: 44 that: 45 - nm_add_tenant is changed 46 - nm_add_tenant_again is not changed 47 48# CHANGE TENANT 49- name: Change description of tenant (normal mode) 50 aci_rest: &tenant_changed 51 host: '{{ aci_hostname }}' 52 username: '{{ aci_username }}' 53 password: '{{ aci_password }}' 54 validate_certs: '{{ aci_validate_certs | default(false) }}' 55 use_ssl: '{{ aci_use_ssl | default(true) }}' 56 use_proxy: '{{ aci_use_proxy | default(true) }}' 57 output_level: '{{ aci_output_level | default("info") }}' 58 path: /api/mo/uni.json 59 method: post 60 content: | 61 fvTenant: 62 attributes: 63 name: ansible_test 64 descr: Ansible test tenant 65 register: nm_add_tenant_descr 66 67- name: Change description of tenant again (normal mode) 68 aci_rest: *tenant_changed 69 register: nm_add_tenant_descr_again 70 71- name: Verify add_tenant_descr 72 assert: 73 that: 74 - nm_add_tenant_descr is changed 75 - nm_add_tenant_descr_again is not changed 76 77# ADD TENANT AGAIN 78- name: Add tenant again with no description (normal mode) 79 aci_rest: *tenant_present 80 register: nm_add_tenant_again_no_descr 81 82- name: Verify add_tenant_again_no_descr 83 assert: 84 that: 85 - nm_add_tenant_again_no_descr is not changed 86 87# QUERY ALL TENANTS 88- name: Query all tenants (normal mode) 89 aci_rest: &tenant_query_all 90 host: '{{ aci_hostname }}' 91 username: '{{ aci_username }}' 92 password: '{{ aci_password }}' 93 validate_certs: '{{ aci_validate_certs | default(false) }}' 94 use_ssl: '{{ aci_use_ssl | default(true) }}' 95 use_proxy: '{{ aci_use_proxy | default(true) }}' 96 output_level: '{{ aci_output_level | default("info") }}' 97 path: /api/mo/uni/tn-[ansible_test].json 98 method: get 99 register: nm_query_all_tenants 100 101- name: Verify query_all_tenants 102 assert: 103 that: 104 - nm_query_all_tenants is not changed 105 106# QUERY A TENANT 107- name: Query our tenant 108 aci_rest: &tenant_query 109 host: '{{ aci_hostname }}' 110 username: '{{ aci_username }}' 111 password: '{{ aci_password }}' 112 validate_certs: '{{ aci_validate_certs | default(false) }}' 113 use_ssl: '{{ aci_use_ssl | default(true) }}' 114 use_proxy: '{{ aci_use_proxy | default(true) }}' 115 output_level: '{{ aci_output_level | default("info") }}' 116 path: /api/mo/uni/tn-[ansible_test].json 117 method: get 118 register: nm_query_tenant 119 120- name: Verify query_tenant 121 assert: 122 that: 123 - nm_query_tenant is not changed 124 125# REMOVE TENANT 126- name: Remove tenant (normal mode) 127 aci_rest: *tenant_absent 128 register: nm_remove_tenant 129 130- name: Remove tenant again (normal mode) 131 aci_rest: *tenant_absent 132 register: nm_remove_tenant_again 133 134- name: Verify remove_tenant 135 assert: 136 that: 137 - nm_remove_tenant is changed 138 - nm_remove_tenant_again is not changed 139 140# QUERY NON-EXISTING TENANT 141- name: Query non-existing tenant (normal mode) 142 aci_rest: *tenant_query 143 register: nm_query_non_tenant 144 145- name: Verify query_non_tenant 146 assert: 147 that: 148 - nm_query_non_tenant is not changed 149