Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

aci_domain: Add missing integration tests #36051

Merged
merged 1 commit into from
Feb 12, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 2 additions & 1 deletion lib/ansible/modules/network/aci/aci_domain.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@
host: apic
username: admin
password: SomeSecretPassword
domain_type: phys
state: query
'''

Expand Down Expand Up @@ -321,7 +322,7 @@ def main():
elif domain_type == 'vmm':
domain_class = 'vmmDomP'
domain_mo = 'uni/vmmp-{0}/dom-{1}'.format(VM_PROVIDER_MAPPING[vm_provider], domain)
domain_rn = 'dom-{0}'.format(domain)
domain_rn = 'vmmp-{0}/dom-{1}'.format(VM_PROVIDER_MAPPING[vm_provider], domain)

aci = ACIModule(module)
aci.construct_url(
Expand Down
Empty file.
155 changes: 155 additions & 0 deletions test/integration/targets/aci_domain/tasks/fc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# Test code for the ACI modules
# Copyright 2018, 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 FC 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: fc_dom
domain_type: fc
state: absent


# ADD DOMAIN
- name: Add FC 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: fc_dom
domain_type: fc
state: present
check_mode: yes
register: cm_add_domain

- name: Add FC domain (normal mode)
aci_domain: *domain_present
register: nm_add_domain

- name: Add FC domain again (check_mode)
aci_domain: *domain_present
check_mode: yes
register: cm_add_domain_again

- name: Add FC 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 == {"fcDomP": {"attributes": {"name": "fc_dom"}}}'
- 'cm_add_domain.proposed == nm_add_domain.proposed == {"fcDomP": {"attributes": {"name": "fc_dom"}}}'
- cm_add_domain.current == cm_add_domain.previous == nm_add_domain.previous == []
- 'nm_add_domain.current == [{"fcDomP": {"attributes": {"dn": "uni/fc-fc_dom", "name": "fc_dom", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]'


# QUERY ALL DOMAINS
- name: Query all FC 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: fc
state: query
check_mode: yes
register: cm_query_all_domains

- name: Query all FC 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 FC domain (check_mode)
aci_domain:
<<: *domain_query
domain: fc_dom
check_mode: yes
register: cm_query_domain

- name: Query our FC domain (normal mode)
aci_domain:
<<: *domain_query
domain: fc_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.fcDomP.attributes.dn == 'uni/fc-fc_dom'
- nm_query_domain.current.0.fcDomP.attributes.name == 'fc_dom'


# REMOVE DOMAIN
- name: Remove FC domain (check_mode)
aci_domain: *domain_absent
check_mode: yes
register: cm_remove_domain

- name: Remove FC domain (normal mode)
aci_domain: *domain_absent
register: nm_remove_domain

- name: Remove FC domain again (check_mode)
aci_domain: *domain_absent
check_mode: yes
register: cm_remove_domain_again

- name: Remove FC 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 == [{"fcDomP": {"attributes": {"dn": "uni/fc-fc_dom", "name": "fc_dom", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]'
- nm_remove_domain.current == []


# QUERY NON-EXISTING DOMAIN
- name: Query non-existing FC domain (check_mode)
aci_domain: *domain_query
check_mode: yes
register: cm_query_non_domain

- name: Query non-existing FC 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 == []
155 changes: 155 additions & 0 deletions test/integration/targets/aci_domain/tasks/l2dom.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# Test code for the ACI modules
# Copyright 2018, 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 L2 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: l2_dom
domain_type: l2dom
state: absent


# ADD DOMAIN
- name: Add L2 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: l2_dom
domain_type: l2dom
state: present
check_mode: yes
register: cm_add_domain

- name: Add L2 domain (normal mode)
aci_domain: *domain_present
register: nm_add_domain

- name: Add L2 domain again (check_mode)
aci_domain: *domain_present
check_mode: yes
register: cm_add_domain_again

- name: Add L2 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 == {"l2extDomP": {"attributes": {"name": "l2_dom"}}}'
- 'cm_add_domain.proposed == nm_add_domain.proposed == {"l2extDomP": {"attributes": {"name": "l2_dom"}}}'
- cm_add_domain.current == cm_add_domain.previous == nm_add_domain.previous == []
- 'nm_add_domain.current == [{"l2extDomP": {"attributes": {"dn": "uni/l2dom-l2_dom", "name": "l2_dom", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]'


# QUERY ALL DOMAINS
- name: Query all L2 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: l2dom
state: query
check_mode: yes
register: cm_query_all_domains

- name: Query all L2 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 L2 domain (check_mode)
aci_domain:
<<: *domain_query
domain: l2_dom
check_mode: yes
register: cm_query_domain

- name: Query our L2 domain (normal mode)
aci_domain:
<<: *domain_query
domain: l2_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.l2extDomP.attributes.dn == 'uni/l2dom-l2_dom'
- nm_query_domain.current.0.l2extDomP.attributes.name == 'l2_dom'


# REMOVE DOMAIN
- name: Remove L2 domain (check_mode)
aci_domain: *domain_absent
check_mode: yes
register: cm_remove_domain

- name: Remove L2 domain (normal mode)
aci_domain: *domain_absent
register: nm_remove_domain

- name: Remove L2 domain again (check_mode)
aci_domain: *domain_absent
check_mode: yes
register: cm_remove_domain_again

- name: Remove L2 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 == [{"l2extDomP": {"attributes": {"dn": "uni/l2dom-l2_dom", "name": "l2_dom", "nameAlias": "", "ownerKey": "", "ownerTag": ""}}}]'
- nm_remove_domain.current == []


# QUERY NON-EXISTING DOMAIN
- name: Query non-existing L2 domain (check_mode)
aci_domain: *domain_query
check_mode: yes
register: cm_query_non_domain

- name: Query non-existing L2 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 == []