# Test code for the vmware_guest_tools_wait module.
# Copyright: (c) 2017 Philippe Dellaert <philippe@dellaert.org>
# 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_attach_host: true
    setup_datastore: true
    setup_virtualmachines: true

- name: Power on VM1
  vmware_guest:
    validate_certs: False
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    name: "{{ virtual_machines[0].name }}"
    folder: "{{ virtual_machines[0].folder }}"
    datacenter: "{{ dc1 }}"
    state: poweredon

# FixMe: govcsim does not support VMware tools status reporting
## Testcase 0001: Wait for VMware tools to become available by name
#- name: Waiting until VMware tools becomes available
#  vmware_guest_tools_wait:
#    validate_certs: False
#    hostname: "{{ vcsim }}"
#    username: "{{ vcsim_instance['json']['username'] }}"
#    password: "{{ vcsim_instance['json']['password'] }}"
#    name: "{{ vm1 | basename }}"
#    folder: "{{ vm1 | dirname }}"
#  register: guest_info_0001
#
#- debug: msg="{{ guest_info_0001 }}"
#
#- assert:
#    that:
#      - "guest_info_0001['instance']['hw_name'] == vm1 | basename"
#      - "guest_info_0001['instance']['hw_product_uuid'] is defined"
#      - "guest_info_0001['instance']['guest_tools_status'] == 'guestToolsRunning'"
#
#- set_fact: vm1_uuid="{{ guest_info_0001['instance']['hw_product_uuid'] }}"
#
#- debug: var=vm1_uuid
#
# Testcase 0002: Wait for VMware tools to become available by UUID
#- name: Waiting until VMware tools becomes available
#  vmware_guest_tools_wait:
#    validate_certs: False
#    hostname: "{{ vcsim }}"
#    username: "{{ vcsim_instance['json']['username'] }}"
#    password: "{{ vcsim_instance['json']['password'] }}"
#    uuid: "{{ vm1_uuid }}"
#  register: guest_info_0002
#
#- debug: msg="{{ guest_info_0002 }}"
#
#- assert:
#    that:
#      - "guest_info_0002['instance']['hw_name'] == vm1 | basename"
#      - "guest_info_0002['instance']['hw_product_uuid'] is defined"
#      - "guest_info_0002['instance']['hw_product_uuid'] == vm1_uuid"
#      - "guest_info_0002['instance']['guest_tools_status'] == 'guestToolsRunning'"
