- name: create storage account for function apps
  azure_rm_storageaccount:
    resource_group: '{{ resource_group }}'
    name: azfunccistor4
    account_type: Standard_LRS

- name: create basic function app
  azure_rm_functionapp:
    resource_group: '{{ resource_group }}'
    name: azfuncci
    storage_account: azfunccistor4
  register: output

- name: assert the function was created
  assert:
    that: output.changed

- name: list facts for function
  azure_rm_functionapp_facts:
    resource_group: '{{ resource_group }}'
    name: azfuncci

- name: assert the facts were retrieved
  assert:
    that: '{{ ansible_facts.azure_functionapps|length == 1 }}'

- name: delete basic function app
  azure_rm_functionapp:
    resource_group: '{{ resource_group }}'
    name: azfuncci
    state: absent
  register: output

- name: assert the function was deleted
  assert:
    that: output.changed

- name: create a function with app settings
  azure_rm_functionapp:
    resource_group: '{{ resource_group }}'
    name: azfuncci
    storage_account: azfunccistor4
    app_settings:
      hello: world
      things: more stuff
  register: output

- name: assert the function with app settings was created
  assert:
    that: output.changed

- name: change app settings
  azure_rm_functionapp:
    resource_group: '{{ resource_group }}'
    name: azfuncci
    storage_account: azfunccistor4
    app_settings:
      hello: world
      things: more stuff
      another: one
  register: output

- name: assert the function was changed
  assert:
    that: output.changed

- name: delete the function app
  azure_rm_functionapp:
    resource_group: '{{ resource_group }}'
    name: azfuncci
    state: absent
  register: output

- name: assert the function was deleted
  assert:
    that: output.changed

- name: delete storage account
  azure_rm_storageaccount:
    resource_group: '{{ resource_group }}'
    name: azfunccistor4
    state: absent
