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

# TODO: vcsim does not support SCSI target releated operations

#- name: make sure pyvmomi is installed
#  pip:
#    name: pyvmomi
#    state: latest
#  when: "{{ ansible_user_id == 'root' }}"

#- name: store the vcenter container ip
#  set_fact:
#    vcsim: "{{ lookup('env', 'vcenter_host') }}"

#- debug: var=vcsim

#- name: Wait for Flask controller to come up online
#  wait_for:
#    host: "{{ vcsim }}"
#    port: 5000
#    state: started

#- name: kill vcsim
#  uri:
#    url: http://{{ vcsim }}:5000/killall

#- name: start vcsim
#  uri:
#    url: http://{{ vcsim }}:5000/spawn?cluster=2
#  register: vcsim_instance

#- debug:
#    var: vcsim_instance

#- name: Wait for vcsim server to come up online
#  wait_for:
#    host: "{{ vcsim }}"
#    port: 443
#    state: started

#- name: get a list of Cluster from vcsim
#  uri:
#    url: http://{{ vcsim }}:5000/govc_find?filter=CCR
#  register: clusters

#- name: get a cluster
#  set_fact:
#    ccr1: "{{ clusters.json[0] | basename }}"

#- name: get a list of hosts from vcsim
#  uri:
#    url: http://{{ vcsim }}:5000/govc_find?filter=H
#  register: hosts

#- name: get a host
#  set_fact:
#    host1: "{{ hosts.json[0] | basename }}"

#- debug: var=ccr1
#- debug: var=host1

#- name: Gather target facts for all ESXi host from given cluster
#  vmware_target_canonical_facts:
#    hostname: "{{ vcsim }}"
#    username: "{{ vcsim_instance.json.username }}"
#    password: "{{ vcsim_instance.json.password }}"
#    validate_certs: False
#    cluster_name: "{{ ccr1 }}"
#  register: target_0001_results

#- assert:
#    that:
#      - "not target_0001_results.changed"
#      - "target_0001_results.scsi_tgt_facts is defined"

#- name: Gather target facts for ESXi host
#  vmware_target_canonical_facts:
#    hostname: "{{ vcsim }}"
#    username: "{{ vcsim_instance.json.username }}"
#    password: "{{ vcsim_instance.json.password }}"
#    validate_certs: False
#    esxi_hostname: "{{ host1 }}"
#  register: target_0002_results

#- assert:
#    that:
#      - "not target_0002_results.changed"
#      - "target_0002_results.scsi_tgt_facts is defined"