# Test code for the ACI modules # Copyright 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 L3 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: info domain: l3_dom domain_type: l3dom state: absent # ADD DOMAIN - name: Add L3 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: info domain: l3_dom domain_type: l3dom state: present check_mode: yes register: cm_add_domain - name: Add L3 domain (normal mode) aci_domain: *domain_present register: nm_add_domain - name: Add L3 domain again (check_mode) aci_domain: *domain_present check_mode: yes register: cm_add_domain_again - name: Add L3 domain again (normal mode) aci_domain: *domain_present register: nm_add_domain_again - name: Verify add_domain assert: that: - cm_add_domain.changed == nm_add_domain.changed == true - cm_add_domain_again.changed == nm_add_domain_again.changed == false - 'cm_add_domain.sent == nm_add_domain.sent == {"l3extDomP": {"attributes": {"name": "l3_dom"}}}' - 'cm_add_domain.proposed == nm_add_domain.proposed == {"l3extDomP": {"attributes": {"name": "l3_dom"}}}' - cm_add_domain.current == cm_add_domain.previous == nm_add_domain.previous == [] - 'nm_add_domain.current == [{"l3extDomP": {"attributes": {"dn": "uni/l3dom-l3_dom", "name": "l3_dom", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]' # QUERY ALL DOMAINS - name: Query all L3 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: info domain_type: l3dom state: query check_mode: yes register: cm_query_all_domains - name: Query all L3 domains (normal mode) aci_domain: *domain_query register: nm_query_all_domains - name: Verify query_all_domains assert: that: - cm_query_all_domains.changed == nm_query_all_domains.changed == false # NOTE: Order of domains is not stable between calls #- cm_query_all_domains == nm_query_all_domains # QUERY A DOMAIN - name: Query our L3 domain (check_mode) aci_domain: <<: *domain_query domain: l3_dom check_mode: yes register: cm_query_domain - name: Query our L3 domain (normal mode) aci_domain: <<: *domain_query domain: l3_dom register: nm_query_domain - name: Verify query_domain assert: that: - cm_query_domain.changed == nm_query_domain.changed == false - cm_query_domain == nm_query_domain - nm_query_domain.current.0.l3extDomP.attributes.dn == 'uni/l3dom-l3_dom' - nm_query_domain.current.0.l3extDomP.attributes.name == 'l3_dom' # REMOVE DOMAIN - name: Remove L3 domain (check_mode) aci_domain: *domain_absent check_mode: yes register: cm_remove_domain - name: Remove L3 domain (normal mode) aci_domain: *domain_absent register: nm_remove_domain - name: Remove L3 domain again (check_mode) aci_domain: *domain_absent check_mode: yes register: cm_remove_domain_again - name: Remove L3 domain again (normal mode) aci_domain: *domain_absent register: nm_remove_domain_again - name: Verify remove_domain assert: that: - cm_remove_domain.changed == nm_remove_domain.changed == true - cm_remove_domain_again.changed == nm_remove_domain_again.changed == false - 'cm_remove_domain.current == cm_remove_domain.previous == nm_remove_domain.previous == [{"l3extDomP": {"attributes": {"dn": "uni/l3dom-l3_dom", "name": "l3_dom", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]' - nm_remove_domain.current == [] # QUERY NON-EXISTING DOMAIN - name: Query non-existing L3 domain (check_mode) aci_domain: *domain_query check_mode: yes register: cm_query_non_domain - name: Query non-existing L3 domain (normal mode) aci_domain: *domain_query register: nm_query_non_domain - name: Verify query_non_domain assert: that: - cm_query_non_domain.changed == nm_query_non_domain.changed == false - cm_query_non_domain == nm_query_non_domain - nm_query_non_domain.current == []