mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
add azure integration tests
This commit is contained in:
parent
61ec84ef71
commit
efb190d5a5
5 changed files with 85 additions and 0 deletions
7
test/integration/azure.yml
Normal file
7
test/integration/azure.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
- hosts: localhost
|
||||
connection: local
|
||||
gather_facts: no
|
||||
tags:
|
||||
- test_azure
|
||||
roles:
|
||||
- { role: test_azure }
|
1
test/integration/cleanup_azure.py
Normal file
1
test/integration/cleanup_azure.py
Normal file
|
@ -0,0 +1 @@
|
|||
|
|
@ -13,5 +13,9 @@ service_account_email:
|
|||
pem_file:
|
||||
project_id:
|
||||
|
||||
# Azure Credentials
|
||||
azure_subscription_id:
|
||||
azure_cert_path:
|
||||
|
||||
# GITHUB SSH private key - a path to a SSH private key for use with github.com
|
||||
github_ssh_private_key: "{{ lookup('env','HOME') }}/.ssh/id_rsa"
|
||||
|
|
10
test/integration/roles/test_azure/defaults/main.yml
Normal file
10
test/integration/roles/test_azure/defaults/main.yml
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
# defaults file for test_azure
|
||||
instance_name: "{{ resource_prefix|lower }}"
|
||||
cert_path: "{{ azure_cert_path }}"
|
||||
subscription_id: "{{ azure_subscription_id }}"
|
||||
storage_account: "{{ azure_storage_account|default('ansibleeast') }}"
|
||||
role_size: "{{ azure_role_size|default('Basic_A0') }}"
|
||||
user: "{{ azure_user|default('ansible_user') }}"
|
||||
location: "{{ azure_location|default('East US') }}"
|
||||
password: "{{ azure_password|default('abc123Q%') }}"
|
63
test/integration/roles/test_azure/tasks/main.yml
Normal file
63
test/integration/roles/test_azure/tasks/main.yml
Normal file
|
@ -0,0 +1,63 @@
|
|||
# TODO: Implement create storage account feature. Currently, storage_account must be manually created on azure account.
|
||||
# TODO: When more granular azure operations are implemented (i.e. list disk, list cloud services, etc). Use the
|
||||
# fine-grain listings to ensure higher level operations are performed.
|
||||
# ============================================================
|
||||
- name: test with no credentials
|
||||
azure:
|
||||
register: result
|
||||
ignore_errors: true
|
||||
|
||||
- name: assert failure when called with no credentials
|
||||
assert:
|
||||
that:
|
||||
- 'result.failed'
|
||||
- 'result.msg == "No subscription_id provided. Please set ''AZURE_SUBSCRIPTION_ID'' or use the ''subscription_id'' parameter"'
|
||||
|
||||
# ============================================================
|
||||
- name: test credentials
|
||||
azure:
|
||||
subscription_id: "{{ subscription_id }}"
|
||||
management_cert_path: "{{ cert_path }}"
|
||||
register: result
|
||||
ignore_errors: true
|
||||
|
||||
- name: assert failure when called with credentials and no parameters
|
||||
assert:
|
||||
that:
|
||||
- 'result.failed'
|
||||
- 'result.msg == "name parameter is required for new instance"'
|
||||
|
||||
# ============================================================
|
||||
- name: test status=Running (expected changed=true)
|
||||
azure:
|
||||
subscription_id: "{{ subscription_id }}"
|
||||
management_cert_path: "{{ cert_path }}"
|
||||
name: "{{ instance_name }}"
|
||||
image: "b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_4-LTS-amd64-server-20140514-en-us-30GB"
|
||||
storage_account: "{{ storage_account }}"
|
||||
user: "{{ user }}"
|
||||
role_size: "{{ role_size }}"
|
||||
password: "{{ password }}"
|
||||
location: "{{ location }}"
|
||||
wait: yes
|
||||
state: present
|
||||
register: result
|
||||
|
||||
- name: assert state=Running (expected changed=true)
|
||||
assert:
|
||||
that:
|
||||
- 'result.changed'
|
||||
- 'result.deployment.name == "{{ instance_name }}"'
|
||||
- 'result.deployment.status == "Running"'
|
||||
|
||||
# ============================================================
|
||||
- name: test state=absent (expected changed=true)
|
||||
azure:
|
||||
subscription_id: "{{ subscription_id }}"
|
||||
management_cert_path: "{{ cert_path }}"
|
||||
name: "{{ instance_name }}"
|
||||
#storage_account: "{{ storage_account }}"
|
||||
#location: "{{ location }}"
|
||||
wait: yes
|
||||
state: absent
|
||||
register: result
|
Loading…
Reference in a new issue