- name: Prepare random number
  set_fact:
    rpfx: "{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
  run_once: yes

- name: Create instance of MySQL Server -- check mode
  azure_rm_mysqlserver:
    resource_group: "{{ resource_group }}"
    name: mysqlsrv{{ rpfx }}
    sku:
      name: MYSQLB50
      tier: basic
    location: westus
    storage_mb: 51200
    version: 5.6
    enforce_ssl: True
    admin_username: zimxyz
    admin_password: Testpasswordxyz12!
  check_mode: yes
  register: output
- name: Assert the resource instance is well created
  assert:
    that:
      - output.changed

- name: Create instance of MySQL Server
  azure_rm_mysqlserver:
    resource_group: "{{ resource_group }}"
    name: mysqlsrv{{ rpfx }}
    sku:
      name: MYSQLB50
      tier: basic
    location: westus
    storage_mb: 51200
    version: 5.6
    enforce_ssl: True
    admin_username: zimxyz
    admin_password: Testpasswordxyz12!
  register: output
- name: Assert the resource instance is well created
  assert:
    that:
      - output.changed
      - output.state == 'Ready'

- name: Create again instance of MySQL Server
  azure_rm_mysqlserver:
    resource_group: "{{ resource_group }}"
    name: mysqlsrv{{ rpfx }}
    sku:
      name: MYSQLB50
      tier: basic
    location: westus
    storage_mb: 51200
    version: 5.6
    enforce_ssl: True
    admin_username: zimxyz
    admin_password: Testpasswordxyz12!
  register: output
- name: Assert the state has not changed
  assert:
    that:
      - output.changed == false
      - output.state == 'Ready'

- name: Delete instance of MySQL Server -- check mode
  azure_rm_mysqlserver:
    resource_group: "{{ resource_group }}"
    name: mysqlsrv{{ rpfx }}
    state: absent
  check_mode: yes
  register: output
- name: Assert the state has changed
  assert:
    that:
      - output.changed

- name: Delete instance of MySQL Server
  azure_rm_mysqlserver:
    resource_group: "{{ resource_group }}"
    name: mysqlsrv{{ rpfx }}
    state: absent
  register: output
- name: Assert the state has changed
  assert:
    that:
      - output.changed

- name: Delete unexisting instance of MySQL Server
  azure_rm_mysqlserver:
    resource_group: "{{ resource_group }}"
    name: mysqlsrv{{ rpfx }}
    state: absent
  register: output
- name: Assert the state has changed
  assert:
    that:
      - output.changed == false
