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

- 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 is failed
    - "ig.msg == 'missing required arguments: name'"

- name: test present instance group in check mode
  cs_instancegroup: name={{ cs_resource_prefix }}_ig
  register: ig
  check_mode: true
- name: verify results of create instance group in check mode
  assert:
    that:
    - ig is successful
    - ig is changed

- name: test present instance group
  cs_instancegroup: name={{ cs_resource_prefix }}_ig
  register: ig
- name: verify results of create instance group
  assert:
    that:
    - ig is successful
    - ig is 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 is successful
    - ig is not changed
    - ig.name == "{{ cs_resource_prefix }}_ig"

- name: test absent instance group in check mode
  cs_instancegroup: name={{ cs_resource_prefix }}_ig state=absent
  register: ig
  check_mode: true
- name: verify results of absent instance group in check mode
  assert:
    that:
    - ig is successful
    - ig is 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 is successful
    - ig is 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 is successful
    - ig is not changed
    - ig.name is undefined
