---
- name: setup
  cs_instancegroup: name={{ cs_resource_prefix }}_ig state=absent
  register: ig
- name: verify setup
  assert:
    that:
    - ig|success

- name: test fail if missing name
  action: cs_instancegroup
  register: ig
  ignore_errors: true
- name: verify results of fail if missing name
  assert:
    that:
    - ig|failed
    - "ig.msg == 'missing required arguments: name'"

- name: test present instance group
  cs_instancegroup: name={{ cs_resource_prefix }}_ig
  register: ig
- name: verify results of create instance group
  assert:
    that:
    - ig|success
    - ig|changed
    - ig.name == "{{ cs_resource_prefix }}_ig"

- name: test present instance group is idempotence
  cs_instancegroup: name={{ cs_resource_prefix }}_ig
  register: ig
- name: verify results present instance group is idempotence
  assert:
    that:
    - ig|success
    - not ig|changed
    - ig.name == "{{ cs_resource_prefix }}_ig"

- name: test absent instance group
  cs_instancegroup: name={{ cs_resource_prefix }}_ig state=absent
  register: ig
- name: verify results of absent instance group
  assert:
    that:
    - ig|success
    - ig|changed
    - ig.name == "{{ cs_resource_prefix }}_ig"

- name: test absent instance group is idempotence
  cs_instancegroup: name={{ cs_resource_prefix }}_ig state=absent
  register: ig
- name: verify results of absent instance group is idempotence
  assert:
    that:
    - ig|success
    - not ig|changed
    - ig.name is undefined
