# Test code for the vmware_guest module.
# Copyright: (c) 2017, James Tanner <tanner.jc@gmail.com>
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

- name: create new linked clone without specifying snapshot_src
  vmware_guest:
    validate_certs: False
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    name: new_vm_1
    template: "{{ virtual_machines[0].name }}"
    guest_id: centos64Guest
    datacenter: "{{ dc1 }}"
    folder: "{{ f0 }}"
    linked_clone: True
  register: linked_clone_d1_c1_f0
  ignore_errors: True

- debug:
    var: linked_clone_d1_c1_f0

- name: assert that changes were not made
  assert:
    that:
        - not (linked_clone_d1_c1_f0 is changed)

- name: create new linked clone without specifying linked_clone
  vmware_guest:
    validate_certs: False
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    name: new_vm_2
    template: "{{ virtual_machines[0].name }}"
    guest_id: centos64Guest
    datacenter: "{{ dc1 }}"
    folder: "{{ f0 }}"
    snapshot_src: "snap_shot1"
  register: linked_clone_d1_c1_f0
  ignore_errors: True

- debug:
    var: linked_clone_d1_c1_f0

- name: assert that changes were not made
  assert:
    that:
        - not (linked_clone_d1_c1_f0 is changed)

# TODO: VCSIM: snapshot is not supported in current vcsim
#
#- name: create new linked clone with linked_clone and snapshot_src
#  vmware_guest:
#    validate_certs: False
#    hostname: "{{ vcenter_hostname }}"
#    username: "{{ vcenter_username }}"
#    password: "{{ vcenter_password }}"
#    name: "{{ 'new_vm_' + item|basename }}"
#    template: "{{ item|basename }}"
#    guest_id: centos64Guest
#    datacenter: "{{ (item|basename).split('_')[0] }}"
#    folder: "{{ item|dirname }}"
#    snapshot_src: "snap_shot1"
#    linked_clone: True
#  with_items: "{{ vmlist['json'] }}"
#  register: linked_clone_d1_c1_f0
#  ignore_errors: True

#- debug: var=linked_clone_d1_c1_f0

#- name: assert that changes were made
#  assert:
#    that:
#        - "linked_clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [true]"

# TODO: VCSIM: snapshot is not supported in current vcsim
#
#- name: create new linked clone with linked_clone and snapshot_src again
#  vmware_guest:
#    validate_certs: False
#    hostname: "{{ vcenter_hostname }}"
#    username: "{{ vcenter_username }}"
#    password: "{{ vcenter_password }}"
#    name: "{{ 'new_vm_' + item|basename }}"
#    template: "{{ item|basename }}"
#    guest_id: centos64Guest
#    datacenter: "{{ (item|basename).split('_')[0] }}"
#    folder: "{{ item|dirname }}"
#    snapshot_src: "snap_shot1"
#    linked_clone: True
#  with_items: "{{ vmlist['json'] }}"
#  register: linked_clone_d1_c1_f0
#  ignore_errors: True

#- debug: var=linked_clone_d1_c1_f0

#- name: assert that changes were not made
#  assert:
#    that:
#        - "linked_clone_d1_c1_f0.results|map(attribute='changed')|unique|list == [false]"
