# Test code for the ACI modules # Copyright: (c) 2018, Dag Wieers (@dagwieers) # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # CLEAN ENVIRONMENT - name: Remove physical domain aci_domain: &domain_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") }}' domain: phys_dom domain_type: phys state: absent # ADD DOMAIN - name: Add physical domain (check_mode) aci_domain: &domain_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") }}' domain: phys_dom domain_type: phys state: present check_mode: yes register: cm_add_domain - name: Add physical domain (normal mode) aci_domain: *domain_present register: nm_add_domain - name: Verify add_domain assert: that: - cm_add_domain is changed - nm_add_domain is changed - 'cm_add_domain.sent == nm_add_domain.sent == {"physDomP": {"attributes": {"name": "phys_dom"}}}' - 'cm_add_domain.proposed == nm_add_domain.proposed == {"physDomP": {"attributes": {"name": "phys_dom"}}}' - cm_add_domain.current == cm_add_domain.previous == nm_add_domain.previous == [] - 'nm_add_domain.current == [{"physDomP": {"attributes": {"dn": "uni/phys-phys_dom", "name": "phys_dom", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]' - name: Add physical domain again (check_mode) aci_domain: *domain_present check_mode: yes register: cm_add_domain_again - name: Add physical domain again (normal mode) aci_domain: *domain_present register: nm_add_domain_again - name: Verify add_domain_again assert: that: - cm_add_domain_again is not changed - nm_add_domain_again is not changed # QUERY ALL DOMAINS - name: Query all physical domains (check_mode) aci_domain: &domain_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") }}' domain_type: phys state: query check_mode: yes register: cm_query_all_domains - name: Query all physical domains (normal mode) aci_domain: *domain_query register: nm_query_all_domains - name: Verify query_all_domains assert: that: - cm_query_all_domains is not changed - nm_query_all_domains is not changed - cm_query_all_domains == nm_query_all_domains - nm_query_all_domains.current|length >= 1 # QUERY A DOMAIN - name: Query our physical domain (check_mode) aci_domain: <<: *domain_query domain: phys_dom check_mode: yes register: cm_query_domain - name: Query our physical domain (normal mode) aci_domain: <<: *domain_query domain: phys_dom register: nm_query_domain - name: Verify query_domain assert: that: - cm_query_domain is not changed - nm_query_domain is not changed - cm_query_domain == nm_query_domain - nm_query_domain.current.0.physDomP.attributes.dn == 'uni/phys-phys_dom' - nm_query_domain.current.0.physDomP.attributes.name == 'phys_dom' # REMOVE DOMAIN - name: Remove physical domain (check_mode) aci_domain: *domain_absent check_mode: yes register: cm_remove_domain - name: Remove physical domain (normal mode) aci_domain: *domain_absent register: nm_remove_domain - name: Verify remove_domain assert: that: - cm_remove_domain is changed - nm_remove_domain is changed - 'cm_remove_domain.current == cm_remove_domain.previous == nm_remove_domain.previous == [{"physDomP": {"attributes": {"dn": "uni/phys-phys_dom", "name": "phys_dom", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]' - nm_remove_domain.current == [] - name: Remove physical domain again (check_mode) aci_domain: *domain_absent check_mode: yes register: cm_remove_domain_again - name: Remove physical domain again (normal mode) aci_domain: *domain_absent register: nm_remove_domain_again - name: Verify remove_domain_again assert: that: - cm_remove_domain_again is not changed - nm_remove_domain_again is not changed # QUERY NON-EXISTING DOMAIN - name: Query non-existing physical domain (check_mode) aci_domain: <<: *domain_query domain: phys_dom check_mode: yes register: cm_query_non_domain - name: Query non-existing physical domain (normal mode) aci_domain: <<: *domain_query domain: phys_dom register: nm_query_non_domain - name: Verify query_non_domain assert: that: - cm_query_non_domain is not changed - nm_query_non_domain is not changed - cm_query_non_domain == nm_query_non_domain - nm_query_non_domain.current == []