summaryrefslogtreecommitdiffstats
path: root/test/integration/roles/test_azure/tasks/main.yml
blob: a4d5d7ef59d9fe9f3822ea8cc98cb8d46a5a1ba5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# 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
  environment:
    AZURE_SUBSCRIPTION_ID: ""
    AZURE_CERT_PATH: ""

- 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 with no password or ssh cert
  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 }}"
    location: "{{ location }}"
    state: present
  register: result
  ignore_errors: true

- name: assert failure when called with no password or ssh cert
  assert:
    that:
       - 'result.failed'
       - 'result.msg == "password or ssh_cert_path 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
    wait_timeout: 1200
  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 }}"
    wait: yes
    state: absent
    wait_timeout: 1200
  register: result

- name: assert named deployment changed (expected changed=true)
  assert:
    that:
       - 'result.changed'
       - 'result.deployment.name == "{{ instance_name }}"'