# Test code for the vmware_cluster module.
# Copyright: (c) 2017, Abhijeet Kasurde <akasurde@redhat.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

- import_role:
    name: prepare_vmware_tests
  vars:
    setup_datacenter: true

# Testcase 0001: Add Cluster
- &add_cluster
  name: add cluster
  vmware_cluster:
    validate_certs: False
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter_name: "{{ dc1 }}"
    cluster_name: test_cluster_0001
    state: present
  register: cluster_result_0001

- &ensure_changed
  name: ensure cluster is present
  assert:
    that:
        - "{{ cluster_result_0001.changed == true }}"

# # Broken by: https://github.com/ansible/ansible/issues/54857
# - <<: *add_cluster
#   name: add cluster (again)

# - &ensure_unchanged
#   name: ensure cluster is unchanged
#   assert:
#     that:
#         - "{{ cluster_result_0001.changed == false }}"

- when: vcsim is not defined
  block:
  - &del_cluster
    name: delete cluster
    vmware_cluster:
      validate_certs: False
      hostname: "{{ vcenter_hostname }}"
      username: "{{ vcenter_username }}"
      password: "{{ vcenter_password }}"
      datacenter_name: "{{ dc1 }}"
      cluster_name: test_cluster_0001
      state: absent
    register: cluster_result_0001

  - <<: *ensure_changed

  - <<: *del_cluster
    name: delete cluster (again)

  #- <<: *ensure_unchanged
  - name: ensure cluster is unchanged
    assert:
      that:
          - "{{ cluster_result_0001.changed == false }}"
