ansible/test/integration/targets/aci_rest/tasks/json_string.yml

157 lines
4.4 KiB
YAML
Raw Normal View History

# Test code for the ACI modules
# Copyright: (c) 2017, Dag Wieers (@dagwieers) <dag@wieers.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
# CLEAN ENVIRONMENT
- name: Remove tenant
aci_rest: &tenant_absent
host: '{{ aci_hostname }}'
username: '{{ aci_username }}'
password: '{{ aci_password }}'
validate_certs: '{{ aci_validate_certs | default(false) }}'
use_ssl: '{{ aci_use_ssl | default(true) }}'
use_proxy: '{{ aci_use_proxy | default(true) }}'
output_level: '{{ aci_output_level | default("info") }}'
path: /api/mo/uni/tn-[ansible_test].json
method: delete
# ADD TENANT
- name: Add tenant (normal mode)
aci_rest: &tenant_present
host: '{{ aci_hostname }}'
username: '{{ aci_username }}'
password: '{{ aci_password }}'
validate_certs: '{{ aci_validate_certs | default(false) }}'
use_ssl: '{{ aci_use_ssl | default(true) }}'
use_proxy: '{{ aci_use_proxy | default(true) }}'
output_level: '{{ aci_output_level | default("info") }}'
path: /api/mo/uni.json
method: post
content: |
{
"fvTenant": {
"attributes": {
"name": "ansible_test"
}
}
}
register: nm_add_tenant
- name: Add tenant again (normal mode)
aci_rest: *tenant_present
register: nm_add_tenant_again
- name: Verify add_tenant
assert:
that:
- nm_add_tenant is changed
- nm_add_tenant_again is not changed
# CHANGE TENANT
- name: Change description of tenant (normal mode)
aci_rest: &tenant_changed
host: '{{ aci_hostname }}'
username: '{{ aci_username }}'
password: '{{ aci_password }}'
validate_certs: '{{ aci_validate_certs | default(false) }}'
use_ssl: '{{ aci_use_ssl | default(true) }}'
use_proxy: '{{ aci_use_proxy | default(true) }}'
output_level: '{{ aci_output_level | default("info") }}'
path: /api/mo/uni.json
method: post
content: |
{
"fvTenant": {
"attributes": {
"descr": "Ansible test tenant",
"name": "ansible_test"
}
}
}
register: nm_add_tenant_descr
- name: Change description of tenant again (normal mode)
aci_rest: *tenant_changed
register: nm_add_tenant_descr_again
- name: Verify add_tenant_descr
assert:
that:
- nm_add_tenant_descr is changed
- nm_add_tenant_descr_again is not changed
# ADD TENANT AGAIN
- name: Add tenant again with no description (normal mode)
aci_rest: *tenant_present
register: nm_add_tenant_again_no_descr
- name: Verify add_tenant_again_no_descr
assert:
that:
- nm_add_tenant_again_no_descr is not changed
# QUERY ALL TENANTS
- name: Query all tenants (normal mode)
aci_rest: &tenant_query_all
host: '{{ aci_hostname }}'
username: '{{ aci_username }}'
password: '{{ aci_password }}'
validate_certs: '{{ aci_validate_certs | default(false) }}'
use_ssl: '{{ aci_use_ssl | default(true) }}'
use_proxy: '{{ aci_use_proxy | default(true) }}'
output_level: '{{ aci_output_level | default("info") }}'
path: /api/mo/uni/tn-[ansible_test].json
method: get
register: nm_query_all_tenants
- name: Verify query_all_tenants
assert:
that:
- nm_query_all_tenants is not changed
# QUERY A TENANT
- name: Query our tenant
aci_rest: &tenant_query
host: '{{ aci_hostname }}'
username: '{{ aci_username }}'
password: '{{ aci_password }}'
validate_certs: '{{ aci_validate_certs | default(false) }}'
use_ssl: '{{ aci_use_ssl | default(true) }}'
use_proxy: '{{ aci_use_proxy | default(true) }}'
output_level: '{{ aci_output_level | default("info") }}'
path: /api/mo/uni/tn-[ansible_test].json
method: get
register: nm_query_tenant
- name: Verify query_tenant
assert:
that:
- nm_query_tenant is not changed
# REMOVE TENANT
- name: Remove tenant (normal mode)
aci_rest: *tenant_absent
register: nm_remove_tenant
- name: Remove tenant again (normal mode)
aci_rest: *tenant_absent
register: nm_remove_tenant_again
- name: Verify remove_tenant
assert:
that:
- nm_remove_tenant is changed
- nm_remove_tenant_again is not changed
# QUERY NON-EXISTING TENANT
- name: Query non-existing tenant (normal mode)
aci_rest: *tenant_query
register: nm_query_non_tenant
- name: Verify query_non_tenant
assert:
that:
- nm_query_non_tenant is not changed